cython-hidapi (pip install hidapi
aracılığıyla yüklenebilir) kullanılarak yapılan basit bir sınama çalışmam var - bu, yorumlarda bağlantılı olandan farklıdır, ancak işlevde benzer gibi görünüyor). Ayrıca, hidapi-devel
'u macport'lardan yüklemiştim, ancak bağlantı noktasının devre dışı bırakılmasından sonra çalışmaya devam ettiğinden bunun gerekli olduğundan emin değilim. VID kullanmaya örnek try.py değiştirerek
/Microsoft USB kablosuz klavye/fare cihazının PID
from __future__ import print_function
import hid
import time
print("Opening the device")
h = hid.device()
h.open(1118, 2048) # A Microsoft wireless combo keyboard & mouse
print("Manufacturer: %s" % h.get_manufacturer_string())
print("Product: %s" % h.get_product_string())
print("Serial No: %s" % h.get_serial_number_string())
try:
while True:
d = h.read(64)
if d:
print('read: "{}"'.format(d))
finally:
print("Closing the device")
h.close()
aşağıdaki Ve şu çıktıyı elde edebildi $ sudo python try.py
ile çalışan olarak:
Opening the device
Manufacturer: Microsoft
Product: Microsoft® Nano Transceiver v2.0
Serial No: None
read: "[0, 0, 0, 0, 0, 0, 0, 0]"
read: "[0, 0, 0, 0, 0, 0, 0, 0]"
read: "[0, 0, 0, 0, 0, 0, 0, 0]"
--8<-- snip lots of repeated lines --8<--
read: "[0, 0, 0, 0, 0, 0, 0, 0]"
read: "[0, 0, 0, 0, 0, 0, 0, 0]"
read: "[0, 0, 21, 0, 0, 0, 0, 0]"
read: "[0, 0, 21, 0, 0, 0, 0, 0]"
read: "[0, 0, 21, 0, 0, 0, 0, 0]"
read: "[0, 0, 21, 0, 0, 0, 0, 0]"
read: "[0, 0, 0, 0, 0, 0, 0, 0]"
read: "[0, 0, 4, 0, 0, 0, 0, 0]"
read: "[0, 0, 4, 22, 0, 0, 0, 0]"
read: "[0, 0, 4, 22, 0, 0, 0, 0]"
read: "[0, 0, 4, 22, 0, 0, 0, 0]"
read: "[0, 0, 4, 22, 0, 0, 0, 0]"
read: "[0, 0, 4, 22, 0, 0, 0, 0]"
read: "[0, 0, 4, 0, 0, 0, 0, 0]"
read: "[0, 0, 4, 0, 0, 0, 0, 0]"
read: "[0, 0, 4, 9, 0, 0, 0, 0]"
read: "[0, 0, 4, 9, 0, 0, 0, 0]"
read: "[0, 0, 4, 9, 0, 0, 0, 0]"
read: "[0, 0, 4, 9, 0, 0, 0, 0]"
read: "[0, 0, 4, 9, 7, 0, 0, 0]"
read: "[0, 0, 4, 9, 7, 0, 0, 0]"
read: "[0, 0, 7, 0, 0, 0, 0, 0]"
^CClosing the device
Traceback (most recent call last):
File "try.py", line 17, in <module>
d = h.read(64)
KeyboardInterrupt
Kullandığım belirli aygıt, diğer şeyler arasında klavye & fare için birden çok HID aygıtı olarak numaralandırma gibi görünüyor, bu yüzden bir aldığınız, ancak bir barkod tarayıcı için biraz rastgele gibi görünüyor oldukça düz olmalı.
Yanıt yok, ancak [this] (http://www.signal11.us/oss/hidapi/) ve 'ioreg -rtn IOHIDKeyboard' komutunu buldum. – Potatoswatter
https://github.com/apmorton/pyhidapi adresini denediniz mi? – pigletfly