Kristoffer Onias
4 years ago
7 changed files with 191 additions and 0 deletions
@ -0,0 +1,9 @@
@@ -0,0 +1,9 @@
|
||||
# Copyright (c) 2020 Pete Johanson, Richard Jones |
||||
# SPDX-License-Identifier: MIT |
||||
|
||||
if SHIELD_ROMAC_PLUS |
||||
|
||||
config ZMK_KEYBOARD_NAME |
||||
default "RoMac_plus-v4" |
||||
|
||||
endif |
@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
|
||||
# Copyright (c) 2020 Pete Johanson, Richard Jones |
||||
# SPDX-License-Identifier: MIT |
||||
|
||||
config SHIELD_ROMAC_PLUS |
||||
def_bool $(shields_list_contains,romac_plus) |
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
&spi1 { |
||||
compatible = "nordic,nrf-spi"; |
||||
status = "okay"; |
||||
mosi-pin = <6>; |
||||
// Unused pins, needed for SPI definition, but not used by the ws2812 driver itself. |
||||
sck-pin = <5>; |
||||
miso-pin = <7>; |
||||
|
||||
led_strip: ws2812@0 { |
||||
compatible = "worldsemi,ws2812-spi"; |
||||
label = "WS2812"; |
||||
|
||||
/* SPI */ |
||||
reg = <0>; /* ignored, but necessary for SPI bindings */ |
||||
spi-max-frequency = <4000000>; |
||||
|
||||
/* WS2812 */ |
||||
chain-length = <10>; /* arbitrary; change at will */ |
||||
spi-one-frame = <0x70>; |
||||
spi-zero-frame = <0x40>; |
||||
}; |
||||
}; |
||||
|
||||
/ { |
||||
chosen { |
||||
zmk,underglow = &led_strip; |
||||
}; |
||||
}; |
@ -0,0 +1,3 @@
@@ -0,0 +1,3 @@
|
||||
# Uncomment to enable encoder |
||||
CONFIG_EC11=y |
||||
CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y |
@ -0,0 +1,61 @@
@@ -0,0 +1,61 @@
|
||||
/* |
||||
* Copyright (c) 2020 Pete Johanson |
||||
* |
||||
* SPDX-License-Identifier: MIT |
||||
*/ |
||||
|
||||
#include <dt-bindings/zmk/matrix-transform.h> |
||||
|
||||
/ { |
||||
chosen { |
||||
zmk,kscan = &kscan0; |
||||
zmk,matrix_transform = &default_transform; |
||||
}; |
||||
|
||||
default_transform: keymap_transform_0 { |
||||
compatible = "zmk,matrix-transform"; |
||||
columns = <3>; |
||||
rows = <4>; |
||||
|
||||
map = < |
||||
RC(0,0) RC(0,1) RC(0,2) |
||||
RC(1,0) RC(1,1) RC(1,2) |
||||
RC(2,0) RC(2,1) RC(2,2) |
||||
RC(3,0) RC(3,1) RC(3,2) |
||||
>; |
||||
}; |
||||
|
||||
kscan0: kscan { |
||||
compatible = "zmk,kscan-gpio-matrix"; |
||||
label = "KSCAN"; |
||||
|
||||
diode-direction = "col2row"; |
||||
row-gpios |
||||
= <&pro_micro_d 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> |
||||
, <&pro_micro_d 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> |
||||
, <&pro_micro_d 0 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> |
||||
, <&pro_micro_d 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> |
||||
; |
||||
|
||||
}; |
||||
|
||||
left_encoder: encoder_left { |
||||
compatible = "alps,ec11"; |
||||
label = "LEFT_ENCODER"; |
||||
a-gpios = <&pro_micro_d 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; |
||||
b-gpios = <&pro_micro_d 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; |
||||
resolution = <4>; |
||||
status = "disabled"; |
||||
}; |
||||
|
||||
sensors { |
||||
compatible = "zmk,keymap-sensors"; |
||||
sensors = <&left_encoder>; |
||||
}; |
||||
|
||||
bt_unpair_combo: bt_unpair_combo { |
||||
compatible = "zmk,bt-unpair-combo"; |
||||
}; |
||||
|
||||
// TODO: per-key RGB node(s)? |
||||
}; |
@ -0,0 +1,48 @@
@@ -0,0 +1,48 @@
|
||||
/* |
||||
* Copyright (c) 2020 Pete Johanson, Richard Jones |
||||
* |
||||
* SPDX-License-Identifier: MIT |
||||
*/ |
||||
|
||||
#include <behaviors.dtsi> |
||||
#include <dt-bindings/zmk/keys.h> |
||||
|
||||
/ { |
||||
keymap { |
||||
compatible = "zmk,keymap"; |
||||
|
||||
default_layer { |
||||
// ------------------- |
||||
// | 7 | 8 | 9 | |
||||
// | 4 | 5 | 6 | |
||||
// | 1 | 2 | 3 | |
||||
// | MO(1) | 0 | . | |
||||
// ---------------------- |
||||
bindings = < |
||||
&kp NUM_7 &kp NUM_8 &kp NUM_9 |
||||
&kp NUM_4 &kp NUM_5 &kp NUM_6 |
||||
&kp NUM_1 &kp NUM_2 &kp NUM_3 |
||||
&cp M_PLAY &kp NUM_0 &kp DOT |
||||
>; |
||||
|
||||
sensor-bindings = <&inc_dec_cp M_NEXT M_PREV>; |
||||
}; |
||||
|
||||
// nav_layer { |
||||
// ----------------------- |
||||
// | _ | HOME | PGUP | |
||||
// | _ | END | PGDN | |
||||
// | _ | _ | _ | |
||||
// | _ | _ | RET | |
||||
// ----------------------- |
||||
// bindings = < |
||||
// &trans &kp HOME &kp PGUP |
||||
// &trans &kp END &kp PGDN |
||||
// &trans &trans &trans .0 |
||||
// &trans &trans &kp RET |
||||
// >; |
||||
|
||||
// sensor-bindings = <&inc_dec_kp A B>; |
||||
// }; |
||||
}; |
||||
}; |
@ -0,0 +1,37 @@
@@ -0,0 +1,37 @@
|
||||
/* |
||||
* Copyright (c) 2020 Pete Johanson, Richard Jones |
||||
* |
||||
* SPDX-License-Identifier: MIT |
||||
*/ |
||||
|
||||
#include "romac_plus.dtsi" |
||||
|
||||
/ { |
||||
chosen { |
||||
zmk,kscan = &kscan0; |
||||
}; |
||||
|
||||
kscan0: kscan { |
||||
compatible = "zmk,kscan-gpio-matrix"; |
||||
label = "KSCAN"; |
||||
|
||||
diode-direction = "col2row"; |
||||
|
||||
col-gpios |
||||
= <&pro_micro_a 1 GPIO_ACTIVE_HIGH> |
||||
, <&pro_micro_a 2 GPIO_ACTIVE_HIGH> |
||||
, <&pro_micro_a 3 GPIO_ACTIVE_HIGH> |
||||
; |
||||
|
||||
}; |
||||
|
||||
bt_unpair_combo: bt_unpair_combo { |
||||
compatible = "zmk,bt-unpair-combo"; |
||||
key-positions = <0 11>; |
||||
}; |
||||
|
||||
}; |
||||
|
||||
&left_encoder { |
||||
status = "okay"; |
||||
}; |
Loading…
Reference in new issue