handMech_keyb-serial_old.py (4474B)
1 from time import sleep 2 import serial 3 import keyboard 4 import os 5 6 ser = serial.Serial('/dev/ttyUSB0', 9600) # Establish the connection on a specific port 7 os.system("stty -echo") 8 9 previous_status = "0" 10 previous_message = "" 11 12 def write_serial(status, printed): 13 global previous_status 14 if status != previous_status: 15 os.system('clear') 16 print(printed) 17 ser.write(str(status)) 18 previous_status = status 19 20 def clear_serial(status): 21 global previous_status 22 if status != previous_status: 23 os.system('clear') 24 print("WAITING FOR USER INPUT! (TRY Q,W,E,R,T,A,S,D,F)") 25 ser.write(str(status)) 26 previous_status = status 27 28 def sys_message(message): 29 global previous_message 30 if message != previous_message: 31 os.system('clear') 32 print(message) 33 previous_message = message 34 35 while True: 36 if keyboard.is_pressed('q'): 37 write_serial(2, "KEYBOARD KEY [Q] PRESSED!") 38 sleep(0.25) 39 clear_serial(0) 40 elif keyboard.is_pressed('w'): 41 write_serial(3, "KEYBOARD KEY [W] PRESSED!") 42 sleep(0.25) 43 clear_serial(0) 44 elif keyboard.is_pressed('e'): 45 write_serial(4, "KEYBOARD KEY [E] PRESSED!") 46 sleep(0.25) 47 clear_serial(0) 48 elif keyboard.is_pressed('r'): 49 write_serial(5, "KEYBOARD KEY [R] PRESSED!") 50 sleep(0.25) 51 clear_serial(0) 52 elif keyboard.is_pressed('a'): 53 write_serial(6, "KEYBOARD KEY [A] PRESSED!") 54 sleep(0.25) 55 clear_serial(0) 56 elif keyboard.is_pressed('s'): 57 write_serial(7, "KEYBOARD KEY [S] PRESSED!") 58 sleep(0.25) 59 clear_serial(0) 60 elif keyboard.is_pressed('d'): 61 write_serial(8, "KEYBOARD KEY [D] PRESSED!") 62 sleep(0.25) 63 clear_serial(0) 64 elif keyboard.is_pressed('f'): 65 write_serial(9, "KEYBOARD KEY [F] PRESSED!") 66 sleep(0.25) 67 clear_serial(0) 68 elif keyboard.is_pressed('z'): 69 write_serial(11, "KEYBOARD KEY [Z] PRESSED!") 70 sleep(0.25) 71 clear_serial(0) 72 elif keyboard.is_pressed('x'): 73 write_serial(12, "KEYBOARD KEY [X] PRESSED!") 74 sleep(0.25) 75 clear_serial(0) 76 elif keyboard.is_pressed('t'): 77 write_serial(13, "KEYBOARD KEY [T] PRESSED!") 78 sleep(0.25) 79 clear_serial(0) 80 elif keyboard.is_pressed('y'): 81 write_serial(14, "KEYBOARD KEY [Y] PRESSED!") 82 sleep(0.25) 83 clear_serial(0) 84 elif keyboard.is_pressed('g'): 85 write_serial(15, "KEYBOARD KEY [G] PRESSED!") 86 sleep(0.25) 87 clear_serial(0) 88 elif keyboard.is_pressed('h'): 89 write_serial(16, "KEYBOARD KEY [H] PRESSED!") 90 sleep(0.25) 91 clear_serial(0) 92 elif keyboard.is_pressed('b'): 93 write_serial(17, "KEYBOARD KEY [B] PRESSED!") 94 sleep(0.25) 95 clear_serial(0) 96 elif keyboard.is_pressed('n'): 97 write_serial(18, "KEYBOARD KEY [N] PRESSED!") 98 sleep(0.25) 99 clear_serial(0) 100 elif keyboard.is_pressed('u'): 101 write_serial(19, "KEYBOARD KEY [U] PRESSED!") 102 sleep(0.25) 103 clear_serial(0) 104 elif keyboard.is_pressed('i'): 105 write_serial(20, "KEYBOARD KEY [I] PRESSED!") 106 sleep(0.25) 107 clear_serial(0) 108 elif keyboard.is_pressed('j'): 109 write_serial(21, "KEYBOARD KEY [J] PRESSED!") 110 sleep(0.25) 111 clear_serial(0) 112 elif keyboard.is_pressed('k'): 113 write_serial(22, "KEYBOARD KEY [K] PRESSED!") 114 sleep(0.25) 115 clear_serial(0) 116 elif keyboard.is_pressed('1'): 117 write_serial(23, "KEYBOARD KEY [1] PRESSED!") 118 sleep(0.25) 119 clear_serial(0) 120 elif keyboard.is_pressed('2'): 121 write_serial(24, "KEYBOARD KEY [2] PRESSED!") 122 sleep(0.25) 123 clear_serial(0) 124 elif keyboard.is_pressed('o'): 125 write_serial(10, "POSITIONS RESET!") 126 sleep(0.25) 127 clear_serial(0) 128 elif keyboard.is_pressed('p'): 129 write_serial(1, "DONE.") 130 sleep(1) 131 os.system('stty echo') 132 os.system('clear') 133 exit() 134 else: 135 sys_message("WAITING FOR USER INPUT! (TRY Q,W,E,R,T,A,S,D,F)")