Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 防止XKB布局切换与快捷方式_Linux_Keyboard Shortcuts - Fatal编程技术网

Linux 防止XKB布局切换与快捷方式

Linux 防止XKB布局切换与快捷方式,linux,keyboard-shortcuts,Linux,Keyboard Shortcuts,我使用setxkbmap将布局更改快捷键定义为ctrl+shift,就像我习惯的那样。但我有时会遇到一个问题,那就是它与我使用的软件的快捷键(如ctrl+shift+a)冲突。当我按下ctrl+shift+other_按钮时,如何避免更改布局?我将OpenSuse Linux与i3 wm结合使用。如果您想使用ctrl+shift切换布局,实际上没有办法解决这个问题,因为xkb现在在比您使用的应用程序更低的级别上捕获ctrl+shift。我也有同样的问题,只是切换到使用两个CTRL来改变布局。看看

我使用
setxkbmap
将布局更改快捷键定义为ctrl+shift,就像我习惯的那样。但我有时会遇到一个问题,那就是它与我使用的软件的快捷键(如ctrl+shift+a)冲突。当我按下ctrl+shift+other_按钮时,如何避免更改布局?我将OpenSuse Linux与i3 wm结合使用。

如果您想使用ctrl+shift切换布局,实际上没有办法解决这个问题,因为xkb现在在比您使用的应用程序更低的级别上捕获ctrl+shift。我也有同样的问题,只是切换到使用两个CTRL来改变布局。看看

$ 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\u toggle
,但是你有很多选择可以玩,看看你喜欢什么。

我也遇到了类似的问题,并且制定了一个折衷方案,但从公认的答案来看并不明显

我的布局切换最初设置为Alt+Shift 这干扰了我在nano/pico中使用Alt+Shift+}快捷方式缩进的能力

我的折衷方案是将布局切换选项从
grp:alt\u shift\u toggle
更改为
grp:lalt\u lshift\u toggle
。换言之,只需同时按下left Alt和left Shift即可更改布局,例如,(left)Alt+(right)Shift+}可以在pico中产生所需的缩进效果

如果它对任何人都有用,这是我在
.fluxbox/startup
文件中使用的完整行:

setxkbmap -layout "gb,gr,ru" -variant ",,phonetic_winkeys" -option "grp:lalt_lshift_toggle" -model pc105 -rules evdev   # keyboard layout switching

只是带着同样的问题来到这里。唉,我真的希望这不是公认的答案,但它是。。。我想是时候适应不同的组合键来改变布局了(