diff options
Diffstat (limited to 'util')
-rwxr-xr-x | util/link.sh | 2 | ||||
-rw-r--r-- | util/raw.py | 49 |
2 files changed, 50 insertions, 1 deletions
diff --git a/util/link.sh b/util/link.sh index a451438..c0231bf 100755 --- a/util/link.sh +++ b/util/link.sh @@ -23,9 +23,9 @@ link() { } link crkbd crkbd +link beiwagon boardsource/beiwagon link bully mkh_studio/bully link f60 bioi/f60 -link ferris ferris link kyria splitkb/kyria link relic projectcain/relic link vault35 projectcain/vault35 diff --git a/util/raw.py b/util/raw.py new file mode 100644 index 0000000..fe63d49 --- /dev/null +++ b/util/raw.py @@ -0,0 +1,49 @@ +# Copyright 2025 [email protected] +# SPDX-License-Identifier: GPL-2.0-or-later +import hid +import sys +import psutil +import math +import time +import datetime + +vendor_id = 0x6A73 +product_id = 0x6B62 +usage_page = 0xFF60 +usage = 0x61 + + +def get_raw_hid_interface(): + device_interfaces = hid.enumerate(vendor_id, product_id) + raw_hid_interfaces = [ + i + for i in device_interfaces + if i["usage_page"] == usage_page and i["usage"] == usage + ] + if len(raw_hid_interfaces) == 0: + return None + interface = hid.Device(path=raw_hid_interfaces[0]["path"]) + return interface + + +def send_packet(data): + interface = get_raw_hid_interface() + if interface is None: + print("no device found") + sys.exit(1) + request_data = [0x00] * 32 + request_data[1 : len(data) + 1] = data + request_packet = bytes(request_data) + try: + interface.write(request_packet) + finally: + interface.close() + + +if __name__ == "__main__": + while True: + time.sleep(30) + cpu_temp = psutil.sensors_temperatures()["gigabyte_wmi"][2] + cur_hour = datetime.datetime.now().strftime("%H") + cur_minute = datetime.datetime.now().strftime("%M") + send_packet([math.trunc(cpu_temp.current), int(cur_hour), int(cur_minute)]) |