2017-05-12 2 views
0

ich ein Python-Skript haben, die die QR-Codes scannen und dekodieren sollQR Code Scanning schief geht mit dem Python-Code

import string 
from evdev import InputDevice 
from select import select 

keys = "X^1234567890XXXXqwertzuiopXXXXasdfghjklXXXXXyxcvbnmXXXXXXXXXXXXXXXXXXXXXXX" 
dev = InputDevice('/dev/input/by-id/usb-Manufacturer_Barcode_Reader-event-kbd') 

while True: 
    r,w,x = select([dev], [], []) 
    for event in dev.read(): 
     if event.type==1 and event.value==1: 
       print(keys[ event.code ]) 

Wenn ich den QR-Code mit diesem Satz von Tasten zu scannen, nicht ich jede Sonderzeichen wie &=:\\ wie sie in keys nicht verfügbar sind, aber wenn ich die diese Linie als

keys = "qwertyuiopasdfghjklzxcvbnm[];,./{}:X^[email protected]#$%^&*()_+-=1234567890

die dekodierte Zeichenkette erhalten mehr schlimmer ändern. Gibt es eine spezielle Anweisung, es zu ändern? Die tatsächliche Zeichenfolge sein sollte name=random&&age=23&&gender=male

aber es scheint, als namexrandomxxagex2x3xxgenderxmale

und mit meinen Änderungen es schmutzig wird. Wie sollte ich die Schlüsselzeile ändern, um die richtige Zeichenfolge zu erhalten.

Antwort

0

Haben Sie den Fehler, gibt es eine Sequenz für alle Schlüssel, wenn wir es in zufälliger Weise nicht nach Tastaturlayout bearbeiten. Wir bekommen seltsame Ergebnisse, um die Reihenfolge der Speicherschlüssel nach dem Schlüsselmuster der Tastatur zu vermeiden.