|
|
@ -157,26 +157,34 @@ def _list_devices(): |
|
|
|
print_dotted_output(data) |
|
|
|
print_dotted_output(data) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def xap_doit(): |
|
|
|
def xap_dump_keymap(device): |
|
|
|
print("xap_doit") |
|
|
|
|
|
|
|
# get layer count |
|
|
|
# get layer count |
|
|
|
# layers = _xap_transaction(device, 0x04, 0x01) |
|
|
|
layers = _xap_transaction(device, 0x04, 0x01) |
|
|
|
# layers = int.from_bytes(layers, "little") |
|
|
|
layers = int.from_bytes(layers, "little") |
|
|
|
# print(f'layers:{layers}') |
|
|
|
print(f'layers:{layers}') |
|
|
|
|
|
|
|
|
|
|
|
# get keycode [layer:0, row:0, col:0] |
|
|
|
# get keycode [layer:0, row:0, col:0] |
|
|
|
# keycode = _xap_transaction(device, 0x04, 0x02, b"\x00\x00\x00") |
|
|
|
# keycode = _xap_transaction(device, 0x04, 0x02, b"\x00\x00\x00") |
|
|
|
# keycode = int.from_bytes(keycode, "little") |
|
|
|
|
|
|
|
# keycode_map = { |
|
|
|
|
|
|
|
# # TODO: this should be data driven... |
|
|
|
|
|
|
|
# 0x04: 'KC_A', |
|
|
|
|
|
|
|
# 0x05: 'KC_B', |
|
|
|
|
|
|
|
# 0x29: 'KC_ESCAPE' |
|
|
|
|
|
|
|
# } |
|
|
|
|
|
|
|
# print('keycode:' + keycode_map.get(keycode, 'unknown')) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# get encoder [layer:0, index:0, clockwise:0] |
|
|
|
|
|
|
|
keycode = _xap_transaction(device, 0x05, 0x02, b"\x00\x00\x00") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
keycode = int.from_bytes(keycode, "little") |
|
|
|
|
|
|
|
keycode_map = { |
|
|
|
|
|
|
|
# TODO: this should be data driven... |
|
|
|
|
|
|
|
0x04: 'KC_A', |
|
|
|
|
|
|
|
0x05: 'KC_B', |
|
|
|
|
|
|
|
0x29: 'KC_ESCAPE', |
|
|
|
|
|
|
|
0xF9: 'KC_MS_WH_UP', |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
print(f'keycode:{keycode_map.get(keycode, "unknown")}') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def xap_doit(): |
|
|
|
|
|
|
|
print("xap_doit") |
|
|
|
# Reboot |
|
|
|
# Reboot |
|
|
|
# _xap_transaction(device, 0x01, 0x07) |
|
|
|
# _xap_transaction(device, 0x01, 0x07) |
|
|
|
|
|
|
|
exit(1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def xap_broadcast_listen(device): |
|
|
|
def xap_broadcast_listen(device): |
|
|
@ -227,6 +235,9 @@ def xap(cli): |
|
|
|
xap_unlock(device) |
|
|
|
xap_unlock(device) |
|
|
|
cli.log.info("Done") |
|
|
|
cli.log.info("Done") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
elif cli.args.action == 'dump': |
|
|
|
|
|
|
|
xap_dump_keymap(device) |
|
|
|
|
|
|
|
|
|
|
|
elif cli.args.action == 'listen': |
|
|
|
elif cli.args.action == 'listen': |
|
|
|
xap_broadcast_listen(device) |
|
|
|
xap_broadcast_listen(device) |
|
|
|
|
|
|
|
|
|
|
|