我使用setxkbmap
将布局更改快捷方式定义为 ctrl + shift ,就像我习惯的那样。但是我有时会遇到一个问题,它与我使用的软件的快捷方式发生冲突,比如 ctrl + shift + A 。当我按 ctrl + shift + other_button时,如何避免更改布局?我使用OpenSuse Linux和i3 wm。
答案 0 :(得分:1)
如果您想使用ctrl + shift来切换布局,那么实际上还没有办法实现这一点,因为现在ctrl + shift会被xkb捕获,其级别低于您正在使用的应用程序。我有同样的问题,只是切换到使用两个ctrls来改变布局。看看
$ grep 'grp:' /usr/share/X11/xkb/rules/base.lst
grp:switch Right Alt (while pressed)
grp:lswitch Left Alt (while pressed)
grp:lwin_switch Left Win (while pressed)
grp:rwin_switch Right Win (while pressed)
grp:win_switch Any Win key (while pressed)
grp:caps_switch Caps Lock (while pressed), Alt+Caps Lock does the original capslock action
grp:rctrl_switch Right Ctrl (while pressed)
grp:toggle Right Alt
grp:lalt_toggle Left Alt
grp:caps_toggle Caps Lock
grp:shift_caps_toggle Shift+Caps Lock
grp:shift_caps_switch Caps Lock (to first layout), Shift+Caps Lock (to last layout)
grp:win_menu_switch Left Win (to first layout), Right Win/Menu (to last layout)
grp:lctrl_rctrl_switch Left Ctrl (to first layout), Right Ctrl (to last layout)
grp:alt_caps_toggle Alt+Caps Lock
grp:shifts_toggle Both Shift keys together
grp:alts_toggle Both Alt keys together
grp:ctrls_toggle Both Ctrl keys together
grp:ctrl_shift_toggle Ctrl+Shift
grp:lctrl_lshift_toggle Left Ctrl+Left Shift
grp:rctrl_rshift_toggle Right Ctrl+Right Shift
grp:ctrl_alt_toggle Alt+Ctrl
grp:alt_shift_toggle Alt+Shift
grp:lalt_lshift_toggle Left Alt+Left Shift
grp:alt_space_toggle Alt+Space
grp:menu_toggle Menu
grp:lwin_toggle Left Win
grp:win_space_toggle Win Key+Space
grp:rwin_toggle Right Win
grp:lshift_toggle Left Shift
grp:rshift_toggle Right Shift
grp:lctrl_toggle Left Ctrl
grp:rctrl_toggle Right Ctrl
grp:sclk_toggle Scroll Lock
grp:lctrl_lwin_rctrl_menu LeftCtrl+LeftWin (to first layout), RightCtrl+Menu (to second layout)
grp:lctrl_lwin_toggle LeftCtrl+LeftWin
这些是您可以用来更改布局的所有不同组合键。我使用grp:ctrls_toggle
,但你有很多选择可以玩,看看你喜欢什么。
答案 1 :(得分:0)
我遇到了类似的问题,并且做出了妥协,从接受的答案中并不能立即看出这种妥协。
我的布局切换最初设置为 Alt + Shift 这干扰了我使用 Alt + Shift + } 快捷方式缩进nano / pico的能力。
我的折衷办法是将布局切换选项从grp:alt_shift_toggle
更改为grp:lalt_lshift_toggle
。换句话说,仅同时按下 left Alt 和 left Shift 可以更改布局,例如(左)Alt + (右)Shift + } 可自由产生微微的所需压痕效果。
万一它对任何人都有用,这就是我在.fluxbox/startup
文件中使用的完整行:
setxkbmap -layout "gb,gr,ru" -variant ",,phonetic_winkeys" -option "grp:lalt_lshift_toggle" -model pc105 -rules evdev # keyboard layout switching