标签: hid

如何安全地将 U 盘/设备插入 Linux 计算机?

将 U 盘或设备插入计算机时,始终存在设备是恶意的风险,将充当 HID 并可能对计算机造成一些损害。我怎样才能防止这个问题?在特定 USB 端口上禁用 HID 是否足够?我怎么做?

security usb hid usb-device

26
推荐指数
2
解决办法
3182
查看次数

模拟蓝牙鼠标

我的计算机是否可以假装它是蓝牙鼠标,以便其他设备可以连接到它?

一个安卓设备允许它的鼠标被蓝牙控制而无需root,我的电脑有蓝牙,所以如果我能让他们说相同的语言/协议,我可以从电脑向安卓发送鼠标命令。

有可能吗,还是我只是在做梦?:-)

bluetooth hid

12
推荐指数
2
解决办法
6098
查看次数

虚拟 USB HID 设备

我正在开发一个将与连接的 USB HID 设备进行通信的应用程序。问题是还没有真正的设备(它正在由我们团队的另一部分开发),所以,我真的很想有一些方法来模拟它。

我能想到的理想实用程序应该是这样的:一个内核模块,当加载时,它会在系统中创建两个设备节点:

  • 一个虚拟的 usb-hid 设备,它可能与任何真正的 usb-hid 设备节点没有区别/dev/hidraw0;当然,这个设备应该被我使用的任何 usb-hid 库看到,例如,hidapi.
  • 一个服务设备节点,如/dev/virtual_hid_1

因此,当任何人写入 时/dev/virtual_hid_1,这些数据应该从字面上读取/dev/hidraw0,反之亦然。

通过这种方式,我可以用我想要的任何语言编写一些调试应用程序,无论是python什么;它应该只是写入和读取/dev/virtual_hid_1. 开发起来会很方便。

有这样的吗?

virtual-machine usb hid

11
推荐指数
2
解决办法
5095
查看次数

Magic Mouse 2 驱动程序触摸滚动

在试用了我的朋友 Magic Mouse 1 后,我最近刚刚拿起了 Magic Mouse 2。MM 具有触控功能,我想确保这些功能在我的 Arch 笔记本电脑上也能使用,而且他们做到了!嗯,对于 MM1 他们做到了,但是对于 MM2,触摸滚动不起作用。显然,目前还没有对 MM2 的驱动程序支持,仅适用于 MM1。

我想出了如何修改现有驱动程序(感谢repo),以便为我的 MM2 加载它,但触摸功能仍然不起作用。

我读到你需要在连接时启用 MM2 的触摸功能,默认情况下它是关闭的,所以没有触摸事件进来。只有当你向左或向右单击或移动鼠标时才会得到事件。

因此,我正在寻找有关如何使该鼠标工作的指导。我发现了一些来自 Mac 的蓝牙数据包日志,可以在我认为“pair.txt”最有价值的地方使用它们。该文件过滤掉了重要的隐藏数据包,但我不确定要查找什么。

关于这个主题的文档很少,因此,如果有人可以向我展示 da wae,将不胜感激。

drivers mouse apple hid

10
推荐指数
2
解决办法
3万
查看次数

为什么设备显示为 hidraw 而不是 hiddev?

我阅读了 hidraw 和 hiddev 的内核文档,我了解它们之间的差异,但我想知道内核如何决定设备是否应显示为/dev/hidraw*/dev/usb/hiddev*

drivers devices linux-kernel hid

8
推荐指数
1
解决办法
2687
查看次数

在 Mac OS X 上仅通过 /dev/ttys000 路由键盘

我有一个充当 HID 的 USB RFID 阅读器 - 假装是键盘。如果卡片/标签接近,它会01234567890\n像任何键盘一样直接“输入” (即标签代码后跟换行符)进入活动应用程序。

我可以通过 tailing 轻松捕获该设备的输出/dev/ttys000,但 Mac OS X 仍将这些字符写入最前面的应用程序。

有什么方法可以专门捕获该 tty 或以其他方式禁用 UI 中的设备,以便我可以将 RFID 阅读器输出仅路由到我的脚本?

如果您的代码可以通过编程方式创建排他锁,而不是安装额外的软件来路由键盘,那么您将获得额外奖励。

osx usb hid

5
推荐指数
0
解决办法
1497
查看次数

单击注册为双击 - CentOS 7 中软件单击反跳

我需要一个适用于 RHEL/CentOS 的软件点击消除抖动解决方案。我在单击鼠标时出现间歇性但频繁的双击。这个问题在 Windows 10 上不会发生,因为罗技(或微软)似乎在软件层面进行了补偿。

在 Windows 中,可以通过使用AutoHotKey 的简单脚本来解决类似的问题,例如:

LButton::   
    If (A_TimeSincePriorHotkey < 150) ;hyperclick
        Return
    Click Down
    KeyWait, LButton
    Click Up
Return
Run Code Online (Sandbox Code Playgroud)

或者使用Buggy-Mouse.ahk,但我一直无法找到适用于 RHEL/CentOS 的维护解决方案。AutoHotKey 有一个名为IronAHK的 Linux 端口,但它在 github 上的最后一次更新是六年前。

在避免非常快速的双击上有一个类似问题的答案,但提供的解决方案适用于 Arch Linux。

scripting hardware centos mouse hid

5
推荐指数
1
解决办法
2959
查看次数

