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