web-dev-qa-db-fra.com

Comment changer la présentation du clavier dans Openbox à l'aide de raccourcis clavier?

J'essaie de configurer le commutation de la mise en page du clavier par raccourci clavier dans Openbox de.

$ cat /etc/default/keyboard 
XKBLAYOUT="us,ua,ru"
XKBVARIANT=",winkeys,"
BACKSPACE="guess"
XKBMODEL="pc105"
XKBOPTIONS="grp:alt_shift_toggle,grp:win_space_toggle,grp_led:scroll"

$ cat /etc/bash.bashrc | grep kblayout
source /home/user/.kblayout.sh

$ cat /home/user/.kblayout.sh 
#!/bin/bash
setxkbmap -layout us,ru,ua -option grp:lwin_space_toggle

$ setxkbmap -print -verbose 10
Setting verbose level to 10
locale is C
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from /usr/share/X11/xkb/rules/evdev:
rules:      /usr/share/X11/xkb/rules/evdev
model:      pc105
layout:     us
options:    grp:alt_shift_toggle,grp:lalt_lshift_toggle,grp:alt_shift_toggle,grp:win_space_toggle,grp_led:scroll,grp:alt_shift_toggle,grp_led:scroll
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete+ledscroll(group_lock)
symbols:    pc+us+inet(evdev)+group(win_space_toggle)+group(lalt_lshift_toggle)+group(alt_shift_toggle)
geometry:   pc(pc105)
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete+ledscroll(group_lock)"    };
    xkb_symbols   { include "pc+us+inet(evdev)+group(win_space_toggle)+group(lalt_lshift_toggle)+group(alt_shift_toggle)"   };
    xkb_geometry  { include "pc(pc105)" };
};

$ cat .config/gxkb/gxkb.cfg 
[xkb config]
group_policy=2
default_group=0
never_modify_config=false
model=pc105
layouts=us,ru,ua
variants=
toggle_option=grp:lwin_toggle,lv3:switch,terminate:ctrl_alt_bksp,grp_led:scroll
compose_key_position=

$ cat /etc/X11/xorg.conf
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "us,ru,ua"
        Option "XkbModel" "pc105"
        Option "XkbVariant" "pc105"
        Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
EndSection

Pour la présentation du clavier d'entrée de la fenêtre de bornier pourraient être modifiés avec ces options par Win+Space et Alt+Shift Après avoir exécuté une nouvelle instance de bash. Pour une nouvelle instance de bash _ Cela fonctionne, mais pas pour Bash dans un terminal juste ouvert. setxkbmap -layout ru ou tout ce qui fonctionne aussi dans le terminal. Dans la session de terminal actuel sans exécuter une nouvelle instance de Bash i Exécuter setxkbmap commande ou source un script avec cette commande. Mais rien d'autre ne fonctionne dans les applications GUI OpenBox.

J'ai installé tint2 Panneau pour pouvoir changer de disposition du clavier par la souris cliquant sur la souris.

Raccourcis clavier dans Préférences Ibus -> Raccourcis clavier Ne changez pas vraiment le clavier disposition. Essayé différentes combinaisons de clés:

enter image description here

Les mêmes préférences fonctionnent en quelque sorte dans Icewm, mais cela fonctionne étrangement là-bas (lorsque je tape dans une mise en page différente non-anglais, elle saisit souvent des lettres anglaises au lieu de lettres cyrilliques. Il nécessite de retirer ces lettres quelques fois que des lettres deviennent cyrilliques). Je n'utilise pas souvent Cyrillic et je pouvais me connecter à l'unité pour la commutation normale du clavier, mais je veux comprendre comment la configurer correctement dans Openbox.

1
Gryu

Openbox recherche des configurations définies par l'utilisateur à ~/.config/openbox. Si rien n'était là, il cherche des fichiers de configuration par défaut à: /etc/xdg/openbox/.

Créez un nouvel utilisateur puis effectuez une copie des fichiers de configuration par défaut dans votre répertoire utilisateur afin que nous puissions les modifier:

mkdir ~/.config && cp -r /etc/xdg/openbox ~/.config

Ajoutez ensuite cette ligne:

setxkbmap -layout "us,ru" -option "grp:alt_shift_toggle" &

À

~/.config/openbox/autostart

Maintenant, vous pouvez changer la mise en page en utilisant Alt+Shift après une déconnexion et une reconnexion.

1
Ravexina