当前位置: 首页 > 知识库问答 >
问题:

如何区分JavaFX中的左/右shift、ctrl、alt和enter键?

罗安宁
2023-03-14

JavaFX8控制器如何判断ShiftCtrlAltEnter键位于键盘的左边还是右边?

尝试使用JNativeHook(他们最近移动了),它几乎可以作为一个解决方案,但不能识别一些键,时间不精确,实现起来有点笨拙,尤其是因为我不能为所有平台编译本机代码。许可条款也有点混乱(稳定版本的GPL,在我的情况下不是一个选项,可能会转向LGPL...)。

共有1个答案

齐飞星
2023-03-14

据我所知,目前在JavaFX中没有确定按下了哪个物理键的API。很难看到第三方库如何实现这一点,因为它必须以这种代码无法真正访问的方式截获JavaFX的低级实现。

如果这对您很重要,我建议您在https://javafx-jira.kenai.com/提交一个特性请求

 类似资料:
  • 这在Python中似乎很难。 目前,我只能使用sys.stdin.read()读取击键,但是stdin.read()像文件一样工作,不会返回修饰符。 我在函数返回击键组合的方式上很灵活。首先想到的是返回一个列表或一个带有组合的dict…但主要问题是,如何检测它?!

  • 我使用下面的代码通过传递特殊键。我正面临一个奇怪的问题。如果用户发送Alt//Ctrl/Shift,则键保持按下状态。例如,如果用户通过Alt+F4,代码正常运行,操作成功完成,但Alt键保持按下状态。我需要在操作完成后手动单击Alt键。请让我知道处理同样的代码本身。下面是用于发送特殊密钥的代码。 }

  • 问题内容: 我怎么能确定 哪个 / / 下面的代码键被按下? 问题答案: 好吧,这仅适用于IE 8,因此无法在所有浏览器中使用。Microsoft实现了确定按下哪个(右/左)键的功能。 我也发现这篇关于浏览器中的按键,按键,按键事件的奇妙文章。

  • 我试图编码一个简单的键盘,并想实现上述4个键。在我的文件中,我定义了如下的布局- 我一直在中使用ASCII代码。但是我不知道如何处理Ctrl、Alt、Delete和Shift键。我使用作为backspace。但不确定如何实现delete键。 编辑:如果有人能在箭头键上加入一些指针,那也会很有帮助。

  • 我正在开发一个javafx扫雷游戏,目前只使用鼠标左键输入。我想用鼠标右键也让用户可以标记可能的炸弹。我查看了Button类的Oracle网页,它说: “当按下并释放按钮时,将发送ActionEvent。应用程序可以通过实现EventHandler来处理ActionEvent来执行基于此事件的某些操作。按钮也可以通过实现EventHandler来处理MouseEvent来响应鼠标事件。” http

  • 问题内容: 我正在使用Qt Designer构建UI,并且我希望按钮使用不同的修饰符执行不同的操作。因此,我认为我可以调用具有动态字符串属性的函数,这些函数将根据修饰符执行操作。 如果有人知道更简单的方法,我将不胜感激。 问题答案: 看起来您需要做的就是检查按钮处理程序中的keyboardModifiers,并根据需要选择其他操作。可以对各种修饰符进行“或”运算以检查多键组合: PyQt5 : P