问题标签 [input-devices]

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 投票
17 回答
202988 浏览

javascript - JavaScript:检查鼠标按钮是否按下?

有没有办法检测鼠标按钮当前是否在 JavaScript 中被按下?

我知道“mousedown”事件,但这不是我需要的。按下鼠标按钮后的一段时间,我希望能够检测它是否仍然被按下。

这可能吗?

0 投票
7 回答
1086 浏览

user-interface - 在编程中应该采用哪些替代的用户输入技术?

由于需要输入大量特殊符号等,编程与例如文字处理特别不同。

在当前的新用户界面技术中,哪些适合编程,为什么?

或者语言语法的想法是问题所在,我们是否应该更符号化地编程,如果是这样,这将如何影响用户界面?

编辑:当我指定用户界面技术时,我将它开放给使用现有硬件(鼠标/键盘)和其他一些东西,如多点触控、手势识别、增强现实(参见 HitLabNz 以获得一些很好的例子)。我对我们如何将这些应用于编程很感兴趣。

0 投票
3 回答
1603 浏览

.net - 如何在.Net中使用触控板滚动

我的 WinForms 应用程序使用鼠标滚轮订阅Control.MouseWheel事件。如何让它与来自其他输入设备的滚动方法一起使用,特别是在我的 T61 上的(Synaptics)触控板上“沿边缘手指”滚动?我假设我需要以Control.MouseWheel某种方式将触控板消息连接到事件,但我不知道从哪里开始......

编辑:这目前不起作用;所以我的触控板显然没有发送Control.MouseWheel消息。

谢谢!

(我使用的是 C#,但这肯定是 .Net 通用的)。

0 投票
3 回答
2339 浏览

c# - 轮询操纵杆 C#

我有一个应用程序记录了按下空格键时的日期/时间,但由于各种原因,窗口并不总是有焦点。例如病毒检查弹出窗口、iTunes 更新、Windows 更新等

所以我认为一个很酷的想法是使用操纵杆按钮,然后无论哪个窗口有焦点,我总是可以检测到按钮按下事件并记录按下它的日期/时间。

现在我看了一些游戏教程,但他们似乎将操纵杆轮询绑定到屏幕刷新事件中,因为在游戏中我猜如果计算机速度很慢并且屏幕不经常刷新,有操纵杆按钮无论如何,按下不会有任何区别。

这并不真正适合我的需要,所以我正在考虑运行一个线程,该线程将每隔一段时间轮询操纵杆

我的问题是

  1. 是后台线程最好的解决方案
  2. 我应该多久轮询一次操纵杆
  3. 我应该使用什么样的计时器来确定轮询频率。

我希望响应至少相当于键盘。如果按住触发器,还需要确保它不会自动重复。

任何示例代码(C#)赞赏

谢谢

亚历克斯

0 投票
1 回答
5694 浏览

linux - 您如何获得隐藏设备的所有权?

我想拥有一个可能已经插入的隐藏设备,使用它的输出,同时防止其他人(X11 或终端)使用它。

如果我能帮上忙,我不想假装自己是一个终端,而是要垄断一个特定的隐藏或字符设备。这个想法是,某些隐藏设备可能会被 x/终端识别为鼠标/键盘,但第二个鼠标或键盘可以用于其他用途,但要做到这一点,您需要确保它们不会将虚假输入发送到打开终端。

有没有人知道如何做到这一点?

0 投票
6 回答
11551 浏览

java - 制作一个 USB 设备,用 Java 控制它

我正在考虑制作一个带有旋钮、按钮和 LED 的物理控制器(设备?)。我想使用 Java 与它进行交互(响应旋钮、点亮 LED 等)。我提到 Java 的原因有两个:第一,我很了解 Java 1。其次,我已经用 Java 编写了我需要与之交互的程序的其余部分(尽管有一些方法可以从另一种语言与 Java 程序对话)。

我希望设备通过 USB 连接并独立于(计算机)平台。

我不知道从哪里开始,除了开始阅读 Arduino 网站。这是我最好/唯一的选择吗?有没有更适合与 Java 通信的东西?

注意:我知道 Arduino 与 Java 有关(不确定是什么),但似乎代码必须用 C 的子集编写。

我将如何开始讨论这个话题?


1 - 请不要笑。

0 投票
1 回答
1218 浏览

windows - Windows 应用程序:原始输入设备注册 - 排除所需的子类设备

在我的 Windows 应用程序中,在注册“原始输入设备”时,我希望只注册鼠标,但同时也是指点设备的触控板也被注册。

在 MSDN 文档的顶级集合 (TLC) 中,说明了 RAWINPUTDEVICE 的 usUsagePage、usUsage 字段的用法。但是没有信息如何排除同一类别下的设备之一。RIDEV_REMOVE、RIDEV_EXCLUDE 或任何其他模式标志都不能提供答案,它们只能用于取决于 usUsagePage 值的子类。

一旦注册并稍后获得 RawInputHeader 的“hDevice”成员值,就可以控制类的特定设备,但我不希望首先注册触摸板。

让我知道上述问题是否还有其他选择。

提前致谢

知识库

0 投票
1 回答
2101 浏览

c# - 如何在 C# - windows 窗体中从 ePad 中捕获签名?

我需要从ePad 设备中保存签名。我更喜欢使用Microsoft.Ink InkPicture控件,但 ePad 确实缩放鼠标指针。ePad SDK 示例也没有编译。另外,我是一个winforms菜鸟。是否有某个库或示例代码可能有用?

0 投票
1 回答
1484 浏览

macos - MacOS 虚拟输入设备

如何在代码中创建虚拟 HID 设备?我试图避免编写内核扩展来实现这一点,但这似乎是唯一的方法。我需要能够创建所有类型的虚拟 HID 设备,并让一个在后台运行的应用程序为它们提供事件。有没有办法在用户空间做到这一点,或者我必须冒险进入内核领域?

0 投票
2 回答
10696 浏览

keyboard - /dev/input 键盘格式

我一直在尝试从我的键盘设备捕获输入:

对我来说,我想知道是否有任何关于它返回的规范,使用

听。我很好奇主要是由于某些键的行为;meta,箭头键,小键盘正斜杠。

到目前为止,我查看的所有其他键都有括号中的两个字节作为匹配值,有什么特殊的原因吗?