问题标签 [keyboard-input]

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.

0 投票
2 回答
595 浏览

linux - 在 Linux 上,我如何找出哪个应用程序/进程 ID 正在接收键盘/鼠标输入?

我正在做一个 linux 项目。我被困在我需要知道哪个应用程序/进程 ID 正在接收键盘/鼠标输入的点上。我的意思是绑定必须存储在某个地方。有人可以帮帮我吗?编辑 1:我正在开发一个键盘/鼠标事件捕获项目。我发现 logkeys(项目)很有用。我需要找到用户输入的应用程序名称以及按下的键编辑 2:我使用的是 CentOS 7。XDG_SESSION_DESKTOP = gnome-classic。GDMSESSION = 侏儒经典。

0 投票
1 回答
196 浏览

visual-studio-code - VSCode 中的键盘输入块

从昨天开始,我想在 VSCode 中编辑代码时遇到问题。显然,在 VSCode 中更改焦点后,例如切换到菜单栏或切换到不同的视图,然后返回编辑器视图,光标从插入符号变为填充矩形,并且正常的键盘输入被阻止。我需要做一些事情,比如在第一次、第二次或第三次尝试时按下 Escape 键,最终使我进入覆盖模式,我必须从该模式切换到插入模式。这是一个非常烦人的情况。有没有人对此有补救措施?

0 投票
0 回答
64 浏览

linux - 打印时 NASM 意外输出

我是新手,在 linux 中组装 NASM 有非常小的问题。我做了一个简单的练习程序,当你输入文字时,它会以星星的形式添加简单的装饰。预期的输出是:

反而:

这是程序的完整代码(长),我使用 edb 检查代码并检查 EDX 寄存器是否与空字节检查的 len 匹配以打印正确的字符数。

0 投票
1 回答
31 浏览

keylistener - KeyTyped 事件不会注册

我正在学习如何使用 keylistener 对键盘输入进行编码。我让它与以下程序一起工作:

不幸的是,有一个大问题:虽然 keyPressed 事件有效,但 keyTyped 事件却没有。这是我的代码中的错误,还是由于键盘故障?

我还有一个额外的澄清问题是,为什么在没有声明的情况下在主类中初始化了 KeyboardInput?

0 投票
0 回答
388 浏览

windows - Jenkins windows批处理文件用户输入:按任意键开始问题

我正在尝试通过 jenkins 在从属 Windows 机器上运行 Windows 批处理文件。批处理文件需要“按任意键继续”输入,这在作业构建期间至少对我来说是不可能的。任何想法如何在构建运行期间将键盘输入传递给批处理文件。谢谢

0 投票
0 回答
125 浏览

linux - 使用 Xinput 2 时如何使用 XEvent?

我正在看这个例子。我正在尝试编写一个将在后台运行并监听所有键盘事件的程序。该程序应该能够丢弃一些键盘输入。在前面提到的示例中,键盘记录器不使用事件。我想在 Windows 上做类似于LowLevelKeyboardProc的事情,但我似乎没有找到解决办法。是否可以使用 X11 做类似的事情?

0 投票
0 回答
59 浏览

c# - 如何根据键盘和鼠标活动更改图像?

我试图通过改变用户的形象(红色离线,绿色在线)来改变离线和在线之间的用户可用性。我正在使用此代码根据键盘和鼠标事件将用户状态从在线更改为离线:

然后我实现了在一段时间不活动后改变用户图片的东西。

现在我想做同样的想法,在触发鼠标或键盘事件时再次将图像更改为在线用户。

0 投票
1 回答
445 浏览

c# - KeyboardState.GetPressedKeys() 是如何组织的?

我环顾四周,是否有人知道KeyboardState.GetPressedKeys()(in Microsoft.Xna.Framework.Input) 是否返回有组织集合中的键(列表中最近的第一个或最后一个)或一些杂乱无章的不可预测列表?

0 投票
0 回答
526 浏览

cocoa - keyDown(with:) 不在自定义 ViewController 或 View 上调用,仅在 WindowController 上调用

我已将基于非文档的 macOS 应用程序的大部分核心功能移至自定义的嵌入式框架。

