问题标签 [modifier-key]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
autohotkey - ; 作为新的修饰键
我想;
成为一个新的修饰键。以下工作几乎完美。
以下愿望清单中只有第 2 点不起作用。有人知道如何修复此代码吗?
;
被;
单独按下时shift ;
被:
单独按下时;
x
成为第二个...
shift
与成为第;
一个x
...
c# - C# 虚拟键修饰键使用发送输入法失败
我正在尝试将简单的键序列(ctrl-p、shift-p)发送到前台应用程序(恰好是 Visual Studio 编辑器单元测试缓冲区)。无论我尝试什么,我都无法让我的 control-p 或 shift-p 测试键序列正常工作。'p' 出现在缓冲区中,但不与控制/移位部分一起出现。
我已经从 SO 和网络轻松阅读了十几个代码示例,阅读了文档并尝试了太多无法计算的变体。但没有成功。我在标准的 Windows10x64 系统上,将代码作为单元测试运行。
下面的代码设置了修饰键的虚拟键和扫描码,这在实践中可能是错误的。我尝试了两种方法都没有成功。我包含了设置两者的代码,以便您可以看到我用于这两个字段的代码。
有谁知道我做错了什么?谢谢你。
** 更新 ** 我的代码没有失败。我在 Visual Studio 中的单元测试中运行它,它阻止了修改键。当我在单元测试之外运行相同的代码(没有所有调试层等)时,代码运行良好。
教训:不要尝试在单元测试中调试您的 SendInput 代码修饰键!
javascript - Vue:按住键盘修饰符时如何更改按钮的文本?
使用 Vue,我试图让按钮在按住 Shift 键时改变其行为。更改事件的行为非常容易,click
如下所示:
但是,我正在努力更改按钮的文本以反映这种行为。默认文本是Forward
,我正在尝试将其更改为Backward
按住 Shift 键的时间。
我尝试使用@mouseover.shift
但它还不够好,因为它没有捕捉到的情况mouse enters the button, then user holds shift
python - 检测何时按下 Ctrl(或其他修饰键)的正确方法
我想以是否按下修饰键 (Ctrl) 为条件进行操作。我发现的一种解决方法是安装一个事件过滤器并用于QApplication.queryKeyboardModifiers()
检测何时Ctrl
被按下,并QApplication.keyboardModifiers()
检测何时Ctrl
被释放:
但是,我担心这是对.queryKeyboardModifiers()
and.keyboardModifiers()
函数的意外使用,因此以后可能会导致更多麻烦。是否有适当的方法来检测何时单独按下/释放修改键(即没有按下任何其他键)?
虽然我使用的是 PySide6,但如果它们有帮助,我会接受 C++ 或 PyQt 中的答案。
qt - QKeyEvent.nativeModifiers() 是什么?
QKeyEvent.nativeModifiers() 是什么?文档没有说太多(https://doc.qt.io/qtforpython/PySide6/QtGui/QKeyEvent.html#PySide6.QtGui.PySide6.QtGui.QKeyEvent.nativeModifiers)。据我了解,通过在 QKeyEvent 对象上调用此方法返回的整数表示修饰键(Ctrl、Shift、Alt 等)的完整状态。
此外,我会假设这些整数和它们各自的修饰符状态之间的映射是系统的,那么有没有办法测试给定的修饰符状态是否包含特定的修饰符(例如,通过使用“&”运算符)?
重要的是,本机修饰符是否跨平台,以便 PC 上的 Left Ctrl 按键返回与 Mac 上的 Left Command 相同的整数(因为 Qt.Key_Control 对应于 MacOS 命令键)?
macos - Macos 结合了来自 2 个设备的 HID 键输入
我正在尝试绑定鼠标上的键移以将其与键盘输入结合起来(例如:shift+1、shift+2)
我正在使用的键盘设备是 Razer tartarus,他们的软件在 Monterey 上对我来说并不能很好地运行,所以我编写了一个简单的 Objective-C 脚本来重新映射输入并且效果很好,我还可以使用重新映射鼠标上的输入它附带的软件可以发送键移或shift+1,它可以工作。
但是,当我按住鼠标移位并使用键盘发送键时,不再检测到移位。如果我在 tartarus 上按住 shift 并按下鼠标上的按钮,也会发生同样的情况。
但是我发现如果我使用正常的键盘移位并按下鼠标上的一个按钮,它检测到它有移位+按钮。
我不太确定引擎盖下发生了什么,但我真的很想为此提供一个解决方法,因为我真的需要能够在 Tartarus 键盘上的鼠标 + 键上使用 shift。
我用来在 tartarus 上重新映射键的脚本如下:
keyboard - ImageMagick 显示键绑定:使用“Alt”修饰键
我一直在使用 ImageMagick 'Display' 实用程序的一项功能,即记录为Keyboard Accelerators的功能。
这些是菜单上提供的各种功能的键绑定。据我所知,它们都工作得很好,除了使用 Alt 作为修饰键的那些,除了Alt+<Arrow Key> 来修剪图像侧面的像素,它们确实像记录的那样工作。
另一方面,使用 Meta (M-) 的绑定工作正常。
xev
告诉我按 Alt 键实际上会发送
state 0x0, keycode 64 (keysym 0xffe9, Alt_L)
xmodmap
告诉我mod1
映射到Alt_L (0x40), Meta_L (0xcd)
我对修饰键处理的微妙技术不是很熟悉。此外,据我所知,其中很多都是“与软件相关的”,尤其是关于 Alt/Meta 情况,并且事情发生在几个层面(硬件、操作系统、单个软件)。
我已经尝试过一些黑客攻击(我承认不是那么多),xmodmap
将 Alt 和 Meta 修饰符重新映射到不同的键,但到目前为止没有任何效果,尽管我很可能没有完全意识到我在做什么,并且事实上,存在一个简单的解决方案,使用xmodmap
.
有没有办法display-im6
使用 Alt+key 使用“键盘加速器”,同时仍然可以访问使用 Meta 作为修饰符的那些?如果可能的话,我想保留其他软件的当前行为(也就是说,如果解决方案涉及大量重新映射修饰键以使其他软件无法像以前一样工作,这可能是一个问题......)?