我有一台 Thinkpad X230(德式布局,[编辑]运行 Linux[/编辑]),我想以某种方式切换左 Win 键和左 Alt 键,同时不触碰右 Alt 键(AltGr)。
但是,我还没有找到可行的解决方案。我知道超级用户上处理这个问题的问题(如何使用 xmodmap 交换 Alt 和 Windows 键?),但是那里的 xmodmaps 只是给我一个错误:
X 请求失败的错误:BadValue(整数参数超出操作范围)
失败请求的主要操作码:118(X_SetModifierMapping)
失败请求的值:0x17
失败请求的序列号:13
输出流中的当前序列号:13
由于键盘模型不同,我不知道需要哪个 setxkbmap 命令。
到目前为止,我尝试过的(除了上面提到的问题中的 Xmodmaps 之外)是 * “setxkbmap -option altwin:swap_lalt_lwin”,它什么也没做 * 一些 xmodmap 变体(不幸的是我不记得我尝试了哪些组合,但是,我无法让它工作),我使用的大多数命令的最后状态是这样的:
!!清除超级和 Alt
!清除 Mod1
!清除 Mod4
!删除 mod1 = Alt_L
!删除 mod4 = Super_L
!keycode 204 = 无符号 无符号 无符号 无符号
!keycode 205 = 无符号 无符号 无符号 无符号
!keycode 206 = 无符号 无符号 无符号 无符号
!keycode 207 = 无符号 无符号 无符号 无符号
!
!keycode 64 = 超级_L 超级_L 超级_L 超级_L
!keycode 133 = Alt_L Alt_L Alt_L Alt_L
!keysym Alt_L = Super_L
!keysym Super_L = Alt_L
!重新映射超级 & Alt
!添加 mod1 = Super_L
!添加 mod4 = Alt_L
有人有使用 xmodmap 或 setxkbmap 的经验吗?我可以帮忙吗?非常感谢!
提前致谢!
答案1
该解决方案简洁且具有内置功能:
setxkbmap -option altwin:swap_lalt_lwin
(我在 Fedora 27 和 Windowmanager Xmonad 上将它用于我的 Thinkpad X260,它使用 Super_L 键作为 ModMask。)