keyboard - Dyalog APL 劫持 Windows 密钥并且不将其归还(Fedora 32/Gnome、免费许可证、Kitty)
问题描述
启动 Dyalog 时,它会直接将 Windows 键映射为 APL 符号键。但是,当我离开 Dyalog 时⎕OFF
,它不会以键盘的正常状态返回。我的大多数 WM 键绑定都涉及 Win 键,除了重新启动计算机之外,我没有找到任何其他解决方案。
是否可以覆盖 Dyalog APL 密钥,使其不会自动转换 APL 密钥中的 Win 密钥?
我打算使用一个setxkbmap
命令来控制它。
谢谢。
解决方案
如果你打电话dyalog -nokbd
,那么键盘设置将被跳过。当然,您必须自己处理键盘输入(有关详细信息,请参阅APL Wiki)。
或者,您可以创建一个小脚本,在 APL 终止时恢复您的键盘,如下所示:
OLDLAYOUT=$(setxkbmap -query | sed -n 's/^layout://p')
OLDVARIANT=$(setxkbmap -query | sed -n 's/^variant://p')
OLDOPTION=$(setxkbmap -query | sed -n 's/^options://p')
dyalog
OLDLAYOUT=$(echo $OLDLAYOUT | sed 's/^$/,/')
OLDVARIANT=$(echo $OLDVARIANT | sed 's/^$/,/')
setxkbmap -layout $OLDLAYOUT -variant $OLDVARIANT -option -option $OLDOPTION
推荐阅读
- c - 如何将.so文件导入eclipse c项目
- javascript - 有什么条件吗?将反应组件导入特定文件
- reactjs - 反应 - 如何过滤地图内的数组?
- java - 如何使用 Java PDFBox 更改 PDF 文档中特定字符串的字体颜色
- regex - 使用计算字段/正则表达式从 URL 中删除不同的域名
- .htaccess - 如何在网址栏中隐藏文件夹
- flutter - Flutter - InputDatePickerFormField
- sql - 如何计算 QuestDB 中最后 x 分钟的数据峰值
- c++ - 如何将指针传递给在 C++ 中将参数作为引用传递的函数
- flutter - 在点击时更改 TextField 的边框颜色 - Flutter