3f9d464412
* usb_device_state: add idle_rate, led and protocol Previously all usb drivers and platform implementations (expect for our oddball atsam) tracked the same two global variables: - keyboard_protocol: to indicate if we are in report or boot protocol - keyboard_idle: for the idle_rate of the keyboard endpoint And a local variable that was exposed trough some indirection: - keyboard_led_state: for the currently set indicator leds (caps lock etc.) These have all been moved into the usb_device_state struct wich is accessible by getters and setters. This reduces code duplication and centralizes the state management across platforms and drivers. Signed-off-by: Stefan Kerkmann <karlk90@pm.me> * usb_device_state: reset protocol on reset The usb hid specification section 7.2.6 states: When initialized, all devices default to report protocol. However the host should not make any assumptions about the device’s state and should set the desired protocol whenever initializing a device. Thus on reset we should always do exactly that. Signed-off-by: Stefan Kerkmann <karlk90@pm.me> * keyboards: fix oversize warnings Signed-off-by: Stefan Kerkmann <karlk90@pm.me> --------- Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
107 lines
3.6 KiB
JSON
107 lines
3.6 KiB
JSON
{
|
|
"manufacturer": "takashicompany",
|
|
"keyboard_name": "miniDivide",
|
|
"maintainer": "takashicompany",
|
|
"build": {
|
|
"lto": true
|
|
},
|
|
"development_board": "promicro",
|
|
"diode_direction": "COL2ROW",
|
|
"features": {
|
|
"bootmagic": true,
|
|
"command": false,
|
|
"console": false,
|
|
"extrakey": true,
|
|
"mousekey": true,
|
|
"nkro": true,
|
|
"oled": true,
|
|
"rgblight": true
|
|
},
|
|
"matrix_pins": {
|
|
"cols": ["D4", "C6", "D7", "E6", "B4"],
|
|
"rows": ["F4", "F5", "F6", "F7"]
|
|
},
|
|
"pin_compatible": "promicro",
|
|
"rgblight": {
|
|
"animations": {
|
|
"alternating": true,
|
|
"breathing": true,
|
|
"christmas": true,
|
|
"knight": true,
|
|
"rainbow_mood": true,
|
|
"rainbow_swirl": true,
|
|
"snake": true,
|
|
"static_gradient": true,
|
|
"twinkle": true
|
|
},
|
|
"led_count": 10,
|
|
"sleep": true,
|
|
"split_count": [5, 5]
|
|
},
|
|
"split": {
|
|
"enabled": true,
|
|
"matrix_pins": {
|
|
"right": {
|
|
"cols": ["B4", "E6", "D7", "C6", "D4"],
|
|
"rows": ["F4", "F5", "F6", "F7"]
|
|
}
|
|
},
|
|
"serial": {
|
|
"pin": "D2"
|
|
}
|
|
},
|
|
"url": "",
|
|
"usb": {
|
|
"device_version": "0.0.1",
|
|
"pid": "0x0037",
|
|
"vid": "0x7463"
|
|
},
|
|
"ws2812": {
|
|
"pin": "D3"
|
|
},
|
|
"layouts": {
|
|
"LAYOUT": {
|
|
"layout": [
|
|
{"matrix": [0, 0], "x": 0, "y": 0.42},
|
|
{"matrix": [0, 1], "x": 0.84, "y": 0.21},
|
|
{"matrix": [0, 2], "x": 1.68, "y": 0},
|
|
{"matrix": [0, 3], "x": 2.52, "y": 0.21},
|
|
{"matrix": [0, 4], "x": 3.36, "y": 0.42},
|
|
{"matrix": [4, 0], "x": 6.3, "y": 0.42},
|
|
{"matrix": [4, 1], "x": 7.14, "y": 0.21},
|
|
{"matrix": [4, 2], "x": 7.98, "y": 0},
|
|
{"matrix": [4, 3], "x": 8.82, "y": 0.21},
|
|
{"matrix": [4, 4], "x": 9.66, "y": 0.42},
|
|
{"matrix": [1, 0], "x": 0, "y": 1.26},
|
|
{"matrix": [1, 1], "x": 0.84, "y": 1.05},
|
|
{"matrix": [1, 2], "x": 1.68, "y": 0.84},
|
|
{"matrix": [1, 3], "x": 2.52, "y": 1.05},
|
|
{"matrix": [1, 4], "x": 3.36, "y": 1.26},
|
|
{"matrix": [5, 0], "x": 6.3, "y": 1.26},
|
|
{"matrix": [5, 1], "x": 7.14, "y": 1.05},
|
|
{"matrix": [5, 2], "x": 7.98, "y": 0.84},
|
|
{"matrix": [5, 3], "x": 8.82, "y": 1.05},
|
|
{"matrix": [5, 4], "x": 9.66, "y": 1.26},
|
|
{"matrix": [2, 0], "x": 0, "y": 2.1},
|
|
{"matrix": [2, 1], "x": 0.84, "y": 1.89},
|
|
{"matrix": [2, 2], "x": 1.68, "y": 1.68},
|
|
{"matrix": [2, 3], "x": 2.52, "y": 1.89},
|
|
{"matrix": [2, 4], "x": 3.36, "y": 2.1},
|
|
{"matrix": [6, 0], "x": 6.3, "y": 2.1},
|
|
{"matrix": [6, 1], "x": 7.14, "y": 1.89},
|
|
{"matrix": [6, 2], "x": 7.98, "y": 1.68},
|
|
{"matrix": [6, 3], "x": 8.82, "y": 1.89},
|
|
{"matrix": [6, 4], "x": 9.66, "y": 2.1},
|
|
{"matrix": [3, 1], "x": 1.68, "y": 3.15},
|
|
{"matrix": [3, 2], "x": 2.52, "y": 3.15},
|
|
{"matrix": [3, 3], "x": 3.36, "y": 3.15},
|
|
{"matrix": [3, 4], "x": 4.2, "y": 3.15},
|
|
{"matrix": [7, 0], "x": 5.46, "y": 3.15},
|
|
{"matrix": [7, 1], "x": 6.3, "y": 3.15},
|
|
{"matrix": [7, 2], "x": 7.14, "y": 3.15},
|
|
{"matrix": [7, 3], "x": 7.98, "y": 3.15}
|
|
]
|
|
}
|
|
}
|
|
}
|