2 changed files with 98 additions and 6 deletions
@ -0,0 +1,84 @@ |
|||
from serialTest import SerialListener |
|||
from serialTest import MOVEMENT |
|||
import os |
|||
import subprocess |
|||
|
|||
#5 - 101 - a d |
|||
#4 - xxx |
|||
#3 - 104 - 1 2 3 4 5 |
|||
#2 - 103 - hz |
|||
#1 - 102 - w s |
|||
#upButton = 1001 |
|||
|
|||
class ENTER: |
|||
def __init__(self): |
|||
self.pin = 1001 |
|||
self.enter = "xdotool key Return".split() |
|||
def __call__(self): |
|||
print(self.enter) |
|||
subprocess.Popen(self.enter) |
|||
|
|||
class AD: |
|||
def __init__(self): |
|||
self.pin = 101 |
|||
self.a = "xdotool key a".split() |
|||
self.d = "xdotool key d".split() |
|||
|
|||
def __call__(self, data): |
|||
if data[2] == MOVEMENT.LEFT: |
|||
print(self.a) |
|||
subprocess.Popen(self.a) |
|||
if data[2] == MOVEMENT.RIGHT: |
|||
print(self.d) |
|||
subprocess.Popen(self.d) |
|||
|
|||
class WS: |
|||
def __init__(self): |
|||
self.pin = 101 |
|||
self.w = "xdotool key w".split() |
|||
self.s = "xdotool key s".split() |
|||
|
|||
def __call__(self, data): |
|||
if data[2] == MOVEMENT.LEFT: |
|||
print(self.s) |
|||
subprocess.Popen(self.s) |
|||
if data[2] == MOVEMENT.RIGHT: |
|||
print(self.w) |
|||
subprocess.Popen(self.w) |
|||
|
|||
class MODE: |
|||
def __init__(self): |
|||
self.pin = 104 |
|||
self.min_key = 1 |
|||
self.max_key = 5 |
|||
self.current_key = 1 |
|||
|
|||
def __call__(self, data): |
|||
if data[2] == MOVEMENT.LEFT: |
|||
self.current_key -= 1 |
|||
if data[2] == MOVEMENT.RIGHT: |
|||
self.current_key += 1 |
|||
|
|||
if (self.current_key < self.min_key): |
|||
self.current_key = self.min_key |
|||
|
|||
if (self.current_key > self.max_key): |
|||
self.current_key = self.max_key |
|||
|
|||
cmd = f"xdotool key {self.current_key}".split() |
|||
print(cmd) |
|||
subprocess.Popen(cmd) |
|||
|
|||
if __name__ == "__main__": |
|||
os.environ['DISPLAY'] = ':0' |
|||
binds = { |
|||
101: AD(), |
|||
104: MODE(), |
|||
102: WS(), |
|||
1001: ENTER() |
|||
} |
|||
|
|||
listener = SerialListener() |
|||
for pin in listener.listen(): |
|||
if pin[0].id in binds: |
|||
binds[pin[0].id](pin) |
|||
Loading…
Reference in new issue