问题标签 [evdev]
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.
python - python 3,无头 RaspPi,python-evdev 无法使用语言环境 de_DE
解决主要问题后,尝试从多个 HID 输入中读取数据,我在这里为以下(和不同的)问题打开了一个新问题:
我在RaspPi上安装了 minibian。整个系统运行在 上'de_DE'
,详细说明:
和
还有pythonlocale.getdefaultlocale()
说'de_DE','utf-8'
。
没有 X 正在运行(因为它没有安装):
ps -aux | grep X
说1297 0.0 0.1 4212 1828 pts/0 S+ 10:13 0:00 grep X
和systemctl get-default
说multi-user.target
.
但是存在以下问题:我连接了一个德语键盘,它在控制台中按预期写入德语,但被 evdev 识别为英语。我正在使用这些脚本,从 linux 中的 usb 键盘读取输入,并结合从多个设备读取事件,这些设备按预期工作,但语言除外。我的Y
按键被识别为KEY_Z
,我的Z
按键被识别为 ,KEY_Y
我的按键被识别ß
为,KEY_MINUS
以此类推。但到目前为止,我所看到的一切都设置为de_DE
.
此脚本(仅限 evdev 部分)
说
用于yzß
击键。
这里有什么问题?
python - 如何在linux上禁用特定键盘的自动重复,最好是从python
我正在将优秀的Python-evdev库用于以某种方式重新映射键的实用程序,类似于at-home-modifier。在这个过程中,我抓住了我所有的物理键盘并将这些键传送到虚拟键盘。
如果可能的话,我想为所有抓取的键盘禁用自动重复,但不是为整个 X 服务器全局禁用。到目前为止,我有一个 hack,只是将自动重复延迟设置为非常大的东西,例如
有趣的是,这将重复设置为 500 而不是 300。我尝试将延迟设置为 0 或 -1,但这只是被忽略了。有没有办法完全禁用自动重复,也许使用不同的工具?
qt - 无法从 eGalax 设备到 QtQuick 应用程序的触摸输入
我正在尝试从eGalax 电阻式触摸设备到运行示例QtQuick2代码的eglfs窗口获取触摸输入。我失败了好几天。触摸屏通过 USB 连接到 Raspberry Pi B,适用于 raspbian jessie 桌面。但是,如果我运行示例 QtQuick2 代码,则应用程序不会获得任何触摸输入。但是,对于示例代码,使用鼠标效果很好。
我已经尝试使用 tsLib 但 ts_test 始终显示 0 用于 x 和 y 坐标。我也尝试使用“./samplecode -plugin evdevtouch:/dev/input/event1”但没有成功。如果触摸屏幕,则会打印输出“未处理的 MSC 事件代码 MSC_SCAN (0x4)”。因此,应用程序或鼠标光标没有响应。
与使用 ./samplecode -plugin evdevmouse:/dev/input/event1" 相同,但在这里可以移动鼠标光标。
一些有用的信息 dmesg:
运行 evtest (在我看来似乎没问题):
也许有人对我有线索。谢谢你的帮助。
keyboard - 取消交换上限和控制
我最近将键盘映射更改为 neo,但是 Capslock 仍与控制键交换。
/etc/default/keyboard
仅包含XKBOPTIONS="lv3:ralt_alt"
.xinitrc
仅加载我的声音驱动程序和我的窗口管理器。
.xinputrc
包含run_im ibus
如果我添加一个脚本.xinitrc
,它运行setxkbmap de neo -option
,setxkbmap -query
仍然告诉我options: ctrl:swapcaps
我该如何调试呢?我真的不想再用控制交换大写了。
python - python中的扫描输入作为单个输入
我已经编写了这段代码,用于处理来自条形码扫描仪的扫描输入。但是这里的输入来自单行,我无法区分下一个扫描的输入和过去的输入。这是我的代码:
输出是:
虽然预期的输出是:
如果我在同一个终端,它可以工作,但如果我专注于其他终端,它将无法工作。我希望在后台捕获这些输入并将它们传递给正在调用当前函数的其他函数。
python - 无法使用 python-uinput 将触摸事件写入 uinput
我正在尝试编写触摸事件。我正在使用相机来跟踪手,所以我需要两个指针并且我需要显示它们。
这是我尝试过的,但它什么也没做:
但是,使用鼠标可以:
但我需要绝对而不是相对定位。
我可以从终端查看事件以进行调试吗?
我希望能够有 2 个指针、绝对定位、触摸/单击、悬停(BTN_TOOL_PEN),我的意图是允许拖动/滚动。关于我应该使用哪些事件的任何指导以及一个简单的工作示例都会很棒!
我无法让 evdev 工作,但也欢迎回答。
python - evdev 无法模拟触摸输入
我正在尝试使用 evdev 来模拟触摸输入。
将自己添加到input
组中,错误是:
运行后chmod +0666 /dev/uinput
错误变为:
删除(e.ABS_MT_POSITION_X, (0, 255, 128, 0))
:
linux - SLES 12 SP3 上带有 evdev 的 Xephyr
我有两个目前在 SLES 12 SP3 中工作的触摸屏设备。我想做的是让 Xephyr 在第二台显示器上运行一个单独的(基本上是多座的)窗口,它有自己的独立于主屏幕的触摸屏。
问题是,我似乎无法让 Xephyr 抓取/允许触摸。我正在使用的命令如下:
/dev/input/by-id/ 的输出:
我已经通过“ILITEK_ILITEK-TP_V06.00.00.02”读取了触摸事件,但实际的“鼠标按下”(又名点击)仍未注册,似乎没有任何内容可供选择。
c - 如何在 linux, X 下合法和以编程方式捕获第二个鼠标或轨迹球?
我正在设计和实现一个实验性的 GUI 应用程序。我希望让我的用户以符合人体工程学的方式同时使用双手与应用程序交互。例如,想象一下 GIMP 和您的左(另一只)手上的第二个鼠标(轨迹球):您可以用左手导航、平移、旋转或缩放图片,同时绘制/编辑点精确的点、线或图形同时用右手。早在 2000 ~ 2002 年,我用两只老鼠做了一些实验:一只在 PS2 (USB) 接口上,另一只在 RS232 串行接口上。多年后的今天,我正在用现代软件和现代(USB)输入设备重新审视这个古老的想法。
在理想情况下,我的目标是将第二个鼠标(或轨迹球)连接到带有 X 的 GNU/Linux 系统,然后能够:
- (1.) 继续使用主鼠标作为 X 默认主指针。
- (2.) 以编程方式从第二只鼠标访问/读取事件。
- (3.) 与主鼠标分开(以可辨别的方式)从第二只鼠标获取事件。
- (4.) 能够“消费”第二只鼠标的事件,这样每当我的程序启动时,第二只鼠标都不会影响主指针。
- (5.) 优选地,仅当我的程序的 GUI 窗口具有焦点时才捕获第二个鼠标。
- (6.) 优选地,完整的解决方案不应依赖于其他包或库,例如 gpm。但是,如果需要(任何)udev 规则,这不是问题,因为最终用户无论如何都需要安装我的程序。
- (7.) 解决方案最好不需要任何额外的特权或权限,例如将用户添加到“输入”组。
我花了 6 个多小时在互联网上搜索提示,但遗憾的是,我并没有超出一些“肮脏”的部分解决方案,但有几个缺点:
- (A.) 将用户添加到“输入”组。
- (B.) 从第二只鼠标捕获事件,如下面的示例程序所示。
- (C.) 开放点:进一步了解如何“消费”第二只鼠标的事件?
- (D.) 处理全局捕获(不仅仅是有焦点的窗口)和其他问题?
...
python-3.x - 在 python3 中定义文件描述符 - 使用 pyudev/evdev
我目前正在尝试检测树莓派 3 上的蓝牙按钮的连接(该部分有效),一旦连接,检测按钮何时被按下(该部分无效)。
我从 evdev 提供的代码开始,并尝试对其进行调整以供我使用(见下文),但我无法创建正确的文件描述符以与 select 一起使用(如果我正确理解发生了什么)。
问题是当我尝试添加设备时,没有定义 dev.fd。我试图定义它,但我不知道如何定义文件描述符。我应该怎么办 ?
其他信息:运行 Raspbian Strech 和 Python 3.5.3 的 Raspberry Pi 3
另外,这是我关于 Stack Overflow 的第一个问题,所以如果有任何遗漏或可能更详细,请随时提及。
谢谢,
庞'