2022-05-22 15:01:37 +00:00
|
|
|
# XAP
|
|
|
|
|
|
|
|
XAP (“extensible application protocol”) API intends to provide access to various QMK subsystems.
|
|
|
|
|
|
|
|
## Overview
|
|
|
|
|
2022-06-21 12:27:45 +00:00
|
|
|
```mermaid
|
|
|
|
%%{init: {'themeVariables': { 'fontSize': '24px'}}}%%
|
|
|
|
flowchart LR
|
|
|
|
dev[QMK Device] <-- XAP --> host[Host Computer]
|
|
|
|
```
|
|
|
|
|
|
|
|
The intention is to provide access to QMK subsystems through a versioned and documented protocol.
|
2022-05-22 15:01:37 +00:00
|
|
|
|
|
|
|
## Protocol Reference
|
|
|
|
|
|
|
|
[protocol_versions](xap_protocol.md ':include')
|
|
|
|
|
|
|
|
## Clients
|
|
|
|
|
|
|
|
TODO
|
|
|
|
|
|
|
|
## CLI
|
|
|
|
|
|
|
|
The QMK CLI provides a few XAP specific commands for diagnosis purposes.
|
|
|
|
|
|
|
|
### List Connected Devices
|
|
|
|
Simple
|
|
|
|
```
|
|
|
|
$ qmk xap --list
|
|
|
|
Ψ Available devices:
|
|
|
|
Ψ 7844:8450 KPrepublic XD84 Pro [API:0.2.0] LOCKED
|
|
|
|
```
|
|
|
|
|
|
|
|
Verbose
|
|
|
|
```
|
|
|
|
$ qmk --verbose xap --list
|
|
|
|
Ψ Available devices:
|
|
|
|
Ψ 7844:8450 KPrepublic XD84 Pro [API:0.2.0] LOCKED
|
|
|
|
_id: 553831323538150A2113000000000000
|
|
|
|
backlight.pin: F5
|
|
|
|
bootloader: atmel-dfu
|
|
|
|
community_layouts: 75_ansi, 75_iso
|
|
|
|
debounce: 5
|
|
|
|
diode_direction: COL2ROW
|
|
|
|
features.audio: False
|
|
|
|
features.backlight: True
|
|
|
|
features.bootmagic: True
|
|
|
|
features.command: False
|
|
|
|
features.console: False
|
|
|
|
features.extrakey: True
|
|
|
|
features.mousekey: False
|
|
|
|
features.nkro: True
|
|
|
|
features.rgblight: True
|
|
|
|
indicators.caps_lock: B2
|
|
|
|
keyboard_folder: xiudi/xd84pro
|
|
|
|
keyboard_name: XD84 Pro
|
|
|
|
layouts: LAYOUT_75_ansi, LAYOUT_75_iso, LAYOUT_all
|
|
|
|
maintainer: qmk
|
|
|
|
manufacturer: KPrepublic
|
|
|
|
matrix_pins.cols: B1, B3, B4, B5, B6, B7, C6, C7, D4, D6, D7, E6, F0, F1, F7
|
|
|
|
matrix_pins.rows: D0, D1, D2, D3, D5, F4
|
|
|
|
matrix_pins.unused: B0, E2
|
|
|
|
matrix_size.cols: 15
|
|
|
|
matrix_size.rows: 6
|
|
|
|
mouse_key.enabled: False
|
|
|
|
platform: unknown
|
|
|
|
processor: atmega32u4
|
|
|
|
processor_type: avr
|
|
|
|
protocol: LUFA
|
|
|
|
rgblight.animations.all: False
|
|
|
|
rgblight.led_count: 12
|
|
|
|
rgblight.pin: F6
|
|
|
|
rgblight.sleep: False
|
|
|
|
url:
|
|
|
|
usb.device_ver: 0x0001
|
|
|
|
usb.device_version: 0.0.1
|
|
|
|
usb.pid: 0x8450
|
|
|
|
usb.vid: 0x7844
|
|
|
|
```
|
|
|
|
|
|
|
|
### Interactive shell
|
|
|
|
```
|
|
|
|
$ qmk xap -i
|
|
|
|
Ψ Connected to:7844:8450 KPrepublic XD84 Pro
|
|
|
|
Welcome to the XAP shell. Type help or ? to list commands.
|
|
|
|
|
|
|
|
Ψ> help
|
|
|
|
|
|
|
|
Documented commands (type help <topic>):
|
|
|
|
========================================
|
|
|
|
EOF about exit help keycode keymap layer listen unlock
|
|
|
|
|
|
|
|
Ψ>
|
|
|
|
```
|