1
0
Fork 0

Initial rae-dux implementation

This commit is contained in:
Cat /dev/Nulo 2022-10-31 20:43:18 -03:00
parent f93990d264
commit 8e99a75669
7 changed files with 143 additions and 0 deletions

View file

@ -0,0 +1,19 @@
# Copyright (c) 2022 The ZMK Contributors
# SPDX-License-Identifier: MIT
if SHIELD_RAE_DUX_LEFT
config ZMK_KEYBOARD_NAME
default "rae-dux"
config ZMK_SPLIT_BLE_ROLE_CENTRAL
default y
endif
if SHIELD_RAE_DUX_LEFT || SHIELD_RAE_DUX_RIGHT
config ZMK_SPLIT
default y
endif

View file

@ -0,0 +1,6 @@
# Copyright (c) 2022 The ZMK Contributors
# SPDX-License-Identifier: MIT
config SHIELD_RAE_DUX_LEFT
def_bool $(shields_list_contains,rae_dux_left)

View file

@ -0,0 +1,6 @@
# Rae-Dux
Shield configuration for [rae-dux][1], a 36-key diodeless interpretation of the [A. Dux by Tapi][2].
[1]: https://github.com/andrewjrae/rae-dux
[2]: https://github.com/tapioki/cephalopoda/tree/main/Architeuthis%20dux

View file

@ -0,0 +1,53 @@
/*
* Copyright (c) 2022 The ZMK Contributors
*
* 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 = <36>;
rows = <1>;
map = <
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,22) RC(0,21) RC(0,20) RC(0,19) RC(0,18)
RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,27) RC(0,26) RC(0,25) RC(0,24) RC(0,23)
RC(0,10) RC(0,11) RC(0,12) RC(0,13) RC(0,14) RC(0,32) RC(0,31) RC(0,30) RC(0,29) RC(0,28)
RC(0,15) RC(0,16) RC(0,17) RC(0,35) RC(0,34) RC(0,33)
>;
};
kscan0: kscan {
compatible = "zmk,kscan-gpio-direct";
label = "KSCAN";
input-gpios =
<&pro_micro 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 21 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 18 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 16 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 20 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 19 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
<&pro_micro 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
;
};
};

View file

@ -0,0 +1,12 @@
# Copyright (c) 2020 The ZMK Contributors
# SPDX-License-Identifier: MIT
# Tune combos to allow proper ARDUX support
CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=16
CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO=8
CONFIG_ZMK_COMBO_MAX_PRESSED_COMBOS=8
# Tune bluetooth profiles for quick select
CONFIG_BT_MAX_CONN=6
CONFIG_ZMK_SLEEP=y

View file

@ -0,0 +1,40 @@
/*
* Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>
// Enable ARDUX Left
#define ARDUX_LEFT 1
#define ARDUX_BIG 1
// ARTS Row
#define KEY_A 3
#define KEY_R 2
#define KEY_T 1
#define KEY_S 0
// EYIO Row
#define KEY_E 13
#define KEY_Y 12
#define KEY_I 11
#define KEY_O 10
// Big ardux F1-12 layer keys for combo
#define KEY_F_TOP 14
#define KEY_F_BOTTOM 24
// Define Offsets
#define LEADING_NONES NONE(0,0,10)
#define MIDDLE_NONES NONE(0,0,5)
#define TRAILING_NONES NONE(0,0,8)
#define BIG_LEADING_NONES NONE(0, 0, 0)
#define BIG_BETWEEN_ROW_ONE_TWO_NONES NONE(0, 0, 5)
#define BIG_BETWEEN_ROW_TWO_THREE_NONES NONE(0, 0, 5)
#define BIG_BETWEEN_ROW_THREE_THUMBS NONE(0, 0, 5)
#define BIG_TRAILING_NONES NONE(0, 0, 5)
// Include main ardux.io keymap
#include "../../../ardux.dtsi"

View file

@ -0,0 +1,7 @@
/*
* Copyright (c) 2022 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#include "rae_dux.dtsi"