我使用的是自定义键盘布局。我从 /usr/share/X11/xkb/symbols/us 中复制了同一个文件中的“intl”,将其命名为“myintl”,并更改了一些键的第 3 级和第 4 级,以产生我想要的字符。此布局中有一个“include“level3(ralt_switch)”,这意味着 AltGr 充当“ISO_Level3_Shift”。一切都很顺利。
但是,我想为 AltGr + 一些其他键分配快捷方式来启动程序或类似功能。
例如:“AltGr + .”(句号)应运行/切换到 Double Commander。我实际上已经使用 xbindkeys 实现了这一点,但它警告我似乎存在冲突,并且它无法获取所有定义的键。
另一个示例:“AltGr + NumPad0”应将当前日期/时间戳输入到焦点所在的窗口。我在 $HOME/.xbindkeysrc 中添加了以下内容
"xdotool type --clearmodifiers $(date +%Y%m%d)"
m:0x90 + c:90 + release
但它会根据我释放 AltGr 键的时间早晚输入部分 3 级字符 xdotool 也会在终端中自行执行此操作。也许是这个错误https://github.com/jordansissel/xdotool/issues/97. 和xte
我更喜欢使用 Gnome 设置 > 键盘快捷键来分配快捷键,但显然它只能检测布局文件中指定的最终字符,然后只输入该字符而不是执行所需的操作。
无论哪种方式,让 AltGr 充当 3 级 Shift 似乎都会干扰快捷方式制作工具。
那么,我怎样才能让 AltGr 与一些键一起输入 3 级和 4 级字符,并与其他一些键一起充当快捷键组件?
类似,但不能完全回答我的问题:https://stackoverflow.com/questions/48464770/set-up-a-shortcut-keybinding-under-gnu-linux-with-altgr-key-but-autokey-nor-o