我正在寻找有关重新映射键的一般说明。
有人能告诉我如何重新映射F9到PrtScr和F10按钮ScrollLock吗?
我浏览过这里的每一个帖子,但没有任何建议奏效。
我正在使用瑞典键盘设置和 Ubuntu 12.04。
答案1
这个答案主要是根据前三个步骤的信息得出的询问 Ubuntu 答案 还有这个 Ubuntu 论坛线它所链接/引用的。这其他 Ask Ubuntu 答案非常有帮助。所以所有功劳都归功于 NES、llazarte、bodhi.zazen 和 Argusvision。
只需交换两个键的功能:从终端运行xev
,然后按下F9,将得到类似的结果
对 执行相同的操作PrtSc没有给xev
我任何输出(或者我找不到“KeyPress 事件”),因此我使用 Argusvision 的建议,在所有设置中使用自定义快捷键,但这样做是为了通过重新分配为+来禁用PrtSc屏幕截图按钮,然后尝试再次按下,这给了我键码 107,就像这样ShiftAltPrtScxev
对所有四个键重复此过程,我得到了
- F9= 键码 75
- PrtSc= 键码 107,操作打印
- F10= 键码 76
- Scroll Lock= 键码 127,操作暂停
要改变键的功能,我们需要知道按下的新键的键码以及该功能的旧键或现有键的“操作”。
现在,我们已经有了识别按键的按键代码,现在我们可以通过使用按键来让系统执行我们想要的操作xmodmap
,并且我们知道F9有“按键代码 75”并且PrtSc有“打印”操作,我们需要做的就是
xmodmap -e "keycode 75 = Print"
使F9按键的行为就像PrtSc按键被按下一样。即,键码保持不变,但按下F9按键会有不同的结果。
使用xev
与Scroll Lock也给了
这确认了该键的“动作”Scroll Lock是“暂停”,因此将该F10动作视为Scroll Lock尝试
xmodmap -e "keycode 76 = Pause"
应该会产生预期的结果。
直到你注销或关机等,所以我们在确认命令后要做什么
xmodmap -e "keycode 75 = Print"
xmodmap -e "keycode 76 = Pause"
给出预期结果的方法是找出SysRec哪些按钮被修改了PrtSc,然后交换其他按钮,这样我们就不会有多个相同按键动作的实例。添加
xmodmap -e "keycode 107 mod1 = F9 Sys_Req"
应该再次交换F9到PrtSc保存修改后SysReq(Alt+ PrtSc)的位置,我们可以使用xev
它来帮助验证这一点。
交换Scroll Lock和F10按钮更容易
xmodmap -e "keycode 127 = F10"
确保运行时
xmodmap -e "keycode 75 = Print"
xmodmap -e "keycode 107 mod1 = F9 Sys_Req"
xmodmap -e "keycode 76 = Pause"
xmodmap -e "keycode 127 = F10"
确实做了预期的事情,剩下要做的就是在启动时完成这件事。为此,请运行
xmodmap -pke|egrep -e '(F9|Print)'
这给了我
我们只对键码 75 和 107 感兴趣。对
xmodmap -pke|egrep -e '(F10|Pause)'
这给了我
我们只对键代码 76 和 127 感兴趣。
使用您最喜欢的文本编辑器创建一个新的文本文档,复制并粘贴相关信息
keycode 75 = Print NoSymbol Print
keycode 107 = F9 Sys_Req F9 Sys_Req
keycode 76 = Pause NoSymbol Pause
keycode 127 = F10 NoSymbol F10
将文件命名为.Xmodmap
并将其保存在您的主目录中,您只需在重新启动后登录即可运行更改。
答案2
对于较新版本的 Ubuntu,Xmodmap 可以工作,但重启后,您会丢失键映射!相反,我所做的是编辑 xbd 文件 (/usr/share/X11/xkb/符号/pc)。
在这种情况下,您需要添加以下条目:
key <FK09> { [Print] };
key <FK10> { [Scroll_Lock] };
然后清除 xkb 设置缓存:
rm -rf /var/lib/xkb/*
重启后您的按键就被正确映射了。
答案3
转到System Settings > keyboard > Custom Shortcuts
。在这里,您可以为任何键或键组分配命令。单击添加 (+) 按钮。在弹出的窗口中,名称 = Print Screen
;命令 = gnome-screenshot
。创建后,单击名称右侧显示“已禁用”的行。这会将其更改为“新加速器”只需按 F9 即可。
仍在寻找滚动锁。
经过一番寻找,我找到了解决滚动锁定问题的答案。我从找到的内容开始寻找这个答案。这里。 您应该能够使用
xmodmap
终端将其应用于任何一组键。编辑:您还可以阅读有关 Xmodmap 的更多信息这里
看一下 的输出xmodmap -pke | grep F10
。
我的是:
keycode 76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10
这意味着我的F10密钥是keycode 76
。由于您使用的布局不同,您的密钥可能不同。
所以我应该能够F10使用以下命令分配滚动锁定:
xmodmap -e "keycode 76 = Scroll_Lock"
您需要输入找到的“密钥代码”你的F10 键。
您还可以查看man xmodmap
和xmodmap --help
查找其他选项。
例如,xmodmap -pke
将您的键映射表列为表达式。这样,您也可以找到分配给其他键的表达式。