如何使双引号表现为死键,除非它与自身组合使用

如何使双引号表现为死键,除非它与自身组合使用

当我使用键盘时,我期望出现以下行为(并且我依赖这些行为):

  • 新闻稿"":应该记住该钥匙是死钥匙
  • 按下",释放",按下<space>,释放<space>:应打印"
  • 按下",释放",按下",释放":应打印""

我知道这种行为是由键盘布局定义的,所以我做了一些研究。

在键盘布局“英语 - 美国,带死键”上,我获得了我喜欢的前 2 种行为,但最后一种行为没有实现,¨当我尝试时,我得到了奇怪的字符。

在键盘布局“英语 - 美国,带有 AltGr 死键”上,我只得到了最后一种行为,但是该键不再表现为死键。

我如何修改键盘布局以满足我使用键盘时期望的 3 种行为?

答案1

在尝试了不同的方法解决这个问题后,我最终找到了一个解决方案聊天中帮助解决此问题

问题的根本原因实际上是由于 Linux 默认情况下没有dead_apostrophe和 a dead_quotedbl,因此默认的“美国死键盘布局”要么映射了 ,dead_acute要么将非死键映射到"

这意味着这个问题无法通过制作自己的自定义键盘布局来解决,正如我在聊天中所建议的那样。

经过进一步的研究和学习新的关键词进行搜索,我发现Unix & Linux StackExchange 上的此解决方案,帮助我解决了这个问题。

我按照该答案中列出的以下步骤进行操作:

  1. sudo apt install uim
  2. echo 'export GTK_IM_MODULE="uim"' >> ~/.profile
  3. echo 'export QT_IM_MODULE="uim"' >> ~/.profile
  4. curl 'https://gist.githubusercontent.com/guiambros/b773ee85746e06454596/raw/0ea6d7f7cf9a6ff38b4cafde24dd43852e46d5e3/.XCompose' > ~/.XCompose
  5. 将我的键盘布局配置为“英语(美国 - 国际带死键)”
  6. 重新启动 Ubuntu(根据评论,注销并登录就足够了)

经过这些步骤,我成功地实现了我对键盘的以下期望:

  • 新闻稿"":应该记住该钥匙是死钥匙
  • 按下",释放",按下<space>,释放<space>:应打印"
  • 按下",释放",按下",释放":应打印""

相关内容