首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测用户键盘是否在Java中的AZERTY?

问如何检测用户键盘是否在Java中的AZERTY?
EN

Stack Overflow用户
提问于 2013-06-09 21:04:56
回答 1查看 2.3K关注 0票数 9

目前,JavaFX中存在一个bug (https://javafx-jira.kenai.com/browse/RT-30669,需要免费注册),这使得如果您使用的是一个and键盘布局,并在其中指定了一个带有Z的加速器,那么它只能在输入W时才会触发。我需要解决这个bug,因为我现在需要发布我的产品。

所以我想检测Mac+Azerty,如果是的话,请将加速器改为W。我知道如何检测Mac,我知道如何检测键盘的区域设置(使用InputContext#getLocale()),但是如何知道当前的区域设置是否有一个空闲的键盘布局呢?我是否必须检查一个硬编码列表的已知地区,使用一个阿兹蒂布局?如果是的话,我在哪里可以找到这样的名单呢?

EN

回答 1

Stack Overflow用户

发布于 2013-06-09 21:12:57

不要“对照已知地点的硬编码列表”,因为如果他们在美国购买电脑,并在魁北克使用法语界面,那么许多人可能会有一个不符合当地环境的法语环境。我个人最差,因为我有德沃夏克的布局.我只想想象那里有多少种基于西班牙语的布局.

我最好的、更便于移植的建议是,不要尝试检测难以检测到的东西,而是给出一些“默认”的键盘映射(例如)。qwerty键盘适用于大多数用户,并创建一个配置面板,使用户能够通过键入新键来更改应用程序的键映射(如果他们不喜欢默认值)。

编辑:

啊..。这确实是另一个问题..。也许你可以为macosx上的所有非美国键盘设置一个组合框的首选项,该键盘上有一个带有修改符的键,可以更改吗?

为了更直截了当地回答你的问题,下面是我在谷歌上发现的一些结果:

两者都通向java.awt.im.InputContext

代码语言:javascript
复制
InputContext context = InputContext.getInstance();  
System.out.println(context.getLocale().toString());  

我从来没有在java中尝试过这一点,所以我对你的帮助莫过于我的google-fu,但我真的希望这会有所帮助:-)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17014175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档