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

Fer*_*big 14 keyboard-layout

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

  • 按下"、松开":应记住该键为死键
  • 按下",松开",按下<space>,松开<space>:应该打印"
  • 按下",松开",按下",松开":应该打印""

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

在键盘布局“English - US with dead keys”上,我得到了我喜欢的前两种行为,但最后一种行为没有得到满足,¨当我尝试这样做时,我得到了奇怪的字符。

在键盘布局“英语 - 美国与 AltGr 死键”上,我只得到最后一个行为,但键不再表现为死键。

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

Fer*_*big 12

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

问题的根本原因其实是因为Linux默认没有andead_apostrophe和a dead_quotedbl,所以默认的“us dead keyboard layout”要么映射了dead_acutea,要么映射了非dead key "

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

经过进一步的研究和学习新关键字的时间,我在 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>:应该打印"
  • 按下",松开",按下",松开":应该打印""

  • 退出会话并重新登录应该足以让对用户配置的更改生效。无需重新启动。 (4认同)