-
Notifications
You must be signed in to change notification settings - Fork 2
/
keyboard.toml
119 lines (109 loc) · 3.16 KB
/
keyboard.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
[keyboard]
product_name = "RMK Keyboard"
vendor_id = 0x4c4b
product_id = 0x4643
manufacturer = "haobo"
{% if microcontroller_family == "nrf" -%}
chip = "{{ nrf_feature }}"
{% else -%}
chip = "{{ chip }}"
{% endif -%}
{% if microcontroller_family == "esp" -%}
usb_enable = false
{% endif %}
{% if chip == "nrf52832_xxAA" -%}
usb_enable = false
{% endif %}
[matrix]
rows = 4
cols = 3
layers = 2
# TODO: Update input/output gpio name
# Input and output pins are mandatory
{% if microcontroller_family == "nrf" -%}
input_pins = ["P0_00", "P0_01", "P0_02", "P0_03"]
output_pins = ["P0_05", "P0_06", "P0_07"]
{% elsif microcontroller_family == "esp" -%}
input_pins = ["gpio6", "gpio7", "gpio20", "gpio21"]
output_pins = ["gpio3", "gpio4", "gpio5"]
{% elsif microcontroller_family == "rp2040" -%}
input_pins = ["PIN_6", "PIN_7", "PIN_8", "PIN_9"]
output_pins = ["PIN_19", "PIN_20", "PIN_21"]
{% elsif microcontroller_family == "stm32" -%}
input_pins = ["PD4", "PD8", "PD6", "PD7"]
output_pins = ["PD5", "PD9", "PD10"]
{% endif -%}
# WARNING: Currently row2col/col2row is set in RMK's feature gate, configs here do nothing actually
# row2col = true
[layout]
keymap = [
[
["Kp7", "Kp8", "Kp9"],
["Kp4", "Kp5", "Kp6"],
["Kp1", "Kp2", "Kp3"],
["Kp0", "MO(1)", "Dot"]
],
[
["_", "_", "_"],
["_", "_", "_"],
["_", "_", "_"],
["_", "_", "_"]
],
]
[light]
# All light pins are high-active by default, uncomment if you want it to be low-active
# capslock.pin = "PB2"
# capslock.low_active = true
# scrolllock.pin = "PA3"
# scrolllock.low_active = true
# Just ignore if no light pin is used for it
# numslock.pin = "PA5"
# numslock.low_active = true
[storage]
# Storage feature is enabled by default
# enabled = false
# !!! Warning: RMK uses last 2 sectors of your microcontroller's flash by default. You have to ensure that those flash space is not used.
# If you're using a bootloader which puts itself at the end of the flast, like Adafruit_nRF52_Bootloader, RMK will break the bootloader.
# Setting the `start_addr` manually to avoid this. See: https://haobogu.github.io/rmk/storage.html
{% if connection == "BLE" -%}
[ble]
enabled = true
{% endif %}
{% if keyboard_type == "split" -%}
[split]
{% if connection == "BLE" -%}
connection = "ble"
{% elsif connection == "USB" -%}
connection = "serial"
{% endif %}
[split.central]
rows = 2
cols = 2
row_offset = 0
col_offset = 0
{% if split_microcontroller == "nrf52840" -%}
ble_addr = [0x18, 0xe2, 0x21, 0x80, 0xc0, 0xc7]
input_pins = ["P0_12", "P0_13"]
output_pins = ["P0_14", "P0_15"]
{% elsif split_microcontroller == "rp2040" -%}
serial = [
{ instance = "UART0", tx_pin = "PIN_0", rx_pin = "PIN_1" },
]
input_pins = ["PIN_9", "PIN_11"]
output_pins = ["PIN_10", "PIN_12"]
{% endif %}
[[split.peripheral]]
rows = 2
cols = 1
row_offset = 2
col_offset = 2
{% if split_microcontroller == "nrf52840" -%}
ble_addr = [0x7e, 0xfe, 0x73, 0x9e, 0x66, 0xe3]
input_pins = ["P1_11", "P1_10"]
output_pins = ["P0_30"]
{% elsif split_microcontroller == "rp2040" -%}
serial = [{ instance = "UART0", tx_pin = "PIN_0", rx_pin = "PIN_1" }]
input_pins = ["PIN_9", "PIN_11"]
output_pins = ["PIN_10"]
{% endif %}
{% endif %}