在mac电脑上,美国国际pc键盘布局中的几个键都是死键,例如 "
, '
和backtick。打字时 "
,mac开始输入法合成- "
以合成模式显示(通常带下划线),并等待进一步输入。如果我使用 a
,然后输入法将完成,我将得到字符 ä
. 有几个这样的死键,例如英国键盘布局将alt+n视为死键 ñ
.
在javaawt应用程序中,是否有任何方法可以禁用此行为,以便只键入原始密钥?e、 g.在美国国际pc键盘布局中,如果我键入“+a,我想接收 "
以及 a
,而不是一个事件 ä
. 在英式键盘布局中,我想键入alt+n+n并接收事件 Alt+n
以及 n
而不是 ñ
.
如果我打电话 Component.enableInputMethods(false)
,则我的事件队列将接收 Alt+n
事件,但如果我接着n,我收到 ñ
.
类似地,如果我使用中文键盘布局,即使在调用 Component.enableInputMethods(false)
.
有没有办法完全禁用输入法处理,只接收键入的键?
对于上下文,我尝试实现类似vim的行为-正常模式编辑需要ascii输入,而插入模式当然会按预期处理输入方法。虽然在正常模式下切换到ascii键盘布局是很理想的,但即使是mac的“”键盘布局也有死键 Alt+n
, Alt+u
, Alt+I
以及 Alt+e
以及 Alt+Backtick
. 告诉用户创建一个自定义的键盘布局像ukulele是不可行的选择。
暂无答案!
目前还没有任何答案,快来回答吧!