应用程序代码有一个带有初始窗口的标准主故事板,并且该窗口具有“窗口内容”关系/连接到指向嵌入式框架内的故事板的故事板引用。其中有一个自定义NSViewController子类和一个自定义NSView子类。

我想在框架内对所有输入事件处理代码进行分组,这意味着mouseDown(with:)在自定义NSView子类上实现,并且--lo 并且看-- 当我在应用程序窗口内单击时它会被调用。到目前为止,一切都很好。

接下来,我实现keyDown(with:)了类似地处理键盘输入。但是,在运行时,它不会被调用,而是会听到烦人的哔哔声 ( NSBeep)。

我尝试keyDown(with:) 在视图控制器上实现,但都是一样的。

最后,我尝试在我的NSWindowController子类上实现密钥处理程序,并且确实有效。

所以我可以通过转发事件来解决这个问题:

,但它非常不雅。我宁愿不要用输入逻辑污染应用程序代码。

然而,这似乎与嵌入框架没有任何关系。我从“Cocoa App”模板中整理了一个最小的项目,并确认确实keyDown(with:)只有在窗口控制器代码上实现才被调用,而不是视图视图控制器端。

在基于情节提要的应用程序中,如何keyDown(with:)在视图或视图控制器(而不是窗口或窗口控制器)上被调用?(所以我可以将它从主应用程序移动到我的嵌入式框架)。


编辑:该问题已被标记为重复。我尝试了另一个问题的答案中指出的解决方案(即覆盖acceptsFirstResponder返回true)。这解决了我最小的演示项目中的问题,但是当我在我的完整应用程序上尝试它时,它仍然不起作用(我确实看到了那个问题,并且acceptsFirstResponder在发布这个问题之前确实尝试在我的应用程序中覆盖)。

我现在将尝试修改我的最小诗歌,看看我是否可以在主应用程序中重现该问题。


编辑 2:我已将最小项目重构为:

  1. 将视图控制器发送到单独的故事板,
  2. 将视图控制器的故事板和表示的类(自定义视图、自定义视图控制器)发送到单独的嵌入式框架。

现在基本设置反映了我的应用程序似乎很重要的所有设置,但仍然无法在最小项目中重现该问题。我会进一步调查...


编辑 3:我无法在最小项目上重现该问题。在我的应用程序的自定义视图中,我实现了:

  1. 在启动时,acceptsFirstResponder被调用两次。
  2. 按下任何键时,performKeyEquivalent(with:)也会调用两次。检查上面的中间变量retVal表明超类的实现总是返回false。从这个方法返回后,NSBeep()被调用而keyDown(with:)不是被调用。
  3. 如果不是super.performKeyEquivalent(with:)I force-return true,我可以避免调用NSBeep()(但keyDown(with:)仍然没有调用...)

编辑 4(最终):

出于绝望,我在我的应用程序的主故事板中清除了窗口控制器的身份检查器的“自定义类”字段(默认NSWindowController)。

突然,我的自定义视图keyDown(with:)开始被调用。

我恢复了自定义类以确认。

它仍然有效

我清理构建文件夹并重试。

它仍然有效

现在,即使在我的主应用程序上,我也无法再重现该问题。我真的不知道该说什么...

0 投票
0 回答
169 浏览

c++ - 通过按下键盘特殊键获取键码(例如 Razer Blackwidow Chroma 上的宏键)

我是 C++ 新手,正在开发 Windows 桌面应用程序。我想在用户按下键盘上的非标准键时捕捉事件,例如。Razer Blackwidow Chroma 上的宏键。

目前我已成功捕获所有其他标准键:

.. 但是在这个键盘上按M1-M5不会触发事件。

我还添加了要听的键盘RAWINPUTDEVICE,但仍然没有。

来自消息的代码片段WndProc

我是否需要将键盘视为RAWINPUTDEVICEUSB 设备而不是 USB 设备,那么我可以获得信号吗?还是我错误地假设键盘默认情况下无论操作系统上是否存在驱动程序都向操作系统发送键码信号?

如果您想在键盘上玩耍并测试它,这是整个文件: