Restore pynput solution. Thuis requires an x-server while running
This commit is contained in:
parent
853be109e7
commit
ce88168e2e
1 changed files with 92 additions and 69 deletions
|
@ -15,6 +15,7 @@ from monitors import CPUMonitor, MemoryMonitor, BatteryMonitor, DiskMonitor, Net
|
|||
|
||||
# External Dependencies
|
||||
import numpy as np
|
||||
from pynput.keyboard import Key, Listener
|
||||
import evdev
|
||||
from serial.tools import list_ports
|
||||
|
||||
|
@ -113,6 +114,27 @@ def main(args):
|
|||
"none": lambda *x: x # noop
|
||||
}
|
||||
|
||||
def on_press(key):
|
||||
global alt_pressed
|
||||
global i_pressed
|
||||
if type(key).__name__ == 'KeyCode':
|
||||
if key.char == 'i':
|
||||
i_pressed = True
|
||||
elif key == Key.alt:
|
||||
alt_pressed = True
|
||||
|
||||
def on_release(key):
|
||||
global alt_pressed
|
||||
global i_pressed
|
||||
if type(key).__name__ == 'KeyCode':
|
||||
if key.char == 'i':
|
||||
i_pressed = False
|
||||
elif key == Key.alt:
|
||||
alt_pressed = False
|
||||
if key == Key.esc:
|
||||
# Stop listener
|
||||
return False
|
||||
|
||||
#################################################
|
||||
### Load app functions from plugins ###
|
||||
if not re.search(r"--disable-plugins|-dp", str(sys.argv)):
|
||||
|
@ -133,7 +155,9 @@ def main(args):
|
|||
if args.snapshot_duration > args.snapshot_interval:
|
||||
print("Snapshot duration must be less than snapshot interval. Exiting...")
|
||||
sys.exit(0)
|
||||
start_time = time.time()
|
||||
with Listener(
|
||||
on_press=on_press,
|
||||
on_release=on_release):
|
||||
while True:
|
||||
elapsed_time = time.time()
|
||||
show_snapshot = True if args.snapshot_interval == 0 or elapsed_time % args.snapshot_interval <= args.snapshot_duration else False
|
||||
|
@ -142,8 +166,7 @@ def main(args):
|
|||
background_value = int(screen_brightness * (max_background_brightness - min_background_brightness) + min_background_brightness)
|
||||
foreground_value = int(screen_brightness * (max_foreground_brightness - min_foreground_brightness) + min_foreground_brightness)
|
||||
grid = np.zeros((9,34), dtype = int)
|
||||
active_keys = device.active_keys(verbose=True)
|
||||
if (MODIFIER_KEYS[0] in active_keys or MODIFIER_KEYS[1] in active_keys) and KEY_I in active_keys and not args.no_key_listener:
|
||||
if i_pressed and alt_pressed and not args.no_key_listener:
|
||||
if args.left_snap and show_snapshot:
|
||||
draw_id(grid, "snap", foreground_value)
|
||||
else:
|
||||
|
|
Loading…
Add table
Reference in a new issue