summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xkeyboards/keychron/k14_pro/ansi/white/config.h7
-rwxr-xr-xkeyboards/keychron/k14_pro/config.h9
-rwxr-xr-xkeyboards/keychron/k14_pro/k14_pro.c9
-rwxr-xr-xkeyboards/keychron/k14_pro/via_json/k14_pro_ansi_rgb.json239
-rwxr-xr-xkeyboards/keychron/k14_pro/via_json/k14_pro_ansi_rgb_v1.00_20230330.json239
-rwxr-xr-xkeyboards/keychron/k14_pro/via_json/k14_pro_ansi_white.json178
-rwxr-xr-xkeyboards/keychron/k14_pro/via_json/k14_pro_ansi_white_v1.00_20230330.json178
7 files changed, 848 insertions, 11 deletions
diff --git a/keyboards/keychron/k14_pro/ansi/white/config.h b/keyboards/keychron/k14_pro/ansi/white/config.h
index 8d18ac0d5f..4e901a9418 100755
--- a/keyboards/keychron/k14_pro/ansi/white/config.h
+++ b/keyboards/keychron/k14_pro/ansi/white/config.h
@@ -17,11 +17,12 @@
#pragma once
#ifdef LED_MATRIX_ENABLE
-/* LED matrix driver configuration */
+/* LED Matrix Driver Configuration */
# define DRIVER_COUNT 1
# define DRIVER_ADDR_1 0b1110100
-# define DRIVER_1_LED_COUNT 72
-# define LED_MATRIX_LED_COUNT DRIVER_1_LED_COUNT
+
+/* LED Matrix Configuration */
+# define LED_MATRIX_LED_COUNT 72
/* Set to infinit, which is use in USB mode by default */
# define LED_MATRIX_TIMEOUT LED_MATRIX_TIMEOUT_INFINITE
diff --git a/keyboards/keychron/k14_pro/config.h b/keyboards/keychron/k14_pro/config.h
index 576617b4ce..4e35ef4fb8 100755
--- a/keyboards/keychron/k14_pro/config.h
+++ b/keyboards/keychron/k14_pro/config.h
@@ -75,18 +75,15 @@
# define BLUETOOTH_NKRO_ENABLE
/* Raw hid command for factory test and bluetooth DFU */
-# define RAW_HID_CMD 0xAA ... 0xAB
+# define RAW_HID_CMD 0xAA ... 0xAB
#else
/* Raw hid command for factory test */
-# define RAW_HID_CMD 0xAB
+# define RAW_HID_CMD 0xAB
#endif
/* Emulated EEPROM configuration */
#define FEE_DENSITY_BYTES FEE_PAGE_SIZE
-#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047
-
-/* Old default behavior of mod-taps */
-#define HOLD_ON_OTHER_KEY_PRESS
+#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047
/* Factory test keys */
#define FN_KEY1 MO(4)
diff --git a/keyboards/keychron/k14_pro/k14_pro.c b/keyboards/keychron/k14_pro/k14_pro.c
index b00758d262..cdf4a03322 100755
--- a/keyboards/keychron/k14_pro/k14_pro.c
+++ b/keyboards/keychron/k14_pro/k14_pro.c
@@ -142,7 +142,6 @@ void keyboard_post_init_kb(void) {
#ifdef KC_BLUETOOTH_ENABLE
/* Currently we don't use this reset pin */
- // palSetLineMode(CKBT51_RESET_PIN, PAL_MODE_UNCONNECTED);
palSetLineMode(CKBT51_RESET_PIN, PAL_MODE_OUTPUT_PUSHPULL);
palWriteLine(CKBT51_RESET_PIN, PAL_HIGH);
@@ -195,7 +194,6 @@ void matrix_scan_kb(void) {
#ifdef KC_BLUETOOTH_ENABLE
static void ckbt51_param_init(void) {
/* Set bluetooth device name */
- // ckbt51_set_local_name(STR(PRODUCT));
ckbt51_set_local_name(PRODUCT);
wait_ms(10);
/* Set bluetooth parameters */
@@ -209,6 +207,7 @@ static void ckbt51_param_init(void) {
.verndor_id = 0, // Must be 0x3434
.product_id = PRODUCT_ID};
ckbt51_set_param(&param);
+ wait_ms(10);
}
void bluetooth_enter_disconnected_kb(uint8_t host_idx) {
@@ -309,3 +308,9 @@ void raw_hid_receive(uint8_t *data, uint8_t length) {
}
}
#endif
+
+void suspend_wakeup_init_kb(void) {
+ // code will run on keyboard wakeup
+ clear_keyboard();
+ send_keyboard_report();
+}
diff --git a/keyboards/keychron/k14_pro/via_json/k14_pro_ansi_rgb.json b/keyboards/keychron/k14_pro/via_json/k14_pro_ansi_rgb.json
new file mode 100755
index 0000000000..de44713e5c
--- /dev/null
+++ b/keyboards/keychron/k14_pro/via_json/k14_pro_ansi_rgb.json
@@ -0,0 +1,239 @@
+{
+ "name": "Keychron K14 Pro ANSI RGB",
+ "vendorId": "0x3434",
+ "productId": "0x02E0",
+ "keycodes": ["qmk_lighting"],
+ "menus": [
+ {
+ "label": "Lighting",
+ "content": [
+ {
+ "label": "Backlight",
+ "content": [
+ {
+ "label": "Brightness",
+ "type": "range",
+ "options": [0, 255],
+ "content": ["id_qmk_rgb_matrix_brightness", 3, 1]
+ },
+ {
+ "label": "Effect",
+ "type": "dropdown",
+ "content": ["id_qmk_rgb_matrix_effect", 3, 2],
+ "options": [
+ ["None", 0],
+ ["Solid Color", 1],
+ ["Breathing", 2],
+ ["Band Spiral Val", 3],
+ ["Cycle All", 4],
+ ["Cycle Left Right", 5],
+ ["Cycle Up Down", 6],
+ ["Rainbow Moving Chevron", 7],
+ ["Cycle Out In", 8],
+ ["Cycle Out In Dual", 9],
+ ["Cycle Pinwheel", 10],
+ ["Cycle Spiral", 11],
+ ["Dual Beacon", 12],
+ ["Rainbow Beacon", 13],
+ ["Jellybean Raindrops", 14],
+ ["Pixel Rain", 15],
+ ["Typing Heatmap", 16],
+ ["Digital Rain", 17],
+ ["Reactive Simple", 18],
+ ["Reactive Multiwide", 19],
+ ["Reactive Multinexus", 20],
+ ["Splash", 21],
+ ["Solid Splash", 22]
+ ]
+ },
+ {
+ "showIf": "{id_qmk_rgb_matrix_effect} > 1",
+ "label": "Effect Speed",
+ "type": "range",
+ "options": [0, 255],
+ "content": ["id_qmk_rgb_matrix_effect_speed", 3, 3]
+ },
+ {
+ "showIf": "{id_qmk_rgb_matrix_effect} != 0 && ( {id_qmk_rgb_matrix_effect} < 4 || {id_qmk_rgb_matrix_effect} == 18 || ({id_qmk_rgb_matrix_effect} > 17 && {id_qmk_rgb_matrix_effect} != 21) ) ",
+ "label": "Color",
+ "type": "color",
+ "content": ["id_qmk_rgb_matrix_color", 3, 4]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "customKeycodes": [
+ {"name": "Left Option", "title": "Left Option", "shortName": "LOpt"},
+ {"name": "Right Option", "title": "Right Option", "shortName": "ROpt"},
+ {"name": "Left Cmd", "title": "Left Command", "shortName": "LCmd"},
+ {"name": "Right Cmd", "title": "Right Command", "shortName": "RCmd"},
+ {"name": "Misson Control", "title": "Misson Control, availabe in macOS", "shortName": "MCtrl"},
+ {"name": "Launch pad", "title": "Launch pad, availabe in macOS", "shortName": "LPad"},
+ {"name": "Task View", "title": "Task View in Windows", "shortName": "Task"},
+ {"name": "File Explorer", "title": "File Explorer in Windows", "shortName": "File"},
+ {"name": "Screen shot", "title": "Screenshot in macOS", "shortName": "SShot"},
+ {"name": "Cortana", "title": "Cortana in Windows", "shortName": "Cortana"},
+ {"name": "Siri", "title": "Siri in macOS", "shortName": "Siri"},
+ {"name": "Bluetooth Host 1", "title": "Bluetooth Host 1", "shortName": "BTH1"},
+ {"name": "Bluetooth Host 2", "title": "Bluetooth Host 2", "shortName": "BTH2"},
+ {"name": "Bluetooth Host 3", "title": "Bluetooth Host 3", "shortName": "BTH3"},
+ {"name": "Battery Level", "title": "Show battery level", "shortName": "Batt"}
+ ],
+ "matrix": {"rows": 5, "cols": 16},
+ "layouts": {
+ "keymap": [
+ [
+ {
+ "c": "#777777"
+ },
+ "0,0",
+ {
+ "c": "#cccccc"
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ {
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "0,13",
+ "0,14",
+ "0,15"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "1,0",
+ {
+ "c": "#cccccc"
+ },
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "1,13",
+ "1,14",
+ "1,15"
+ ],
+ [
+ {
+ "w": 1.75
+ },
+ "2,0",
+ {
+ "c": "#cccccc"
+ },
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ {
+ "c": "#777777",
+ "w": 2.25
+ },
+ "2,13",
+ {
+ "c": "#aaaaaa"
+ },
+ "2,14",
+ "2,15"
+ ],
+ [
+ {
+ "w": 2.25
+ },
+ "3,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ {
+ "c": "#aaaaaa",
+ "w": 2.75
+ },
+ "3,13",
+ {
+ "c": "#777777"
+ },
+ "3,14",
+ {
+ "c": "#aaaaaa"
+ },
+ "3,15"
+ ],
+ [
+ {
+ "w": 1.25
+ },
+ "4,0",
+ {
+ "w": 1.25
+ },
+ "4,1",
+ {
+ "w": 1.25
+ },
+ "4,2",
+ {
+ "c": "#cccccc",
+ "w": 6.25
+ },
+ "4,6",
+ {
+ "c": "#aaaaaa"
+ },
+ "4,9",
+ "4,10",
+ "4,11",
+ "4,12",
+ {
+ "c": "#777777"
+ },
+ "4,13",
+ "4,14",
+ "4,15"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/keychron/k14_pro/via_json/k14_pro_ansi_rgb_v1.00_20230330.json b/keyboards/keychron/k14_pro/via_json/k14_pro_ansi_rgb_v1.00_20230330.json
new file mode 100755
index 0000000000..a7ba6ba5d3
--- /dev/null
+++ b/keyboards/keychron/k14_pro/via_json/k14_pro_ansi_rgb_v1.00_20230330.json
@@ -0,0 +1,239 @@
+{
+ "name": "Keychron K14 Pro",
+ "vendorId": "0x3434",
+ "productId": "0x02E0",
+ "keycodes": ["qmk_lighting"],
+ "menus": [
+ {
+ "label": "Lighting",
+ "content": [
+ {
+ "label": "Backlight",
+ "content": [
+ {
+ "label": "Brightness",
+ "type": "range",
+ "options": [0, 255],
+ "content": ["id_qmk_rgb_matrix_brightness", 3, 1]
+ },
+ {
+ "label": "Effect",
+ "type": "dropdown",
+ "content": ["id_qmk_rgb_matrix_effect", 3, 2],
+ "options": [
+ ["None", 0],
+ ["Solid Color", 1],
+ ["Breathing", 2],
+ ["Band Spiral Val", 3],
+ ["Cycle All", 4],
+ ["Cycle Left Right", 5],
+ ["Cycle Up Down", 6],
+ ["Rainbow Moving Chevron", 7],
+ ["Cycle Out In", 8],
+ ["Cycle Out In Dual", 9],
+ ["Cycle Pinwheel", 10],
+ ["Cycle Spiral", 11],
+ ["Dual Beacon", 12],
+ ["Rainbow Beacon", 13],
+ ["Jellybean Raindrops", 14],
+ ["Pixel Rain", 15],
+ ["Typing Heatmap", 16],
+ ["Digital Rain", 17],
+ ["Reactive Simple", 18],
+ ["Reactive Multiwide", 19],
+ ["Reactive Multinexus", 20],
+ ["Splash", 21],
+ ["Solid Splash", 22]
+ ]
+ },
+ {
+ "showIf": "{id_qmk_rgb_matrix_effect} > 1",
+ "label": "Effect Speed",
+ "type": "range",
+ "options": [0, 255],
+ "content": ["id_qmk_rgb_matrix_effect_speed", 3, 3]
+ },
+ {
+ "showIf": "{id_qmk_rgb_matrix_effect} != 0 && ( {id_qmk_rgb_matrix_effect} < 4 || {id_qmk_rgb_matrix_effect} == 18 || ({id_qmk_rgb_matrix_effect} > 17 && {id_qmk_rgb_matrix_effect} != 21) ) ",
+ "label": "Color",
+ "type": "color",
+ "content": ["id_qmk_rgb_matrix_color", 3, 4]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "customKeycodes": [
+ {"name": "Left Option", "title": "Left Option", "shortName": "LOpt"},
+ {"name": "Right Option", "title": "Right Option", "shortName": "ROpt"},
+ {"name": "Left Cmd", "title": "Left Command", "shortName": "LCmd"},
+ {"name": "Right Cmd", "title": "Right Command", "shortName": "RCmd"},
+ {"name": "Misson Control", "title": "Misson Control, availabe in macOS", "shortName": "MCtrl"},
+ {"name": "Launch pad", "title": "Launch pad, availabe in macOS", "shortName": "LPad"},
+ {"name": "Task View", "title": "Task View in Windows", "shortName": "Task"},
+ {"name": "File Explorer", "title": "File Explorer in Windows", "shortName": "File"},
+ {"name": "Screen shot", "title": "Screenshot in macOS", "shortName": "SShot"},
+ {"name": "Cortana", "title": "Cortana in Windows", "shortName": "Cortana"},
+ {"name": "Siri", "title": "Siri in macOS", "shortName": "Siri"},
+ {"name": "Bluetooth Host 1", "title": "Bluetooth Host 1", "shortName": "BTH1"},
+ {"name": "Bluetooth Host 2", "title": "Bluetooth Host 2", "shortName": "BTH2"},
+ {"name": "Bluetooth Host 3", "title": "Bluetooth Host 3", "shortName": "BTH3"},
+ {"name": "Battery Level", "title": "Show battery level", "shortName": "Batt"}
+ ],
+ "matrix": {"rows": 5, "cols": 16},
+ "layouts": {
+ "keymap": [
+ [
+ {
+ "c": "#777777"
+ },
+ "0,0",
+ {
+ "c": "#cccccc"
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ {
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "0,13",
+ "0,14",
+ "0,15"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "1,0",
+ {
+ "c": "#cccccc"
+ },
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "1,13",
+ "1,14",
+ "1,15"
+ ],
+ [
+ {
+ "w": 1.75
+ },
+ "2,0",
+ {
+ "c": "#cccccc"
+ },
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ {
+ "c": "#777777",
+ "w": 2.25
+ },
+ "2,13",
+ {
+ "c": "#aaaaaa"
+ },
+ "2,14",
+ "2,15"
+ ],
+ [
+ {
+ "w": 2.25
+ },
+ "3,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ {
+ "c": "#aaaaaa",
+ "w": 2.75
+ },
+ "3,13",
+ {
+ "c": "#777777"
+ },
+ "3,14",
+ {
+ "c": "#aaaaaa"
+ },
+ "3,15"
+ ],
+ [
+ {
+ "w": 1.25
+ },
+ "4,0",
+ {
+ "w": 1.25
+ },
+ "4,1",
+ {
+ "w": 1.25
+ },
+ "4,2",
+ {
+ "c": "#cccccc",
+ "w": 6.25
+ },
+ "4,6",
+ {
+ "c": "#aaaaaa"
+ },
+ "4,9",
+ "4,10",
+ "4,11",
+ "4,12",
+ {
+ "c": "#777777"
+ },
+ "4,13",
+ "4,14",
+ "4,15"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/keychron/k14_pro/via_json/k14_pro_ansi_white.json b/keyboards/keychron/k14_pro/via_json/k14_pro_ansi_white.json
new file mode 100755
index 0000000000..4280b8a714
--- /dev/null
+++ b/keyboards/keychron/k14_pro/via_json/k14_pro_ansi_white.json
@@ -0,0 +1,178 @@
+{
+ "name": "Keychron K14 Pro ANSI White",
+ "vendorId": "0x3434",
+ "productId": "0x02E3",
+ "keycodes": ["qmk_lighting"],
+ "customKeycodes": [
+ {"name": "Left Option", "title": "Left Option", "shortName": "LOpt"},
+ {"name": "Right Option", "title": "Right Option", "shortName": "ROpt"},
+ {"name": "Left Cmd", "title": "Left Command", "shortName": "LCmd"},
+ {"name": "Right Cmd", "title": "Right Command", "shortName": "RCmd"},
+ {"name": "Misson Control", "title": "Misson Control, availabe in macOS", "shortName": "MCtrl"},
+ {"name": "Launch pad", "title": "Launch pad, availabe in macOS", "shortName": "LPad"},
+ {"name": "Task View", "title": "Task View in Windows", "shortName": "Task"},
+ {"name": "File Explorer", "title": "File Explorer in Windows", "shortName": "File"},
+ {"name": "Screen shot", "title": "Screenshot in macOS", "shortName": "SShot"},
+ {"name": "Cortana", "title": "Cortana in Windows", "shortName": "Cortana"},
+ {"name": "Siri", "title": "Siri in macOS", "shortName": "Siri"},
+ {"name": "Bluetooth Host 1", "title": "Bluetooth Host 1", "shortName": "BTH1"},
+ {"name": "Bluetooth Host 2", "title": "Bluetooth Host 2", "shortName": "BTH2"},
+ {"name": "Bluetooth Host 3", "title": "Bluetooth Host 3", "shortName": "BTH3"},
+ {"name": "Battery Level", "title": "Show battery level", "shortName": "Batt"}
+ ],
+ "matrix": {"rows": 5, "cols": 16},
+ "layouts": {
+ "keymap": [
+ [
+ {
+ "c": "#777777"
+ },
+ "0,0",
+ {
+ "c": "#cccccc"
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ {
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "0,13",
+ "0,14",
+ "0,15"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "1,0",
+ {
+ "c": "#cccccc"
+ },
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "1,13",
+ "1,14",
+ "1,15"
+ ],
+ [
+ {
+ "w": 1.75
+ },
+ "2,0",
+ {
+ "c": "#cccccc"
+ },
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ {
+ "c": "#777777",
+ "w": 2.25
+ },
+ "2,13",
+ {
+ "c": "#aaaaaa"
+ },
+ "2,14",
+ "2,15"
+ ],
+ [
+ {
+ "w": 2.25
+ },
+ "3,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ {
+ "c": "#aaaaaa",
+ "w": 2.75
+ },
+ "3,13",
+ {
+ "c": "#777777"
+ },
+ "3,14",
+ {
+ "c": "#aaaaaa"
+ },
+ "3,15"
+ ],
+ [
+ {
+ "w": 1.25
+ },
+ "4,0",
+ {
+ "w": 1.25
+ },
+ "4,1",
+ {
+ "w": 1.25
+ },
+ "4,2",
+ {
+ "c": "#cccccc",
+ "w": 6.25
+ },
+ "4,6",
+ {
+ "c": "#aaaaaa"
+ },
+ "4,9",
+ "4,10",
+ "4,11",
+ "4,12",
+ {
+ "c": "#777777"
+ },
+ "4,13",
+ "4,14",
+ "4,15"
+ ]
+ ]
+ }
+}
diff --git a/keyboards/keychron/k14_pro/via_json/k14_pro_ansi_white_v1.00_20230330.json b/keyboards/keychron/k14_pro/via_json/k14_pro_ansi_white_v1.00_20230330.json
new file mode 100755
index 0000000000..26420f5bb7
--- /dev/null
+++ b/keyboards/keychron/k14_pro/via_json/k14_pro_ansi_white_v1.00_20230330.json
@@ -0,0 +1,178 @@
+{
+ "name": "Keychron K14 Pro",
+ "vendorId": "0x3434",
+ "productId": "0x02E3",
+ "keycodes": ["qmk_lighting"],
+ "customKeycodes": [
+ {"name": "Left Option", "title": "Left Option", "shortName": "LOpt"},
+ {"name": "Right Option", "title": "Right Option", "shortName": "ROpt"},
+ {"name": "Left Cmd", "title": "Left Command", "shortName": "LCmd"},
+ {"name": "Right Cmd", "title": "Right Command", "shortName": "RCmd"},
+ {"name": "Misson Control", "title": "Misson Control, availabe in macOS", "shortName": "MCtrl"},
+ {"name": "Launch pad", "title": "Launch pad, availabe in macOS", "shortName": "LPad"},
+ {"name": "Task View", "title": "Task View in Windows", "shortName": "Task"},
+ {"name": "File Explorer", "title": "File Explorer in Windows", "shortName": "File"},
+ {"name": "Screen shot", "title": "Screenshot in macOS", "shortName": "SShot"},
+ {"name": "Cortana", "title": "Cortana in Windows", "shortName": "Cortana"},
+ {"name": "Siri", "title": "Siri in macOS", "shortName": "Siri"},
+ {"name": "Bluetooth Host 1", "title": "Bluetooth Host 1", "shortName": "BTH1"},
+ {"name": "Bluetooth Host 2", "title": "Bluetooth Host 2", "shortName": "BTH2"},
+ {"name": "Bluetooth Host 3", "title": "Bluetooth Host 3", "shortName": "BTH3"},
+ {"name": "Battery Level", "title": "Show battery level", "shortName": "Batt"}
+ ],
+ "matrix": {"rows": 5, "cols": 16},
+ "layouts": {
+ "keymap": [
+ [
+ {
+ "c": "#777777"
+ },
+ "0,0",
+ {
+ "c": "#cccccc"
+ },
+ "0,1",
+ "0,2",
+ "0,3",
+ "0,4",
+ "0,5",
+ "0,6",
+ "0,7",
+ "0,8",
+ "0,9",
+ "0,10",
+ "0,11",
+ "0,12",
+ {
+ "c": "#aaaaaa",
+ "w": 2
+ },
+ "0,13",
+ "0,14",
+ "0,15"
+ ],
+ [
+ {
+ "w": 1.5
+ },
+ "1,0",
+ {
+ "c": "#cccccc"
+ },
+ "1,1",
+ "1,2",
+ "1,3",
+ "1,4",
+ "1,5",
+ "1,6",
+ "1,7",
+ "1,8",
+ "1,9",
+ "1,10",
+ "1,11",
+ "1,12",
+ {
+ "c": "#aaaaaa",
+ "w": 1.5
+ },
+ "1,13",
+ "1,14",
+ "1,15"
+ ],
+ [
+ {
+ "w": 1.75
+ },
+ "2,0",
+ {
+ "c": "#cccccc"
+ },
+ "2,1",
+ "2,2",
+ "2,3",
+ "2,4",
+ "2,5",
+ "2,6",
+ "2,7",
+ "2,8",
+ "2,9",
+ "2,10",
+ "2,11",
+ {
+ "c": "#777777",
+ "w": 2.25
+ },
+ "2,13",
+ {
+ "c": "#aaaaaa"
+ },
+ "2,14",
+ "2,15"
+ ],
+ [
+ {
+ "w": 2.25
+ },
+ "3,0",
+ {
+ "c": "#cccccc"
+ },
+ "3,2",
+ "3,3",
+ "3,4",
+ "3,5",
+ "3,6",
+ "3,7",
+ "3,8",
+ "3,9",
+ "3,10",
+ "3,11",
+ {
+ "c": "#aaaaaa",
+ "w": 2.75
+ },
+ "3,13",
+ {
+ "c": "#777777"
+ },
+ "3,14",
+ {
+ "c": "#aaaaaa"
+ },
+ "3,15"
+ ],
+ [
+ {
+ "w": 1.25
+ },
+ "4,0",
+ {
+ "w": 1.25
+ },
+ "4,1",
+ {
+ "w": 1.25
+ },
+ "4,2",
+ {
+ "c": "#cccccc",
+ "w": 6.25
+ },
+ "4,6",
+ {
+ "c": "#aaaaaa"
+ },
+ "4,9",
+ "4,10",
+ "4,11",
+ "4,12",
+ {
+ "c": "#777777"
+ },
+ "4,13",
+ "4,14",
+ "4,15"
+ ]
+ ]
+ }
+}