我正在尝试设置快捷键,以键入常见的对话。我可以在终端或icewm命令栏(甚至从gmrun)中使用xdotool类型:
xdotool key Aacute
但是以下键映射(在icewm文件中)不起作用:
key "Ctrl+Alt+a" xdotool key Aacute
key "Ctrl+Alt+a" xdotool --delay 1000 key Aacute相反,当我键入快捷方式(如果在终端或文本编辑器中)时,我只看到光标闪烁一次,但没有发生任何其他情况。下面显示了一个弹出窗口,因此键代码本身是正确的:
key "Ctrl+Alt+a" zenity --info --text="shortcut works"是否有人有办法注册键绑定,以便实际在活动应用程序中键入对话框?
发布于 2019-11-14 08:47:13
我无法使我原来的解决方案工作,所以我改变了键盘映射。默认的美国键盘映射没有我所需要的对话,但国际版本有。试试看:
setxkbmap -layout 'us(intl)'
但是,在默认情况下,国际化版本对某些键使用compose。例如,“字符不再立即响应”。因此,我选择了基于美国键盘创建自己的键盘映射。
我创建了一个新文件:/usr/share/X11/xkb/symbols/erik
partial default alphanumeric_keys
xkb_symbols "basic" {
include "us"
include "eurosign(5)"
key <AC01> { [ a, A, aacute, Aacute ] };
key <AD03> { [ e, E, eacute, Eacute ] };
key <AD08> { [ i, I, iacute, Iacute ] };
key <AD09> { [ o, O, oacute, Oacute ] };
key <AD07> { [ u, U, uacute, Uacute ] };
key <RALT> { type[Group1]="TWO_LEVEL", [ ISO_Level3_Shift, Multi_key ] };
modifier_map Mod5 { <RALT> };
};要让xkb获取更改:
sudo dpkg-reconfigure xkb-data
要尝试键盘映射:
setxkbmap -layout erik
现在,alt_gr + 阿伊努应该键入亚努乌。
通过使用icewm启动文件在启动时调用上面的命令,我做出了永久的更改。我认为应该可以使用您的发行版键盘开关来选择布局,但我还没有对此进行测试。请随意命名文件的其他东西,除非你想给我巨大的荣誉命名你的键盘映射以我的名字。请确保避免使用2个字母代码,因为所有默认的国家映射都是这样命名的。
注:
您可以检查符号目录中的其他映射文件以获取示例。
在这里可以找到一些用于理解文件格式的资源:
发布于 2021-02-16 02:39:50
使用setxkbmap或xmodmap似乎是正确的做法,但是FWIW和FTR在我遇到这个问题后发现下面的方法对我有用。我希望这能帮助其他想要使用xdotool的人。
我有xdotool模仿这些键,因为我的键盘上没有这些键。注意使用&在后台运行命令,这样IceWM就可以从处理热键返回,并避免干扰xdotool。
200毫秒是我能使用的最短的延迟,而且仍然有可靠的工作。我不确定--clearmodifiers对您的用例是否有意义。
key "Ctrl+Up" xdotool sleep 0.2 key --clearmodifiers Page_Up &
key "Ctrl+Down" xdotool sleep 0.2 key --clearmodifiers Page_Down &
key "Ctrl+Shift+Up" xdotool sleep 0.2 key --clearmodifiers Home &
key "Ctrl+Shift+Down" xdotool sleep 0.2 key --clearmodifiers End &还请注意,按住这些键并不会导致预期的重复行为(因为IceWM热键并不是最佳选择),但就我的目的而言,这是很好的。
https://askubuntu.com/questions/1187683
复制相似问题