如何将 CTRL+q 按键映射到 CTRL+c 事件?

如何将 CTRL+q 按键映射到 CTRL+c 事件?

如何将Ctrl+Q 组合键映射到Ctrl+C事件?

我的键盘映射到程序员德沃夏克 (programmer-dvorak),并且我希望将Ctrl+ XCtrl+CCtrl+V 事件分别映射到Ctrl+ 'Ctrl+ QCtrl+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+QCtrl+一样工作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 键盘事件’)

相关内容