如何将Ctrl+Q 组合键映射到Ctrl+C事件?
我的键盘映射到程序员德沃夏克 (programmer-dvorak),并且我希望将Ctrl+ X、Ctrl+C 和Ctrl+V 事件分别映射到Ctrl+ '、Ctrl+ Q、Ctrl+J按键。
Mac OSX 有一个东西叫德沃夏克键盘这样做。
您可能还想尝试 Dvorak - Qwerty,它使用 Dvorak 进行输入,但使用 Qwerty 进行键盘快捷键,如 ⌘(命令)A。如果您已经记住了键盘上常用的命令组合,如 ⌘X、C、V(用于剪切、复制、粘贴)等,这会很方便,
到目前为止,我已经尝试将 xbindkeys 与 xdotool 结合使用,但没有成功。
#Dvorak Cut
"xdotool key --delay 0 --clearmodifiers ctrl+x"
m:0x4 + c:52
Control + apostrophe
#Dvorak Copy
"xdotool key --delay 0 --clearmodifiers ctrl+c"
m:0x4 + c:53
Control + q
#Dvorak Paste
"xdotool key --delay 0 --clearmodifiers ctrl+v"
m:0x4 + c:54
Control + j
我还尝试通过 XKB 尝试以下条目。
// Ctrl+' for Cut
interpret apostrophe + Ctrl {action = Redirect(Key=<AB05>, modifiers=Control);};
// Ctrl+q for Copy
interpret q + Ctrl {action = Redirect(Key=<AD08>, modifiers=Control);};
// Ctrl+j for Paste
interpret j + Ctrl {action = Redirect(Key=<AB09>, modifiers=Control);};
但这也不起作用。
答案1
您可以使用autokey-gtk
。如果您将 Autokey 设置为在登录时运行,它将在后台运行并监视来自键盘和鼠标的输入。
例子:您表示想让Ctrl+Q像Ctrl+一样工作C。如果您要求在按下+时autokey-gtk
“按下” Ctrl+ 。CCtrlQ
要安装,autokey-gtk
请在终端中发出以下命令
sudo apt-get install autokey-gtk
安装后,您可以通过 Dash 或auto-gtk
在终端中输入来访问它。要设置上面所述的组合键,请执行以下操作:
步骤1
Run autokey-gtk
第2步
从以下位置创建新的顶级文件夹文件->创造->新的顶层文件夹
步骤3
选择文件夹并从中创建新脚本文件->创造->新脚本
步骤4
在里面# 输入脚本代码框, 进入"keyboard.send_keys(shortcut you desire to imitate)"
例子:
1. keyboard.send_keys("<ctrl>+c")
2. keyboard.send_keys("<ctrl>+v")
3. keyboard.send_keys("<ctrl>+x")
笔记:对要添加的每个热键重复步骤 3-4
步骤5
对于您编写的每个脚本,单击第二个“设置按钮”单击“热键”旁边的“输入您要用来模仿的组合键”。
在您的例子中,您可以在文本框中keyboard.send_keys("<ctrl>+c") script
输入,然后单击Qclick on the Control button
好的。
**对每个脚本都执行此操作,当然一定要修改你的热键。*
第 6 步
Click on *Edit* -> *Preferences*
选中旁边的复选框Automatically start Autokey at Login
这应该可以实现你的要求:)
答案2
"xdotool key --delay 0 --clearmodifiers ctrl+c"
Control + q + Release
来源:http://www.ict.griffith.edu.au/anthony/info/X/event_handling.txt (搜索‘生成 X 键盘事件’)