问题标签 [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 投票
2 回答
1567 浏览

c - 标准输入是否被视为 Linux 中的字符设备?

当我说标准输入时,我指的是 fd = 0 所指的流。

我正在学习一门涵盖块设备和字符设备的操作系统课程。它专门说键盘是一种字符设备。然而,当我们看到read系统调用时,我们被告知内核并不关心它从什么读取,只要它是块设备或块设备上的文件。

这是我们得到的代码:

我的问题是:Linux 如何处理标准输入(fd = 0)?它是否被视为字符设备,或者内核是否进行了某种缓冲(根据我在运行代码时得到的结果来判断,这似乎很可能。)

此外,了解我是否可以使用 read 系统调用从一般的字符设备中读取会很有用。如果是这样,输入是否缓冲?

0 投票
1 回答
882 浏览

android - Android 如何解释 SPI 接收的输入

这是我关于 stackoverflow 的第一个问题,尽管我是这个问题解决源的持续读者。

无论如何,这是我面临的问题:

我正在尝试用总线 SPI 连接两个评估板:

  • 第一个(数据源)模拟触摸屏,是一个 Linux 发行版(现在:Raspbian)。
  • 第二个是嵌入式Android。

我想通过 SPI 连接这两个并从 Linux 向 Android 发送触摸序列(根据多点触控协议(https://www.kernel.org/doc/Documentation/input/multi-touch-protocol .txt ))。spidev 已启用,但我不知道如何“执行”我将收到的触摸。

据我所知:我不能使用 Android 输入设备(https://source.android.com/devices/input/input-device-configuration-files.html),因为它不能依赖 SPI 通信。那么我必须在linux内核中创建一个驱动程序吗?在这种特殊情况下,“最佳实践”是什么?

在此先感谢您,您可能会节省我的实习机会 :)

0 投票
0 回答
659 浏览

android - 如何将自己的串行设备与驱动程序绑定?

我目前正在嵌入式 Android 中构建设备及其驱动程序。

该设备基本上是一个嵌入式 Linux,其行为类似于触摸屏。设备和嵌入式安卓通过UART连接。(我正在使用 Lemaker Guitar 评估板)。通信正常:我收到在 /dev/ttyS0 上发送的数据(使用 minicom 或 cat /dev/ttyS0)。

现在,我需要创建将接收此输入的驱动程序(它将是触摸,所以坐标,协议已经编写好了)。我找到了这个资源及其实验室

我们可以读到: “驱动程序名称必须是“atmel_usart”以匹配 arch/arm/machat91/ 中的设备定义

所以我寻找它,发现设备(即嵌入式Linux)必须在设备树中或在platform_device下的文件中声明,其名称与platform_driver的名称匹配。

这让我对我解决这个问题的方法产生了很多疑问。

  1. 我可以从 /dev/ttyS0 读取。但这只是一个设备节点,而不是一个设备。是真的吗?
  2. 在实现 platform_device 结构时,我们必须分配资源。有没有办法让系统处理资源?
  3. 我还看到了另一个可以使用但找不到任何真实文档的库:serio. 这可能是解决我的问题的更好途径?

谢谢阅读。为了解决这个问题,我愿意接受建议:我的驱动程序应该有什么形状。再次感谢,您可能会节省我的实习机会 :) :)

编辑 :

这些话不够清楚。

所以我有两个部分:一个嵌入式 Linux(即 Ubuntu Mate),其行为类似于触摸屏。这会将触摸坐标发送到嵌入式 Android。
嵌入式 linux 通过串行链路连接到 UART;这种沟通有效。现在,我想制作一个驱动程序以在 Android 中执行触摸。

这是框图:

框图

再次感谢 :)

0 投票
1 回答
611 浏览

python - TypeError:“int”对象不支持项目分配,在线程中

我有以下2个模块:

第一个Keyboard.py

USB.py

因此,要通过引用传递线程中的变量,我使用单个元素的列表。作为帮助,以下代码已作为参考:

但在我的代码中,在行中

蟒蛇告诉我

TypeError:“int”对象不支持项目分配

0 投票
1 回答
2700 浏览

c# - 来自不同键盘 C# .Net 的 RawInput

我正在开发一个应该从 USB 秤获取数据的 Windows 窗体应用程序。USB 秤的处理方式类似于键盘。如果有人在秤上放了东西,秤就会开始像 USB 键盘一样输入重量字符串。之前,我会通过单击表单应用程序中的文本框让秤将权重字符串输入文本框。但是现在我需要在不让 Scale 直接写入文本框的情况下获取权重字符串实习生。这样程序就可以在后台处理来自秤的数据。

所以起初我想我必须为输入选择一个设备。(类似于 Com Port XY 上的 Keyborad)所以我需要创建一个包含所有输入设备的列表。如何在 C# .Net 中执行此操作?

我已经尝试过:

但这不起作用。也许有人可以告诉我该怎么做?或者你们认为解决我的问题的最佳方法是什么?请帮忙!

0 投票
1 回答
166 浏览

android - 从 Nativescript 读取红外遥控器

想请教一下,用Nativescript编程的APP能不能读取红外遥控信号,怎么做。

谢谢你。

0 投票
1 回答
281 浏览

java - 串口事件值和串口值的区别

我正在使用 jssc 从串行端口读取值。一旦我写入串行端口,就会调用以下回调。在该回调中,我可以从事件和串行端口本身获取值,它们都包含不同的值。我想知道串行端口值和串行事件值之间的区别事件是否包含来自串行端口的值?

0 投票
0 回答
42 浏览

c++ - 禁止 USB 设备仅在程序中使用

我想为 USB 设备设置各种驱动程序 - 用 C++ 编写 - 以便更好地控制其输入的处理方式。问题是它有一个我不想要的默认功能,而且另一个程序在打开时也会管理它的输入。

理想的解决方案是让我的程序使设备在其自身之外不被识别,但我不知道该怎么做。我一直在谷歌搜索可能的解决方案,但无济于事。我找到了一个禁止默认输入的选项,但是程序仍然可以识别它。

欢迎任何帮助;我只需要知道处理这个问题的一般方法,我自己弄清楚细节应该不难。

PS:这是我项目的起点,所以请原谅我没有提供任何代码作为上下文。

0 投票
1 回答
371 浏览

python - 使用 evdev 识别多功能输入设备的特定功能

我有一些与无线 USB 数字键盘交互的 Python 代码。我希望能够按名称发现设备,但显示为多个输入设备。在/dev/input/by-id

并使用evdev模块:

显然内核可以区分-kbd设备和-mouse设备,但是我如何在我的代码中做出决定呢?我现在提出的解决方案利用了“键盘”设备包含这些KEY_KP...功能的事实,所以我可以这样做:

...但这似乎更像是一种启发式而不是可靠的测试。有没有办法使用evdev模块或替代方法来检测给定的输入设备是键盘还是鼠标(或两者的某种类似科学怪人的组合)?

0 投票
1 回答
4762 浏览

javascript - 如何在Javascript中更改音频输入

我正在开发一个 webRTC 应用程序,我想让用户能够更改他们的输入设备(麦克风)。

我找到了显示可用设备的方法,navigator.mediaDevices.enumerateDevices() 但我无法找到如何实际选择其中一个设备?

如何设置输入设备以在 javascript 中使用?

谢谢。