Ali*_*ius 13 xorg debian keyboard x11 xmodmap
我正在尝试重新映射我的键盘以使 emacs 可用。我的人体工学键盘将它的单个 Control 键放在一个孤立的 4 键岛式左侧。
操作系统是 Debian 挤压。
这是我试图提供给的行xmodmap
,我将它们放入文件 ~/.Xmodmap 中:
清除控制 清除 Mod1 !Alt 键在我的键盘上标有“选项”, !使用 xev 显示它们分别发送 Alt_L 和 Alt_R 键符 键符 Alt_L = Control_L 键符 Alt_R = Control_R !Super_L 和 Super_R 键是 Windows 键 键符 Super_L = Alt_L 键符 Super_R = Alt_R 添加 Control = Control_L Control_R 添加 Mod1 = Alt_L Alt_R
我的目标是让我的 Option(又名Alt)键表现得像 Control 键,并使我的 Windows(又名 Super)键表现得像Alt.
以下是 xev 为相关键输出的键码和键码。请注意,我的键盘(一款 Goldtouch 人体工学键盘)只有一个控制键。
键码 37(键符 0xffe3,Control_L) 键码 64(键符 0xffe9,Alt_L) 键码 133(键符 0xffeb,Super_L) 键码 134(键符 0xffec,Super_R) 键码 108(键符 0xffea,Alt_R)
这是 xev 在运行时显示的内容 xmodmap .Xmodmap
MappingNotify 事件,串行 34,合成 NO,窗口 0x0, 请求 MappingKeyboard,first_keycode 204,计数 1 MappingNotify 事件,串行 34,合成 NO,窗口 0x0, 请求 MappingKeyboard,first_keycode 64,计数 1 MappingNotify 事件,串行 34,合成 NO,窗口 0x0, 请求 MappingKeyboard,first_keycode 108,计数 1 MappingNotify 事件,串行 34,合成 NO,窗口 0x0, 请求 MappingKeyboard,first_keycode 206,计数 1 MappingNotify 事件,串行 34,合成 NO,窗口 0x0, 请求 MappingKeyboard,first_keycode 133,计数 1 MappingNotify 事件,串行 34,合成 NO,窗口 0x0, 请求 MappingKeyboard,first_keycode 134,计数 1
这是返回的错误xmodmap
:
X 请求失败错误:BadValue(整数参数超出操作范围) 失败请求的主要操作码:118 (X_SetModifierMapping) 失败请求中的值:0x17 失败请求序号:17 输出流中的当前序列号:17
关于如何解决这个问题的任何建议?
查看 Giles 链接的解决方法,这对我有用:
clear Mod1
clear Mod4
keycode 204 = NoSymbol NoSymbol NoSymbol NoSymbol
keycode 206 = NoSymbol NoSymbol NoSymbol NoSymbol
keycode 64 = Control_L Control_L Control_L Control_L
keycode 133 = Alt_L Alt_L Alt_L Alt_L
keycode 134 = Alt_R Alt_R Alt_R Alt_R
keycode 108 = Control_R Control_R Control_R Control_R
add Control = Control_L Control_R
add Mod1 = Alt_L Alt_R
Run Code Online (Sandbox Code Playgroud)
我的 Option 键现在功能类似于 Control 键,而我的 Windows 键功能类似于 Alt 键。
这已经被报告为Debian 错误 #564327、Debian 错误 #565279、Ubuntu 错误 #524774和FreeDesktop 错误 20145。FreeDesktop 错误讨论附带了一个源补丁。在 Ubuntu 错误讨论中有几个变通方法建议,特别是一个.Xmodmap
变通方法。