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

android - Android 3.0 使用物理键盘设置

背景:

我最近购买了摩托罗拉 XOOM 平板电脑以及桌面基座和蓝牙键盘配件。

扩展坞和键盘很好用,但是当我将平板电脑从扩展坞上取下以离开办公桌时,键盘仍然与设备配对,我必须手动更改设置才能使用软键盘。当我将它放回扩展坞时也是如此,我需要手动将其切换回来。这不是一个问题,但不必考虑它会很好。

因此,我尝试从市场上下载一个应用程序,该应用程序在连接或断开电源时简单地打开和关闭蓝牙,这在一段时间内运行良好,但后台服务会在一段时间后停止并变得无用,直到我手动重新启动它。

要点:我正在尝试为我的平板电脑编写一个小应用程序/服务,该应用程序/服务将识别它何时已停靠/取消停靠并相应地切换“使用物理键盘”设置。

我已经开始使用 BroadcastReciever 来识别 Dock 状态:

但是我无法找出在事件触发后更新设置的最佳方法。我已经使用InputMethodManager 浏览了一些示例,但所有方法似乎都需要特定的EditText或其他一些输入来绑定。

此外,我似乎无法在文档中的任何位置找到代表该设置的相应常量,但以图形方式,它位于此处:http: //i.stack.imgur.com/esFaw.png

谁能帮我解决这个问题?

我希望有一个更改设置的解决方案,但我也对其他想法持开放态度。

0 投票
1 回答
294 浏览

delphi - 如何判断什么设备触发了 Delphi 中的特定事件?

我想知道是否有一种简单的方法可以判断哪个输入设备触发了特定的 GUI 事件。

例如:一个TButton.OnClick事件被触发。用户是通过键盘按下(快捷Enter键、默认按钮的space键、焦点按钮的键等)触发它还是通过鼠标点击触发?有什么简单的方法可以分辨吗?

我想知道的原因是,当用户使用鼠标启动也可以使用键盘完成的操作时,我可以在我们的一些应用程序中实现键盘使用提示。我们在车间的系统处于非常多尘/肮脏的环境中,老鼠在其中往往不能很好地支撑。此外,在许多情况下,鼠标的使用空间根本就没有那么大。(不,没有数字小键盘的键盘不是解决方案。它们过于依赖。)

然而,由于我们的应用程序在 Windows 中运行,用户倾向于像在家里一样简单地使用这些程序——用鼠标。这并没有什么特别的问题,但我们一直在努力优化输入工作流程,使其也对键盘友好。如果有一种低影响的方式来向我们的用户表明有一种方法可以让他们做他们正在做的事情而不必抓住鼠标,那就太好了。

0 投票
1 回答
2030 浏览

asp.net - 找出通过 ASP.NET 网页连接到系统的输入设备

我在我的项目中使用 ASP.NET 和 C#。

我有一个要求,我需要找出连接到用户计算机的输入设备列表。例如,如果他连接了扫描仪和网络摄像头,那么我需要在下拉列表中填充扫描仪和网络摄像头,当用户选择其中任何一个时,我需要运行网络摄像头或扫描仪。我知道由于安全原因,这对于 ASP.NET 是不可能的。

只是想知道这是否可能。任何建议都非常感谢。

0 投票
0 回答
1400 浏览

python - 触摸板上的手指位置

我想在罗技无线触摸板上触摸 (x,y) 坐标。我正在用 Python 编程,并希望使用触摸板作为输入设备来驱动显微镜载物台。我不太确定如何访问触摸数据;我尝试通过 PySerial 访问设备的 USB 连接,但无法通过此模块连接到设备。这是一个多点触控板,因此我也对检测多点触控感兴趣。谢谢你的帮助。

0 投票
1 回答
2565 浏览

android - Android:枚举游戏手柄上的按钮

我有一个可以连接游戏手柄的 Android 设备(它是一个完全标准的 XBox 360 控制器,但我还需要支持其他品种)。游戏手柄显示为带有一些模拟轴和一些按钮的 InputDevice。

我需要能够查询 Android 以找出游戏手柄支持的按钮。有谁知道如何做到这一点?

我知道系统有这些信息,因为如果我编写一个命令行应用程序,它/dev/input/event...使用 ioctl 打开和查询按钮EVIOCGBIT,我会从内核中得到一个很好的支持按钮列表。但我无法从 Android 应用程序执行此操作,因为我无权直接访问输入设备。

看起来应该可以获取 InputDevice 的 KeyCharacterMap 对象并进行查询;但看起来 Android 已将默认的 QWERTY 键盘键盘映射附加到游戏手柄,而不是构建一个与游戏手柄支持的实际匹配的键盘映射。这会很高兴地告诉我游戏手柄有一个 Q 键,它没有,它没有 BUTTON_X 键,它有,我正在接收按键事件。所以这没有帮助。

