Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在OS X上使用python hidapi从键盘读取数据_Python_Macos_Hid - Fatal编程技术网

在OS X上使用python hidapi从键盘读取数据

在OS X上使用python hidapi从键盘读取数据,python,macos,hid,Python,Macos,Hid,我正在编写一个python脚本来访问键盘输入,而不管最前面的窗口是什么(我发誓这不是一个键盘记录器!)。我使用的是OS X,所以使用libusb/pyusb不起作用,因为OS X不允许您声明HID设备。我认为这可能是解决方案,所以我已经安装了,但我似乎无法从键盘上阅读。这是我的密码: import hid import time vendor_id = 1452 #apple product_id = 523 #older apple keyboard h = hid.device() h.

我正在编写一个python脚本来访问键盘输入,而不管最前面的窗口是什么(我发誓这不是一个键盘记录器!)。我使用的是OS X,所以使用libusb/pyusb不起作用,因为OS X不允许您声明HID设备。我认为这可能是解决方案,所以我已经安装了,但我似乎无法从键盘上阅读。这是我的密码:

import hid
import time

vendor_id = 1452 #apple
product_id = 523 #older apple keyboard

h = hid.device()
h.open(vendor_id, product_id)
h.set_nonblocking(1)

start = time.time()
keys = []
i = 0
while (time.time()-start)<10:
    #I press keys quickly during this 10s
    i = i + 1
    try:
        d = h.read(i)
        if d:
            keys.append([i,d])
    except:
        pass
    time.sleep(.01)

h.close()
print d #prints empty list
print i #gets to a reasonably large value (>800)
导入hid 导入时间 供应商id=1452#苹果 product_id=523#老式苹果键盘 h=hid.device() h、 打开(供应商id、产品id) h、 设置非阻塞(1) 开始=时间。时间() 键=[] i=0 while(time.time()-start)800)
我正在循环读取大小的各种值,因为我不确定需要在其中输入什么值,但无论值是什么,我似乎都无法从
read()
中获得任何结果。帮助?

您是否尝试作为root用户?sudo你的脚本。你试过当root吗?你的剧本。