创建快捷方式时,左右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
布局:
答案1
免责声明一:KDE-Plasma 提供的重新映射键盘按键的可能性非常有限。最多,关于组合键,用任何 Ctrl 或元键交换左或右 Alt 或访问 >2 个级别。
这些可用如下系统设置 > 输入设备 > 键盘 > 高级标记后的页面配置选项复选框
为了实现更多功能,我建议(并在我的 KDE-Plasma-5.25.5 下成功测试,但这应该与桌面无关,假设 X11(顺便说一下 evdev)用作后端), 在由黑客攻击xkb 映射以便交换键码 <-> 符号关联。
免责声明B:虽然这个答案确实解决了你的问题如标题所示,它不太可能对您有帮助(正如您的问题中所建议的那样(使用whatever-alt+键)) 将 L 或 R 替代键映射到除任何有效键之外的任何其他键撰写- 关键是控制键,替代,转移和元。
因此,如果您真正想要的是将 (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)=>
只需交换这些值,例如我在系统上所做的操作,更改:
<RALT> = 108
...
<FK13> = 191
为了
<RALT> = 191
...
<FK13> = 108
这指示 evdev理解键码 108 与第 13 个功能键关联,而不是与右 Alt 键关联。 (当然,由于第 13 个功能键并不真正存在,重新分配原始 RALT 分配只是为了......美观......:-)
现在保存并退出。
3/更换地图(强制执行新配置)
只需点火xkbcomp -w 0 xkbmap $DISPLAY
并测试即可!
在您的具体情况下,通过 KDE-Plasma 系统设置 > 快捷方式分配一些快捷方式,现在应该接受右 Alt 键,指代除 ALT 键之外的任何内容。
当然,它是不可组合的,参见免责声明B。
4/ 在重新启动时强制执行此重新映射
我不(在这里和现在)开发这个重要的段落(致力于与 Plasma DE 的集成),因为我不确定这个答案是否会满足 OP 的需求。
请随时在评论中发表您的意见,我是 WILCO!