有没有办法做到这一点?

0 投票
2 回答
5794 浏览

c++ - 在 Linux 上使用 C++ 访问 Sony Playstation SixAxis 控制器

我在 Linux(特别是 Ubuntu 12.04)上使用 C++ 进行编码,并且想使用 PlayStation SixAxis 控制器(PS3 附带的类型)作为输入设备,最好是通过蓝牙。

我的应用程序将无头运行。目标平台上没有运行窗口管理器。目标是一个运行 Ubuntu Server 12.04 的小型机器人,尽管我正在桌面上进行开发。

我可以使用任何库或技术吗?

0 投票
2 回答
672 浏览

keyboard - 如何使用 haxe 列出可用的输入设备?

我想在启动应用程序时列出所有可用的输入设备,但我在 API 中找不到这样做的方法。

如何获取可用键盘、鼠标、游戏手柄、触摸屏、加速度计的列表...

0 投票
1 回答
1607 浏览

linux - 一台机器上的多个离散键盘输入

背景

我在 10 月份举办了一个大型活动,并计划使用一个读取我组织中每个人都拥有的 mifare 卡的系统来监控谁参加以及人们在大楼中的位置以确保安全。为此,我找到了一个廉价的 mifare 阅读器,它可以读取卡的特定扇区并将数据以十六进制形式返回,我可以将其转换为字符串,然后发送到服务器进行处理和记录。到目前为止,一切都很好。然而,将近 20,000 人参加了这个活动,这意味着需要大量的扫描和大量的 mifare 阅读器,所有这些都需要连接到计算机才能读取数据并将其发送出去。理想情况下,我想将大约 3 或 4 个读卡器连接到一台机器上,其中大约有 3 或 4 个,在活动的每个入口/出口上都有一个。

我需要帮助做什么:

我的读卡器在 Windows 和 Android 上充当通用键盘(我假设是 Linux,但我要检查一下),计算机本质上就像它有多个键盘一样,所有键盘都可以同时输入数据,但只有到一个程序(即,屏幕上永远只有一个插入符号)。如果同时扫描两张卡并且来自每张卡的击键“混合”并因此导致处理问题,这可能会导致问题。

我想要做的是设置一个 linux 机器有多个插入符号,这样我就可以说四个命令行都同时从一个读卡器获取数据。

例如:如果 John 和 Saira 同时扫描,此时结果输入可能是:

j s o a h i n

而我希望它是:

命令行 1:

约翰

CLI2:

赛拉

CLI3、CLI4 等

我知道这一定是可能的,我考虑过潜在地设置一个多席位 Linux 发行版,但我觉得这将使用大锤来解决问题,并产生一个新问题,因为它引入了对监视器、鼠标的需求, ETC。

理想情况下,我希望整个系统尽可能精简,可以在笔记本电脑上运行,也可以只是一个我可以插入、启动并自动运行的 linux 盒子(不需要显示器、鼠标或其他笨重的部件和件!)。

有没有人有这方面的经验或可以提供的建议?任何帮助将非常感激!

谢谢,

多姆

0 投票
2 回答
4722 浏览

c++ - 获取linux输入设备

我需要获取 Linux 操作系统上的输入设备列表。类似于解析 /proc/bus/input/devices 的东西,但我实际上不想重新发明轮子。我相信应该有一些系统功能来枚举设备和类似的东西。它是一个嵌入式 Linux,所以我可以使用的库有限。

0 投票
1 回答
1221 浏览

linux - 如何在 Linux 中“开球”/dev/video?

如何“开球”输出 /dev/videox 设备,以便两个程序可以同时使用实时视频流?

我想一次将实时视频从 /dev/video1:input=1:norm=NTSC 发送到两个程序(mplayer 和 mencoder),以便在 mencoder 录制的同时获得不延迟的实时视图。

我知道如何从 mencoder 获取刚刚编码的输出并播放它,但这会引入几帧的延迟(太多)。我被告知 VLC 可以做到这一点,但也并非没有明显的滞后。

我现在能做的最好的就是让 mplayer 将其播放到屏幕上,同时使用“avconv -f x11grab”从显示器上抓取视频并对其进行编码。这行得通(它不会增加延迟),但从显示器上抓取视频很慢 - 我最终得到大约 10 fps 而不是 30 fps。

必须有一些直接的方法将 /dev/video1 “tee”到两个虚拟设备中,以便 mplayer 和 mencoder 可以同时读取它们(其中没有一个抱怨设备“忙”)。

那是什么方法?