如何使用Java重新映射键盘上的某个键,以便我可以给键赋予新的含义?如何使用Java Swing重新映射键盘键?
0
A
回答
-2
0
真的不明白你的问题的情况下。但理论上,您可以截取所有KeyEvent,然后根据您的条件派发不同的KeyEvent。 Global Event Dispatching可能会给你一些想法。
1
如果我明白这个问题,那就是如何明确定义特定键的行为。以下是我如何实现键盘快捷键 - 希望它可以回答你的问题。在我的下面的例子中,我相信你可以将'this'改为你希望显式设置键盘行为的特定组件,并覆盖其默认行为。我通常在面板或框架的背景下这样做。
private void addHotKey(KeyStroke keyStroke, String inputActionKey, Action listener) {
ActionMap actionMap = this.getActionMap();
InputMap inputMap = this.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
inputMap.put(keyStroke, inputActionKey);
actionMap.put(inputActionKey, listener);
}
inputActionKey只是一个用于映射操作的任意键字符串。调用此方法来侦听DEL键的示例:
KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0);
Action listener = new AbstractAction() {
public void actionPerformed(ActionEvent e) {
// delete something...
}
};
addHotKey(keyStroke, "MainWindowDEL", listener);
相关问题
- 1. 如何重新映射键盘按键
- 2. 如何重新映射Java Swing中的NumLock键?
- 3. 如何用LowLevelKeyboardProc重新映射C++中的键盘键?
- 4. WPF键盘重映射
- 5. 重新映射其中一个键盘
- 6. Mac上的Windows键盘 - 如何重新映射换行键
- 7. Raspberry Pi键盘界面(键重映射?)
- 8. Java:键盘映射值
- 9. 如何在Win32上使用Perl重新映射键盘?
- 10. VSCode重映射键盘快捷键
- 11. C#键盘映射
- 12. 你可以重新映射特定键盘的键吗?
- 13. 将鼠标事件重新映射到键盘按键
- 14. 重新映射按键
- 15. 键重映射
- 16. 重新映射线路键
- 17. 如何重新映射某些键?
- 18. 的IntelliJ如何映射键盘快捷键,以新的“模板”
- 19. Delphi 2006重构键盘映射
- 20. Autohotkey:使用重新映射的键盘键在Internet Explorer中导航
- 21. 如何重新映射在Ubuntu上的MATLAB复制粘贴键盘快捷键?
- 22. 带有“:”键的vim键盘映射
- 23. 键盘映射绑定
- 24. 是否可以使用键盘映射
- 25. Android Studio中键盘映射
- 26. 映射数字键盘上的键
- 27. GetAsyncKeyState:如何映射到本地键盘?
- 28. 无法重新映射“输入”的Swing键绑定
- 29. 如何禁用的Java Swing键盘热键
- 30. Swing屏幕键盘
这是仅用于您的程序吗?就像在游戏中一样(编辑控制列表)。或者你的意思是整个系统键盘布局? – 2009-09-20 15:44:13
@MartijnCourteaux我正在寻找一些东西来重新映射我的pageup键到(ctrl + win + left)和pagedown到(crl + win + right) – 2015-10-28 12:45:06
@KoenVanLooveren:在OS X上,搜索Karabiner。对于其他平台,我猜想类似的应用程序将存在。 – 2015-10-28 12:50:50