创建快捷方式时,左右Alt键映射到相同的引用。
有没有办法为两者单独创建快捷方式,以便RAlt+Key1和LAlt+Key1 可以指向不同的行为?
输出来自showkey
:
press any key (program terminates 10s after last keypress)...
keycode 28 release
keycode 56 press <-- Left ALT key
keycode 56 release
keycode 100 press <-- Right ALT key
keycode 100 release
keycode 29 press
^Ccaught signal 2, cleaning up...
服务器:X11
布局:
免责声明 A: KDE-Plasma 提供的重新映射键盘按键的可能性非常有限。最多,关于组合键,将左或右 Alt 与任何 Ctrl 或元键交换或访问 >2 个级别。标记“配置选项”复选框
后,可以在“系统设置”>“输入设备”>“键盘”>“高级”页面中使用这些选项
为了实现更多功能,我的建议(并在我的 KDE-Plasma-5.25.5 下成功测试,但是无论桌面如何,只要X11(顺便说一句 evdev)用作后端),包括破解xkb 映射以便交换键码 <-> 符号关联。
免责声明 B:虽然这个答案确实解决了标题中所述的问题,但它不太可能帮助您(如您的问题中所建议的那样(使用whatever-alt +key))将 L 或 R alt 键映射到除任何有效的compose键,即ctrl、alt、shift和meta。
因此,如果您真正想要的是将 (L-or-R)_ALT 键映射到任何组合键,则转到免责声明 A;否则继续:
1/转储当前的键盘配置
只需
xkbcomp -xkb $DISPLAY xkbmap
从 Konsole 或任何 DE 最喜欢的 xterm 触发(cwd 是任何用户可写目录)即可实现此目的。2/ 编辑该 xkbmap 文件以进行适当的更改(假设 R_ALT 是要更改的文件,以防发生其他情况...仅...适应其他情况。)
2.1:找到指定
<RALT> =
与右侧 Alt 键关联的键码的行(在我的特定情况下最初设置为 108)2.2:跳转到...任何其他所需的符号关联。
不管怎样...好吧...不完全是那样;-) 因为你的 DE 不太可能接受任何快捷键定义。(KDE 尤其不这样做)
其他地方未使用(但现有)键盘键的某些键码可能很适合目的,但谁能告诉您(或 DE)将来想要分配给该键的内容?
理想情况下,我建议(并成功实验)是找到一些已经定义但物理上不存在的功能键(这样它就无法被激活)
,在我的配置中,这是...第13个功能键它实际上并不存在于我的键盘上,但实际上与某些键码相关联,(在我的例子中是 191)=>
只需交换这些值,例如我在系统上所做的操作,更改:
为了
这指示 evdev 将键码 108理解为与第 13 个功能键而不是右 Alt 键相关联。(当然,由于第 13 个功能键并不真正存在,因此重新分配原始 RALT 分配只是为了......美观......:-)
现在保存并退出。
3/更换地图(强制执行新配置)
只需点火
xkbcomp -w 0 xkbmap $DISPLAY
并测试即可!在您的具体情况下,通过 KDE-Plasma 系统设置 > 快捷方式分配一些快捷方式,现在应该接受右 Alt 键,指代除 ALT 键之外的任何内容。
当然,它是不可组合的,参见免责声明 B。
4/ 在重新启动时强制执行此重新映射
我不(在这里和现在)开发这个重要的段落(致力于与 Plasma DE 的集成),因为我不确定这个答案是否会满足 OP 的需求。
请随时在评论中发表您的意见,我是 WILCO!