Ctrl+B 键盘绑定如何工作?

发布于 2024-11-19 04:56:32 字数 108 浏览 3 评论 0原文

无论我使用哪种语言,Word 中的 Ctrl+B 和其他快捷键的工作方式都是相同的 - 这种绑定是如何完成的?用Java可以实现吗?

The Ctrl+B in Word and other shortcuts work the same no matter what language I'm using - how is this binding done? Can it be done in Java?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

风追烟花雨 2024-11-26 04:56:32

如果我理解正确的话,我想知道当您使用不同的语言时,输入 Ctrl+B 会创建不同的键代码吗?在这种情况下,请查看 KeyEvent API。它有 2 个相关方法:getKeyCode() 和 getKeyChar()。

按下按键时调用 getKeyChar() 取决于当前语言。 getKeyCode() 不依赖。它始终返回密钥的代码,而不是与其关联的字母。此外,我发现(至少在我的系统 - Linux Fedora 上)即使当前语言不同,在释放的密钥上调用 getkeyChar() 也会返回英文字符。

以下是在我的系统上安装了 3 种不同的输入语言时按下和释放同一键的结果:英语、俄语和希伯来语。

压制:ф65
发布: 65
按下:65
发布: 65
按下: 65
released: a 65

如您所见,尽管字符不同,但密钥代码始终相同。

If I understand you correctly I wonder that typing Ctrl+B creates different key code when you are using different languages? In this case look into KeyEvent API. It has 2 relevant methods: getKeyCode() and getKeyChar().

getKeyChar() invoked when key is down depends on current language. getKeyCode() does not depend. It always return the code of the key, not the letter associated with it. Moreover I found that (at least on my system - Linux Fedora) getkeyChar() invoked on key released returns the English character even when current language is different.

Here are the results of pressing and releasing of the same key with 3 different input languages installed on my system: English, Russian and Hebrew.

pressed: ф 65
released: a 65
pressed: a 65
released: a 65
pressed: ש 65
released: a 65

As you can see the key code is always the same although the char is different.

怀念你的温柔 2024-11-26 04:56:32

有关其工作原理的说明,请参阅如何使用键绑定在摇摆中。

See How to Use Key Bindings for an explanation of how this works in Swing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文