如何让我的设备被识别为 HID 设备?

我正在尝试让 USB HID 设备在 Ubuntu 中工作,但似乎根本无法让它工作。它是一个 USB HID 设备,在 dmesg 中显示如下:

[ 2236.277518] usb 1-1: new full-speed USB device number 17 using xhci_hcd
[ 2236.429224] usb 1-1: New USB device found, idVendor=0b6a, idProduct=5346
[ 2236.429230] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2236.429234] usb 1-1: Product: Rejoyce 
[ 2236.429237] usb 1-1: Manufacturer: REHABTRONICS
[ 2236.429240] usb 1-1: SerialNumber: 0000
[ 2758.828284] usb 1-1: USB disconnect, device number 17
[ 2760.813658] usb 1-1: new full-speed USB device number …
Run Code Online (Sandbox Code Playgroud)

drivers usb udev hid

5
推荐指数
0
解决办法
1万
查看次数

无线鼠标,非常奇怪的行为

在最近一次apt full-upgrade包括内核更新之后,我现在两次遇到了一个相当奇怪的问题,更重要的是,我一生都无法弄清楚我找到的唯一解决方案如何以及为什么能够真正修复它。

现在有两次,当我在观看视频时闲置 20-30 分钟时,我的鼠标(Logitech M510,一直工作完美,我几乎可以肯定不是问题所在,正如我将在下面描述的那样)已经禁用了指针,同时保持按钮功能。

1.电池已更换,鼠标已关闭并重新打开多次,这两者都没有任何区别。

2.同样,移除 USB 统一接收器也无法解决问题。

3. dmesg不记录任何错误、警告。当接收器重新插入时,输出与以前一样正常:

    usb 4-1.1: USB disconnect, device number 3
    usb 4-1.1: new full-speed USB device number 5 using ehci-pci
    usb 4-1.1: New USB device found, idVendor=046d, idProduct=c52b, bcdDevice=24.07
    usb 4-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    usb 4-1.1: Product: USB Receiver
    usb 4-1.1: Manufacturer: Logitech
    logitech-djreceiver 0003:046D:C52B.0008: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:1d.0-1.1/input2
    input: Logitech M510 as /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.1/4-1.1:1.2/0003:046D:C52B.0008/0003:046D:4051.0009/input/input38
    logitech-hidpp-device 0003:046D:4051.0009: …
Run Code Online (Sandbox Code Playgroud)

mouse xinput hid

5
推荐指数
0
解决办法
909
查看次数

如何将 hid 通用驱动程序绑定到由不同 hid 驱动程序采用的 hid 接口?

我面临的问题的简短背景。我正在致力于使用 USB 桥接器 FT260 实现同步 UART/I2C 操作。该芯片依靠 HID 报告来提供这些功能。插入后,hid 通用驱动程序会检测两个接口:0 和 1,第一个用于 I2C,第二个用于 UART。目前,我有支持 I2C的 FT260 驱动程序,仅作为模块加载(即hid-ft260),并且工作正常。然后后者接管了 hid-generic,我认为usbhid对此负责。lsusb -t返回:

|__ Port 2: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
Run Code Online (Sandbox Code Playgroud)

dmesg启动时显示如下:

hid-generic 0003:0403:6030.0001: hidraw0: USB HID v1.11 Device [FTDI FT260] on usb-xhci-hcd.1.auto-1.2
hid-generic 0003:0403:6030.0002: hidraw1: USB HID v1.11 Device [FTDI FT260] on usb-xhci-hcd.1.auto-1.2
ft260 0003:0403:6030.0001: hidraw0: USB …
Run Code Online (Sandbox Code Playgroud)

drivers usb kernel-modules bind hid

5
推荐指数
1
解决办法
2149
查看次数

如何写入由 hid-sony.c 创建的 Buzz 控制器 HID 设备以运行 LED?

我已经尝试了一段时间,但一直无法找到一种方法来控制 Buzz 游戏(有线,来自 Playstation 2)中一组控制器上的灯光。您可以在 Stack Overflow 上的问题中看到我的一些失败尝试

因此,我转向了一种更基本的 linux 消息发送方法,但也未能通过将数据传送到 /dev/hidraw0 来实现。

然后我在 linux 存储库中发现了一个文件,它专门指的是 buzz 控制器(/linux/drivers/hid/hid-sony.c),并且它们有一个灯。它甚至有一个名为 buzz_set_leds 的方法(第 1512 行):

static void buzz_set_leds(struct sony_sc *sc)
Run Code Online (Sandbox Code Playgroud)

所以我 100% 确定这是代码完成我正在尝试做的事情。

我已经尝试将其包含在 ac 文件中,但无法包含 hid-sony,因为我似乎缺少这些文件。

#include <linux/device.h>
#include <linux/hid.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/leds.h>
#include <linux/power_supply.h>
#include <linux/spinlock.h>
#include <linux/list.h>
#include <linux/idr.h>
#include <linux/input/mt.h>

#include "hid-ids.h"
Run Code Online (Sandbox Code Playgroud)

在编译中,我收到此错误:

hid-sony.c:29:26: fatal error: linux/device.h: No such file or directory
 #include <linux/device.h>
                          ^
compilation terminated. …
Run Code Online (Sandbox Code Playgroud)

linux drivers usb hid

3
推荐指数
1
解决办法
1752
查看次数