我有这个xmodmap
命令输出:
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Caps_Lock (0x42), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Run Code Online (Sandbox Code Playgroud)
所以我想知道这里的超级钥匙是什么?问题是,当我尝试映射超级关键,在这里我想mod4
作为windows button left
一个组合使用钥匙sxhkd
守护进程,它似乎并没有工作,例如,地图打开firefox
,没有效果。
编辑:我试图使用windows left button
键盘上的快捷地图使用一些命令sxhkd
在ArchLinux的守护进程,在意见中讨论,即使我有keycod 133 mod4 = Super_L
在.Xmodmap
使用mod4
的.config/sxhkd/sxhkdrc
映射例如以打开Firefox:
mod4 + f
firefox
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用,按下windows lef button
并f
没有调用 Firefox 或我,只需ffffff
在终端中打印出系列。
小智 6
回答您的第一个问题“我想知道这里的超级密钥是什么”:xmodmap
无法说出密钥代码是什么,您必须使用命令xev
,查看xev man以获取更多信息。
xev
从终端调用,然后单击“超级键”,然后检查终端中的输出信息。它会是这样的:
KeyRelease event, serial 37, synthetic NO, window 0x4000001,
root 0x75, subw 0x0, time 2014984514, (70,-18), root:(82,60),
state 0x50, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Run Code Online (Sandbox Code Playgroud)
xev
往往会产生大量输出,尤其是当您将鼠标移到终端窗口上时。您可能需要向后滚动一段时间才能找到所需的输出。在前面的输出中,我们看到 super_L 的键码为 115。
要检查键盘映射,该实用程序xmodmap
可用于该目的。xmodmap
从终端调用,这将打印类似于您的问题中提供的表格的虚拟或抽象修饰符(或 mod)。
教程:
在表中提供了 int eh 问题文本,似乎mod3
没有使用。Windows 超级键已映射,mod4
而 Hyper_R(或 F8)根本未映射。
假设我们想映射Hyper_R
到mod3
. 我们执行以下操作:
xev
从终端呼叫>> 按Hyper_R
。这将显示以下内容:
KeyRelease 事件,serial 37,合成 NO,window 0x4000001,root 0x75,subw 0x0,时间 2188213888,(74,-12),root:(687,178),state 0x10,keycode 74 (keysym 0xffc5,same_XLStringup)给出 0 个字节:XFilterEvent 返回:False
打开gedit
并输入以下内容:
清除 mod3 键码 74 = Hyper_R 添加 mod3 =Hyper_R
将此信息作为隐藏文件保存在您的主目录中。命名文件.Xmodmap
。
xmodmap
。您必须看到 mod3 映射的 Hyper_R,等等以用于任何其他映射目的。对于更复杂的映射目的,您可能会认为其他一些工具可能更有帮助,请参见此处 记住:
xmodmap
无法设置一个键来键入组合键,例如CTRL+W
xmodmap
无法设置运行脚本的键。
xmodmap
键不能根据当前应用程序更改键。
归档时间: |
|
查看次数: |
4187 次 |
最近记录: |