Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # Copyright Kris Occhipinti
- # June 27th 2018
- # https://filmsbykris.com
- # Licensed under the GPLv3
- # https://www.gnu.org/licenses/gpl-3.0.txt
- #
- # Allows normal HID Keyboard like device to be read in background
- # Install needed files
- # sudo apt install xinput python-evdev
- #
- # Disable device as HID in Xorg (Sycreader in my exmaple)
- # xinput --disable "$(xinput|grep "Sycreader RFID Technology"|cut -d\= -f2|awk '{print $1}')"
- #
- # You will probably want to make the device readable rather then run this script as root
- # sudo chmod +r /dev/input/by-id/usb-Sycreader_RFID_Technology_Co.__Ltd_SYC_ID_IC_USB_Reader_08FF20140315-event-kbd
- # (again Sycreader_RFID is my device change to your device
- import os
- from evdev import InputDevice, categorize, ecodes
- output = ""
- #set your device
- dev = "/dev/input/by-id/usb-Sycreader_RFID_Technology_Co.__Ltd_SYC_ID_IC_USB_Reader_08FF20140315-event-kbd"
- device = InputDevice(dev) # my keyboard
- #check list of codes and run command if cound
- def find_command(code):
- for line in open("codes.lst"):
- if code in line:
- command = line.split("|")[1].rstrip("\n\r") + " &"
- print(command)
- os.system(command)
- #main loop
- for event in device.read_loop():
- if event.type == ecodes.EV_KEY & event.value == 1:
- #print(categorize(event))
- # 28 is enter key.
- #so when "Enter" is pressed
- if event.code == 28:
- print(output)
- find_command(output)
- # if output == "2267233788":
- # os.system("/usr/games/minetest &")
- #clear Variable
- output = ""
- else:
- #if "Enter" is not pressed add last value to string
- output += str(event.code)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement