29 Commits
Author SHA1 Message Date
keymap-editor[bot] 4f60caf483 Add dedicated escape to game layer
/ build (push) Failing after 2m50s
2025-12-22 21:24:07 +00:00
Greg Hellings e718dc9e47 Update hashes 2025-12-05 14:13:37 -06:00
keymap-editor[bot] 9f1c9b748d Enable shift in games 2025-11-06 17:57:32 +00:00
keymap-editor[bot] c9d8c3b12e Replace toggling with to for layer 0 2025-03-07 04:47:43 +00:00
Greg Hellings bf9689889d Merge branch 'lily58-update' into lily58 2025-03-06 22:39:26 -06:00
keymap-editor[bot] c94b963e51 Add gaming layer 2025-03-07 04:37:46 +00:00
Greg Hellings ccd55a102f Finally a good, pinned build
This has been struggling to build for quite some time. For many rounds
the git checkouts were not succeeding. Then, the git repositories were
not matching what used to be.
It would be a really good idea to figure out all the dependencies that
are needing to be packaged, but I'm not sure I have the gumption to do
that at this point
2025-02-22 03:46:59 -06:00
Greg Hellings 08f9538d3c Update flake locks and add USB/BLE toggle 2025-02-21 15:08:34 -06:00
Greg Hellings 322fe07e5b Add default app 2024-10-29 08:02:31 -05:00
Greg Hellings 6370fecbf9 Try the balanced key tap behavior 2024-10-29 07:53:05 -05:00
Greg Hellings b165e8ca75 Remove unused binding 2024-10-29 07:40:44 -05:00
Greg Hellings 878c891225 Make nix work, and update firmware 2024-10-28 12:35:21 -05:00
Greg Hellings 2574861987 Use latest deps and gitignore 2024-10-28 12:33:29 -05:00
Greg Hellings c3eec66c0e First pass as Nix build 2024-10-28 12:33:29 -05:00
Greg HellingsandGitHub b9bce2ada9 Update lily58.keymap
Get the correct name, now that the action is corrected
2024-07-25 12:31:47 -05:00
keymap-editor[bot]andGitHub 106eb1ccaa Correct values for mouse scroll 2024-07-25 17:07:59 +00:00
Greg HellingsandGitHub b2e2a01ba5 Add comment about where to find scroll support 2024-07-25 11:28:38 -05:00
Greg HellingsandGitHub 71b05fc252 Add scroll mouse scroll 2024-07-25 11:27:54 -05:00
keymap-editor[bot]andGitHub 63a8a22e56 Clear some old, unused tap dances 2024-07-25 16:00:57 +00:00
keymap-editor[bot]andGitHub e06d061ed0 Let home row mods combine themselves 2024-06-21 02:28:19 +00:00
keymap-editor[bot]andGitHub 8041a5fe42 Use the different homerow mods 2024-06-21 01:47:11 +00:00
keymap-editor[bot]andGitHub ed2332a0a9 Swap the space and enter keys back to where I actually like them to be. 2024-06-21 01:42:23 +00:00
keymap-editor[bot]andGitHub f0b29f8aea Mouse key presses added in 2024-06-21 01:14:16 +00:00
Greg Hellings 995995b64e I think this fixes the build process 2024-06-20 20:02:19 -05:00
Greg Hellings df40cfa698 Correct mouse move name 2024-06-20 19:41:53 -05:00
Greg Hellings 77581cd8de Include mouse info 2024-06-20 19:36:33 -05:00
Greg Hellings a11b9f47a5 Try enabling mouse movements 2024-06-20 19:31:07 -05:00
Greg Hellings ca1e47f4f0 Try building with mouse support 2024-06-20 19:15:43 -05:00
keymap-editor[bot]andGitHub eeb0504086 Make the Lily match the Dactyl for advanced key uses 2024-06-21 00:00:38 +00:00
26 changed files with 277 additions and 926 deletions
+1 -1
View File
@@ -2,4 +2,4 @@ on: [push, pull_request, workflow_dispatch]
jobs: jobs:
build: build:
uses: petejohanson/zmk/.github/workflows/build-user-config.yml@core/zephyr-3.5-update uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@main
+1
View File
@@ -0,0 +1 @@
result
+3
View File
@@ -0,0 +1,3 @@
[This guy](https://nickcoutsos.github.io/keymap-editor/) has a pretty decent GUI editor on the web that integrates with your Git repository.
And [this pr](https://github.com/zmkfirmware/zmk/pull/2027) is where the experimental mouse support comes from.
View File
+12 -9
View File
@@ -1,8 +1,9 @@
# This file generates the GitHub Actions matrix # This file generates the GitHub Actions matrix.
# For simple board + shield combinations, add them # For simple board + shield combinations, add them to the top level board and
# to the top level board and shield arrays, for more # shield arrays, for more control, add individual board + shield combinations
# control, add individual board + shield combinations to # to the `include` property. You can also use the `cmake-args` property to
# the `include` property, e.g: # pass flags to the build command and `artifact-name` to assign a name to
# distinguish build outputs from each other:
# #
# board: [ "nice_nano_v2" ] # board: [ "nice_nano_v2" ]
# shield: [ "corne_left", "corne_right" ] # shield: [ "corne_left", "corne_right" ]
@@ -10,12 +11,14 @@
# - board: bdn9_rev2 # - board: bdn9_rev2
# - board: nice_nano_v2 # - board: nice_nano_v2
# shield: reviung41 # shield: reviung41
# - board: nice_nano_v2
# shield: corne_left
# cmake-args: -DCONFIG_ZMK_USB_LOGGING=y
# artifact-name: corne_left_with_logging
# #
--- ---
include: include:
- board: nice_nano_v2 - board: nice_nano_v2
shield: wyld_dm_right nice_view shield: lily58_left
- board: nice_nano_v2 - board: nice_nano_v2
shield: wyld_dm_left shield: lily58_right
- board: nice_nano_v2
shield: settings_reset
-58
View File
@@ -1,58 +0,0 @@
#include <dt-bindings/led/led.h>
&pinctrl {
spi3_default: spi3_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 25)>,
<NRF_PSEL(SPIM_MOSI, 0, 11)>;
};
};
spi3_sleep: spi3_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 25)>,
<NRF_PSEL(SPIM_MOSI, 0, 11)>;
low-power-enable;
};
};
};
&spi3 {
compatible = "nordic,nrf-spim";
status = "okay";
pinctrl-0 = <&spi3_default>;
pinctrl-1 = <&spi3_sleep>;
pinctrl-names = "default", "sleep";
led_strip: ws2812@0 {
compatible = "worldsemi,ws2812-spi";
/* SPI */
reg = <0>; /* ignored, but necessary for SPI bindings */
spi-max-frequency = <4000000>;
/* WS2812 */
chain-length = <62>; /* number of LEDs */
spi-one-frame = <0x70>;
spi-zero-frame = <0x40>;
color-mapping = <LED_COLOR_ID_GREEN
LED_COLOR_ID_RED
LED_COLOR_ID_BLUE>;
};
};
/ {
chosen {
zmk,underglow = &led_strip;
};
};
&pro_micro_i2c {
status = "disabled";
};
&pro_micro_serial {
status = "disabled";
};
-45
View File
@@ -1,45 +0,0 @@
#include <dt-bindings/led/led.h>
&spi0 {
compatible = "nordic,nrf-spim";
status = "okay";
pinctrl-0 = <&spi0_default>;
pinctrl-1 = <&spi0_sleep>;
pinctrl-names = "default", "sleep";
led_strip: ws2812@0 {
compatible = "worldsemi,ws2812-spi";
/* SPI */
reg = <0>; /* ignored, but necessary for SPI bindings */
spi-max-frequency = <4000000>;
/* WS2812 */
chain-length = <40>; /* number of LEDs */
spi-one-frame = <0x70>;
spi-zero-frame = <0x40>;
color-mapping = <LED_COLOR_ID_GREEN
LED_COLOR_ID_RED
LED_COLOR_ID_BLUE>;
};
};
&blackpill_i2c {
status = "disabled";
};
&blackpill_serial {
status = "disabled";
};
/ {
chosen {
zmk,underglow = &led_strip;
};
};
@@ -1,16 +0,0 @@
if SHIELD_WYLD_DM_RIGHT
config ZMK_KEYBOARD_NAME
default "Wyld DM"
config ZMK_SPLIT_ROLE_CENTRAL
default y
endif
if SHIELD_WYLD_DM_LEFT || SHIELD_WYLD_DM_RIGHT
config ZMK_SPLIT
default y
endif
@@ -1,10 +0,0 @@
# config SHIELD_WYLD_DM
# bool
config SHIELD_WYLD_DM_LEFT
def_bool $(shields_list_contains,wyld_dm_left)
# select SHIELD_WYLD_DM
config SHIELD_WYLD_DM_RIGHT
def_bool $(shields_list_contains,wyld_dm_right)
# select SHIELD_WYLD_DM
-137
View File
@@ -1,137 +0,0 @@
#include <dt-bindings/zmk/matrix_transform.h>
#include <dt-bindings/led/led.h>
//wyld_dm_6x6 = <
// RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11)
// RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11)
// RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11)
// RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11)
// RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,5) RC(4,6) RC(4,7) RC(4,8) RC(4,9) RC(4,10) RC(4,11)
// RC(5,2) RC(5,3) RC(5,4) RC(5,5) RC(5,6) RC(5,7) RC(5,8) RC(5,9)
// RC(6,2) RC(6,3) RC(6,4) RC(6,5) RC(6,6) RC(6,7) RC(6,8) RC(6,9)
// >;
//
//wyld_dm_5x7 = <
// RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11) RC(0,12) RC(0,13)
// RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11) RC(0,12) RC(0,13)
// RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(5,1) RC(5, 10) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11) RC(1,12) RC(1,13)
// RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11) RC(2,12) RC(2,13)
// RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,9) RC(4,10) RC(4,11) RC(4,12) RC(4,13)
// RC(5,2) RC(5,3) RC(5,4) RC(5,7) RC(5,8) RC(5,9)
// RC(5,5) RC(5,6)
// >;
/ {
chosen {
zmk,kscan = &kscan0;
zmk,matrix_transform = &default_transform;
// zephyr,display = &oled;
zmk,underglow = &led_strip;
};
default_transform: keymap_transform_0 {
compatible = "zmk,matrix-transform";
columns = <12>;
rows = <5>;
// | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 | | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 |
// | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 | | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 |
// | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 | | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 |
// | SW24 | SW23 | SW22 | SW21 | SW20 | SW19 | | SW19 | SW20 | SW21 | SW22 | SW23 | SW24 |
// | SW30 | SW29 | SW28 | SW27 | SW26 | SW25 | | SW25 | SW26 | SW27 | SW28 | SW29 | SW30 |
//# 5x7 with encoders
// map = <
// RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11) RC(0,12) RC(0,13)
// RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11) RC(0,12) RC(0,13)
// RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(5,1) RC(5, 10) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11) RC(1,12) RC(1,13)
// RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11) RC(2,12) RC(2,13)
// RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,4) RC(4,9) RC(4,10) RC(4,11) RC(4,12) RC(4,13)
// RC(5,2) RC(5,3) RC(5,4) RC(5,7) RC(5,8) RC(5,9)
// RC(5,5) RC(5,6)
// >;
// map = <
//
// RC(1,5) RC(1,4) RC(1,3) RC(1,2) RC(1,1) RC(1,0) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11) RC(1,12)
// RC(2,5) RC(2,4) RC(2,3) RC(2,2) RC(2,1) RC(2,0) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11) RC(2,12)
// RC(3,5) RC(3,4) RC(3,3) RC(3,2) RC(3,1) RC(3,0) RC(0,6) RC(0,13) RC(3,7) RC(3,8) RC(3,9) RC(3,10) RC(3,11) RC(3,12)
// RC(4,5) RC(4,4) RC(4,3) RC(4,2) RC(4,1) RC(4,0) RC(4,7) RC(4,8) RC(4,9) RC(4,10) RC(4,11) RC(4,12)
// RC(0,0) RC(0,1) RC(0,7)
// RC(0,5) RC(0,2) RC(0,8)
// RC(0,4) RC(0,3) RC(0,10) RC(0,9)
// >;
// RC(4,5) IS THE ENCODER!
map = <
RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) RC(0,10) RC(0,11)
RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) RC(1,10) RC(1,11)
RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) RC(2,10) RC(2,11)
RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,8) RC(3,9)
RC(4,0) RC(4,1) RC(4,2) RC(4,3) RC(4,5) RC(4,6) RC(4,7) RC(4,8) RC(4,9)
>;
};
kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-matrix";
label = "KSCAN";
diode-direction = "col2row";
// PILLBUG PINS
// row-gpios
// = <&gpio1 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // PB1 / 1.11
// , <&gpio0 2 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // PB0 / 1.09
// , <&gpio1 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // PA4 / 1.11
// , <&gpio0 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // PA3 / 0.31
// , <&gpio0 31 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // PA2 / 1.15
// , <&gpio0 29 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // PA1 / 0.29
// ;
// NANO V2 PINS
row-gpios
= <&gpio0 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // 0.9
, <&gpio0 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // 0.9
, <&gpio1 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // 1.07
, <&gpio1 02 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // 1.02
, <&gpio1 01 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // 1.01
;
// // NANO V2 PINS
// row-gpios
// = <&gpio1 13 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // 1.13
// , <&gpio1 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // 1.11
// , <&gpio0 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // 0.10
// , <&gpio0 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // 0.9
//// , <&gpio0 31 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // PA2 / 1.15
//// , <&gpio0 29 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> // PA1 / 0.29
// ;
};
left_encoder: encoder_left {
compatible = "alps,ec11";
label = "LEFT_ENCODER";
a-gpios = <&gpio1 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
b-gpios = <&gpio1 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
steps = <60>;
status = "disabled";
};
// right_encoder: encoder_right {
// compatible = "alps,ec11";
// label = "RIGHT_ENCODER";
// a-gpios = <&gpio0 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
// b-gpios = <&gpio1 13 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
// steps = <60>;
// status = "disabled";
// };
sensors: sensors {
compatible = "zmk,keymap-sensors";
sensors = <&left_encoder>;
triggers-per-rotation = <15>;
};
};
@@ -1,6 +0,0 @@
/*
* Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#include "../../../wyld_dm.keymap"
@@ -1,17 +0,0 @@
file_format: "1"
id: wyld_dm
Name: wyld_dm
type: shield
url: https://github.com/bullwinkle3000/zmk-config-xiao/
requires:
- nice_nano_v2
exposes:
- i2c_oled
features:
- keys
- display
- encoders
- pointer
siblings:
- wyld_dm_left
- wyld_dm_right
@@ -1,19 +0,0 @@
# CONFIG_SPI=y
# # CONFIG_INPUT=y
# CONFIG_ZMK_RGB_UNDERGLOW=y
# CONFIG_WS2812_STRIP=y
# CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y
# CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=n
#
# CONFIG_ZMK_RGB_UNDERGLOW_ON_START=y
# CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=2
# CONFIG_ZMK_USB_LOGGING=y
#
# CONFIG_ZMK_RGB_UNDERGLOW=y
# CONFIG_WS2812_STRIP=y
# CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y
# CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=n
#
# CONFIG_ZMK_RGB_UNDERGLOW_ON_START=y
# CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=0
@@ -1,37 +0,0 @@
// wyld_dm_left.overlay
#include "wyld_dm.dtsi"
#include <dt-bindings/led/led.h>
/// PILLBUG PINS
//&kscan0 {
// col-gpios
// = <&gpio0 22 GPIO_ACTIVE_HIGH> // 0.22
// , <&gpio0 24 GPIO_ACTIVE_HIGH> // 0.24
// , <&gpio1 0 GPIO_ACTIVE_HIGH> // 1.00
// , <&gpio0 11 GPIO_ACTIVE_HIGH> // 0.11
// , <&gpio1 4 GPIO_ACTIVE_HIGH> // 1.04
//// , <&gpio1 6 GPIO_ACTIVE_HIGH> // 1.06
//// , <&gpio1 04 GPIO_ACTIVE_HIGH> // PB13 / 1.04
// ;
//};
&left_encoder {
status = "okay";
};
&kscan0 {
col-gpios
= <&gpio0 31 GPIO_ACTIVE_HIGH> // 0.31
, <&gpio0 29 GPIO_ACTIVE_HIGH> // 0.29
, <&gpio0 2 GPIO_ACTIVE_HIGH> // 0.02
, <&gpio1 15 GPIO_ACTIVE_HIGH> // 1.15
, <&gpio1 13 GPIO_ACTIVE_HIGH> // 1.13
, <&gpio1 11 (GPIO_ACTIVE_HIGH )> // 1.11
;
};
@@ -1,21 +0,0 @@
# #enable mouse emulation
CONFIG_ZMK_MOUSE=y
CONFIG_SPI=y
CONFIG_INPUT=y
CONFIG_PMW3610=y
CONFIG_PMW3610_CPI=2400
CONFIG_PMW3610_CPI_DIVIDOR=4
CONFIG_PMW3610_ORIENTATION_90=y
CONFIG_PMW3610_SNIPE_CPI=800
CONFIG_PMW3610_SNIPE_CPI_DIVIDOR=4
CONFIG_PMW3610_SCROLL_TICK=32
CONFIG_PMW3610_INVERT_X=y
CONFIG_PMW3610_AUTOMOUSE_TIMEOUT_MS=750
CONFIG_PMW3610_POLLING_RATE_125_SW=y
CONFIG_PMW3610_SMART_ALGORITHM=y
@@ -1,95 +0,0 @@
// wyld_dm_right.overlay
#include "wyld_dm.dtsi"
#include <dt-bindings/led/led.h>
&default_transform {
col-offset = <6>;
};
&kscan0 {
col-gpios
= <&gpio0 31 GPIO_ACTIVE_HIGH> // 0.31
, <&gpio0 29 GPIO_ACTIVE_HIGH> // 0.29
, <&gpio0 2 GPIO_ACTIVE_HIGH> // 0.02
, <&gpio1 15 GPIO_ACTIVE_HIGH> // 1.15
, <&gpio1 13 GPIO_ACTIVE_HIGH> // 1.13
, <&gpio1 11 (GPIO_ACTIVE_HIGH )> // 1.11
;
};
//&right_encoder {
// status = "okay";
//};
&pinctrl {
spi0_default: spi0_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 20)>,
<NRF_PSEL(SPIM_MOSI, 0, 17)>;
};
};
spi0_sleep: spi0_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 20)>,
<NRF_PSEL(SPIM_MOSI, 0, 17)>;
low-power-enable;
};
};
spi1_default: spi1_default {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 6)>,
<NRF_PSEL(SPIM_MOSI, 0, 8)>,
<NRF_PSEL(SPIM_MISO, 0, 8)>;
};
};
spi1_sleep: sp10_sleep {
group1 {
psels = <NRF_PSEL(SPIM_SCK, 0, 6)>,
<NRF_PSEL(SPIM_MOSI, 0, 8)>,
<NRF_PSEL(SPIM_MISO, 0, 8)>;
low-power-enable;
};
};
};
&spi1 {
compatible = "nordic,nrf-spim";
status = "okay";
pinctrl-0 = <&spi1_default>;
pinctrl-1 = <&spi1_sleep>;
pinctrl-names = "default", "sleep";
cs-gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
trackball: trackball@0 {
status = "okay";
compatible = "pixart,pmw3610";
reg = <0>;
spi-max-frequency = <2000000>;
irq-gpios = <&gpio0 24 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
snipe-layers = <2>;
scroll-layers = <1>;
automouse-layer = <3>;
};
};
nice_view_spi: &spi0 {
compatible = "nordic,nrf-spim";
pinctrl-0 = <&spi0_default>;
pinctrl-1 = <&spi0_sleep>;
pinctrl-names = "default", "sleep";
cs-gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
};
/ {
pmw3610_listener {
compatible = "zmk,input-listener";
device = <&trackball>;
};
};
/ {
chosen {
zephyr,display = &nice_view;
};
};
-77
View File
@@ -1,77 +0,0 @@
{
"id": "wyld_dm_4x6",
"name": "wyld_dm_4x6",
"layouts": {
"LAYOUT": {
"autoGenerated": "true",
"description": "This layout was automatically generated by the Keymap Editor. It may require manual changes to display properly.",
"layout": [
{ "row": 0, "col": 0, "x": 0, "y": 0.5, "label": "0,0" },
{ "row": 0, "col": 1, "x": 1, "y": 0.5, "label": "0,1" },
{ "row": 0, "col": 2, "x": 2, "y": 0, "label": "0,2" },
{ "row": 0, "col": 3, "x": 3, "y": 0, "label": "0,3" },
{ "row": 0, "col": 4, "x": 4, "y": 0, "label": "0,4" },
{ "row": 0, "col": 5, "x": 5, "y": 0, "label": "0,5" },
{ "row": 0, "col": 7, "x": 13, "y": 0, "label": "5,0" },
{ "row": 0, "col": 8, "x": 14, "y": 0, "label": "5,1" },
{ "row": 0, "col": 9, "x": 15, "y": 0, "label": "5,2" },
{ "row": 0, "col": 10, "x": 16, "y": 0, "label": "5,3" },
{ "row": 0, "col": 11, "x": 17, "y": 0.5, "label": "5,4" },
{ "row": 0, "col": 12, "x": 18, "y": 0.5, "label": "5,5" },
{ "row": 1, "col": 0, "x": 0, "y": 1.5, "label": "1,0" },
{ "row": 1, "col": 1, "x": 1, "y": 1.5, "label": "1,1" },
{ "row": 1, "col": 2, "x": 2, "y": 1, "label": "1,2" },
{ "row": 1, "col": 3, "x": 3, "y": 1, "label": "1,3" },
{ "row": 1, "col": 4, "x": 4, "y": 1, "label": "1,4" },
{ "row": 1, "col": 5, "x": 5, "y": 1, "label": "1,5" },
{ "row": 1, "col": 7, "x": 13, "y": 1, "label": "6,0" },
{ "row": 1, "col": 8, "x": 14, "y": 1, "label": "6,1" },
{ "row": 1, "col": 9, "x": 15, "y": 1, "label": "6,2" },
{ "row": 1, "col": 10, "x": 16, "y": 1, "label": "6,3" },
{ "row": 1, "col": 11, "x": 17, "y": 1.5, "label": "6,4" },
{ "row": 1, "col": 12, "x": 18, "y": 1.5, "label": "6,5" },
{ "row": 2, "col": 0, "x": 0, "y": 2.5, "label": "2,0" },
{ "row": 2, "col": 1, "x": 1, "y": 2.5, "label": "2,1" },
{ "row": 2, "col": 2, "x": 2, "y": 2, "label": "2,2" },
{ "row": 2, "col": 3, "x": 3, "y": 2, "label": "2,3" },
{ "row": 2, "col": 4, "x": 4, "y": 2, "label": "2,4" },
{ "row": 2, "col": 5, "x": 5, "y": 2, "label": "2,5" },
{ "row": 2, "col": 7, "x": 13, "y": 2, "label": "7,0" },
{ "row": 2, "col": 8, "x": 14, "y": 2, "label": "7,1" },
{ "row": 2, "col": 9, "x": 15, "y": 2, "label": "7,2" },
{ "row": 2, "col": 10, "x": 16, "y": 2, "label": "7,3" },
{ "row": 2, "col": 11, "x": 17, "y": 2.5, "label": "7,4" },
{ "row": 2, "col": 12, "x": 18, "y": 2.5, "label": "7,5" },
{ "row": 3, "col": 2, "x": 2, "y": 3, "label": "3,2" },
{ "row": 3, "col": 3, "x": 3, "y": 3, "label": "3,3" },
{ "row": 3, "col": 4, "x": 4.25, "y": 3.5, "label": "3,4" },
{ "row": 3, "col": 5, "x": 5.25, "y": 3.5, "label": "3,5" },
{ "row": 3, "col": 10, "x": 15, "y": 3, "label": "8,2" },
{ "row": 3, "col": 11, "x": 16, "y": 3, "label": "8,3" },
{ "row": 4, "col": 0, "x": 4.75, "y": 4.5, "label": "4,0" },
{ "row": 4, "col": 1, "x": 5.25, "y": 5.5, "label": "4,1" },
{ "row": 4, "col": 2, "x": 6.25, "y": 5.5, "label": "4,2" },
{ "row": 4, "col": 3, "x": 5.75, "y": 4.5, "label": "4,3" },
{ "row": 4, "col": 5, "x": 6.75 , "y": 2, "label": "4,5" },
{ "row": 4, "col": 6, "x": 11.5, "y": 3.5, "label": "9,0" },
{ "row": 4, "col": 7, "x": 11.5, "y": 4.5, "label": "9,1" },
{ "row": 4, "col": 8, "x": 10.5, "y": 5.5, "label": "9,2" },
{ "row": 4, "col": 9, "x": 11.5, "y": 5.5, "label": "9,3" }
]
}
},
"sensors": [
{
"ref": "left_encoder",
"name": "encoder_left",
"identifier": "encoder_left",
"compatible": "alps,ec11",
"label": "LEFT_ENCODER"
}
]
}
+7
View File
@@ -0,0 +1,7 @@
# Uncomment to enable encoder
# CONFIG_EC11=y
# CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y
# Uncomment the following line to enable the Lily58 OLED Display
# CONFIG_ZMK_DISPLAY=y
CONFIG_ZMK_MOUSE=y
+146
View File
@@ -0,0 +1,146 @@
/*
* Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#include <dt-bindings/zmk/mouse.h>
#include <dt-bindings/zmk/mouse.h>
#include <behaviors.dtsi>
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/outputs.h>
#include <dt-bindings/zmk/pointing.h>
&mt {
flavor = "tap-preferred";
tapping-term-ms = <150>;
quick-tap-ms = <0>;
};
/ {
behaviors {
tap_layer_2: tap_layer_2 {
compatible = "zmk,behavior-tap-dance";
label = "TAP_LAYER_2";
#binding-cells = <0>;
bindings = <&sl 2>, <&tog 2>;
};
tap_layer_1: tap_layer_1 {
compatible = "zmk,behavior-tap-dance";
label = "TAP_LAYER_1";
#binding-cells = <0>;
bindings = <&sl 1>, <&tog 1>;
};
hm: hm {
compatible = "zmk,behavior-hold-tap";
label = "Home row mods for left";
bindings = <&kp>, <&kp>;
#binding-cells = <2>;
tapping-term-ms = <200>;
flavor = "balanced";
quick-tap-ms = <0>;
hold-trigger-key-positions = <48 49 6 7 8 9 10 11 18 19 20 21 22 23 30 31 32 33 34 35 43 44 45 46 47 48 49 54 55 56 57 40 39 38>;
hold-trigger-on-release;
};
hm_right: hm_right {
compatible = "zmk,behavior-hold-tap";
label = "Home row mods for right";
bindings = <&kp>, <&kp>;
#binding-cells = <2>;
tapping-term-ms = <200>;
flavor = "balanced";
quick-tap-ms = <0>;
hold-trigger-key-positions = <0 1 2 4 5 12 13 14 15 16 17 24 25 26 27 28 29 36 37 38 39 40 41 42 50 51 52 53 3>;
hold-trigger-on-release;
};
};
keymap {
compatible = "zmk,keymap";
default_layer {
// ------------------------------------------------------------------------------------------------------------
// | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | - |
// | CTRL | A | S | D | F | G | | H | J | K | L | ; | ' |
// | SHIFT | Z | X | C | V | B | "[" | | "]" | N | M | , | . | / | SHIFT |
// | ALT | GUI | LOWER| SPACE | | ENTER | RAISE| BSPC | GUI |
bindings = <
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp DELETE
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BACKSLASH
&kp CAPSLOCK &hm LCTRL A &hm LEFT_GUI S &hm LEFT_ALT D &hm LEFT_SHIFT F &kp G &kp H &hm_right RIGHT_SHIFT J &hm_right RIGHT_ALT K &hm_right RIGHT_GUI L &hm_right RIGHT_CONTROL SEMICOLON &kp SQT
&mo 3 &kp Z &kp X &kp C &kp V &kp B &kp LBKT &kp RBKT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp EQUAL
&tog 0 &tog 4 &lt 1 ESCAPE &kp ENTER &kp SPACE &lt 2 BACKSPACE &kp MINUS &tog 0
>;
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
};
numbers {
// ------------------------------------------------------------------------------------------------------------
// | BTCLR | BT1 | BT2 | BT3 | BT4 | BT5 | | | | | | | |
// | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
// | ` | ! | @ | # | $ | % | | ^ | & | * | ( | ) | ~ |
// | | | | | | | | | | | _ | + | { | } | "|" |
// | | | | | | | | | |
bindings = <
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12
&trans &trans &trans &trans &trans &trans &kp STAR &kp N7 &kp N8 &kp N9 &kp MINUS &trans
&trans &trans &trans &trans &trans &trans &kp KP_DIVIDE &kp NUMBER_4 &kp N5 &kp N6 &kp PLUS &trans
&trans &trans &trans &trans &trans &trans &kp LEFT_PARENTHESIS &kp RIGHT_PARENTHESIS &kp CARET &kp NUMBER_1 &kp NUMBER_2 &kp NUMBER_3 &kp ENTER &trans
&trans &trans &tap_layer_1 &trans &kp N0 &kp PERIOD &trans &to 0
>;
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
};
nav_symbols {
// ------------------------------------------------------------------------------------------------------------
// | | | | | | | | | | | | | |
// | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
// | F1 | F2 | F3 | F4 | F5 | F6 | | | <- | v | ^ | -> | |
// | F7 | F8 | F9 | F10 | F11 | F12 | | | | + | - | = | [ | ] | \ |
// | | | | | | | | | |
bindings = <
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&trans &trans &msc SCRL_UP &mmv MOVE_UP &msc SCRL_DOWN &trans &trans &kp HOME &kp PAGE_UP &trans &trans &trans
&trans &trans &mmv MOVE_LEFT &mmv MOVE_DOWN &mmv MOVE_RIGHT &trans &kp LEFT &kp DOWN &kp UP_ARROW &kp RIGHT &trans &trans
&trans &trans &trans &trans &trans &trans &mkp LCLK &mkp RCLK &trans &kp END &kp PAGE_DOWN &trans &trans &trans
&trans &trans &trans &trans &trans &trans &trans &to 0
>;
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
};
bt_layer {
bindings = <
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &bt BT_CLR
&trans &trans &trans &trans &trans &trans &out OUT_USB &trans &trans &trans &trans &trans
&trans &trans &trans &trans &trans &trans &out OUT_TOG &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4
&trans &trans &trans &trans &trans &trans &trans &trans &out OUT_BLE &trans &trans &trans &trans &trans
&trans &trans &trans &trans &trans &trans &trans &to 0
>;
};
game {
bindings = <
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp DELETE
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BACKSLASH
&kp LEFT_SHIFT &kp A &kp S &kp D &kp F &kp G &kp H &hm_right RIGHT_SHIFT J &hm_right RIGHT_ALT K &hm_right RIGHT_GUI L &hm_right RIGHT_CONTROL SEMICOLON &kp SQT
&kp F1 &kp Z &kp X &kp C &kp V &kp B &kp LBKT &kp RBKT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp ESCAPE
&kp J &kp H &kp Y &kp ENTER &kp SPACE &lt 2 BACKSPACE &kp MINUS &to 0
>;
sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
};
};
};
+6 -19
View File
@@ -1,28 +1,15 @@
#manifest:
# remotes:
# - name: zmkfirmware
# url-base: https://github.com/zmkfirmware
# projects:
# - name: zmk
# remote: zmkfirmware
# revision: main
# import: app/west.yml
# self:
# path: config
manifest: manifest:
remotes: remotes:
- name: zmkfirmware - name: zmkfirmware
url-base: https://github.com/zmkfirmware
- name: pete
url-base: https://github.com/petejohanson url-base: https://github.com/petejohanson
- name: inorichi # Additional modules containing boards/shields/custom code can be listed here as well
url-base: https://github.com/inorichi # See https://docs.zephyrproject.org/3.2.0/develop/west/manifest.html#projects
projects: projects:
- name: zmk - name: zmk
remote: zmkfirmware remote: pete
revision: feat/pointers-move-scroll revision: feat/pointers-with-input-processors
import: app/west.yml import: app/west.yml
- name: zmk-pmw3610-driver
remote: inorichi
revision: main
self: self:
path: config path: config
-62
View File
@@ -1,62 +0,0 @@
CONFIG_ZMK_KEYBOARD_NAME="wyld_4x6"
CONFIG_BT_CTLR_TX_PWR_PLUS_8=y
CONFIG_ZMK_EXT_POWER=y
# CONFIG_BT_LL_SW_LLCP_LEGACY=y
CONFIG_BT_PERIPHERAL_PREF_MAX_INT=9
CONFIG_BT_PERIPHERAL_PREF_LATENCY=16
CONFIG_BT_BUF_ACL_TX_COUNT=32
CONFIG_BT_L2CAP_TX_BUF_COUNT=32
CONFIG_ZMK_BLE=y
CONFIG_ZMK_USB=y
CONFIG_ZMK_MOUSE=y
CONFIG_SPI=y
CONFIG_INPUT=y
#enable deep sleep
CONFIG_ZMK_SLEEP=n
CONFIG_ZMK_IDLE_TIMEOUT=20000
CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=180000
#wait time in macros
# CONFIG_ZMK_MACRO_DEFAULT_WAIT_MS=0
#
# CONFIG_BT_PERIPHERAL_PREF_MAX_INT=9
# CONFIG_BT_PERIPHERAL_PREF_LATENCY=16
# CONFIG_BT_BUF_ACL_TX_COUNT=32
# CONFIG_BT_L2CAP_TX_BUF_COUNT=32
# CONFIG_ZMK_USB_LOGGING=y
#
# CONFIG_ZMK_RGB_UNDERGLOW=y
# CONFIG_WS2812_STRIP=y
# CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y
# CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=n
#
# CONFIG_ZMK_RGB_UNDERGLOW_ON_START=y
# CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=0
# CONFIG_SSD1306_REVERSE_MODE=y
CONFIG_ZMK_RGB_UNDERGLOW=y
CONFIG_WS2812_STRIP=y
CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y
CONFIG_ZMK_RGB_UNDERGLOW_EXT_POWER=n
CONFIG_ZMK_RGB_UNDERGLOW_ON_START=n
CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=2
# #
CONFIG_EC11=y
CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y
#enable displays
# CONFIG_ZMK_DISPLAY=y
# CONFIG_I2C=y
# CONFIG_SSD1306=y
# CONFIG_ZMK_DISPLAY_STATUS_SCREEN_BUILT_IN=y
# CONFIG_ZMK_WIDGET_LAYER_STATUS=y
# CONFIG_ZMK_WIDGET_BATTERY_STATUS_SHOW_PERCENTAGE=y
# CONFIG_ZMK_DISPLAY_WORK_QUEUE_SYSTEM=y
# CONFIG_ZMK_DISPLAY_INVERT=y
-130
View File
@@ -1,130 +0,0 @@
/*
* Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
#include <dt-bindings/led/led.h>
#include <behaviors/mouse_keys.dtsi>
#include <behaviors.dtsi>
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/ext_power.h>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/mouse.h>
#include <dt-bindings/zmk/rgb.h>
// triggering build
#define QWERTY 0
#define LOWER 1
#define RAISE 2
//# 4x6 with encoders
/ {
behaviors {
rgb_encoder_bright: rgb_encoder_bright {
compatible = "zmk,behavior-sensor-rotate";
#sensor-binding-cells = <0>;
bindings = <&rgb_ug RGB_BRI>, <&rgb_ug RGB_BRD>;
};
hm_left: hm_left {
compatible = "zmk,behavior-hold-tap";
label = "HM_LEFT";
bindings = <&kp>, <&kp>;
#binding-cells = <2>;
tapping-term-ms = <200>;
flavor = "tap-preferred";
hold-trigger-key-positions = <6 7 8 9 10 11 18 19 20 21 22 23 30 31 32 33 34 35 40 41>;
hold-trigger-on-release;
};
hm_right: hm_right {
compatible = "zmk,behavior-hold-tap";
label = "HM_RIGHT";
bindings = <&kp>, <&kp>;
#binding-cells = <2>;
tapping-term-ms = <200>;
flavor = "tap-preferred";
hold-trigger-key-positions = <0 1 2 3 4 5 12 13 14 15 16 17 24 25 26 27 28 29 36 37>;
hold-trigger-on-release;
};
// rgb_encoder_hue: rgb_encoder_hue {
// compatible = "zmk,behavior-sensor-rotate";
// #sensor-binding-cells = <0>;
// bindings = <&rgb_ug RGB_HUI>, <&rgb_ug RGB_HUD>;
// };
};
keymap {
compatible = "zmk,keymap";
default_layer {
display-name = "QWERTY";
bindings = <
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BACKSLASH
&kp CAPS &hm_left LCTRL A &hm_left LEFT_GUI S &hm_left LEFT_ALT D &hm_left LEFT_SHIFT F &kp G &kp H &hm_right RIGHT_SHIFT J &hm_right RIGHT_ALT K &hm_right RIGHT_GUI L &hm_right RCTRL SEMICOLON &kp SQT
&mo 4 &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp EQUAL
&kp LEFT_BRACKET &kp RIGHT_BRACKET &lt 1 ESCAPE &kp ENTER &kp MINUS &kp GRAVE
&kp BACKSPACE &mkp LCLK &mkp RCLK &kp TAB &kp K_MUTE &lt 2 SPACE &none &kp DELETE &none
>;
sensor-bindings = <&inc_dec_kp PG_UP PG_DN>;
};
lower_layer {
display-name = "LOWER";
bindings = <
&ext_power EP_ON &kp F12 &kp F11 &kp F10 &kp F9 &rgb_ug RGB_EFF &trans &kp N7 &kp N8 &kp N9 &trans &trans
&ext_power EP_OFF &kp F8 &kp F7 &kp F6 &kp F5 &rgb_ug RGB_ON &trans &kp NUMBER_4 &kp NUMBER_5 &kp NUMBER_6 &trans &trans
&bootloader &kp F4 &kp F3 &kp F2 &kp F1 &rgb_ug RGB_OFF &kp NUMBER_0 &kp NUMBER_1 &kp NUMBER_2 &kp NUMBER_3 &trans &bootloader
&kp LEFT_SHIFT &trans &trans &trans &trans &trans
&trans &trans &trans &trans &rgb_ug RGB_TOG &trans &trans &trans &trans
>;
sensor-bindings = <&rgb_encoder_bright>;
};
raise_layer {
display-name = "RAISE";
bindings = <
&kp GRAVE &trans &trans &trans &trans &kp LBKT &kp RBKT &kp HOME &kp PAGE_UP &trans &trans &trans
&trans &trans &trans &trans &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans &trans
&trans &trans &trans &trans &trans &kp LEFT_PARENTHESIS &kp RIGHT_PARENTHESIS &kp END &kp PAGE_DOWN &trans &trans &trans
&trans &trans &trans &trans &trans &trans
&trans &trans &trans &trans &kp HOME &trans &trans &trans &trans
>;
sensor-bindings = <&inc_dec_kp C_VOL_DN C_VOL_UP>;
};
mouse_layer {
display-name = "MOUSE";
bindings = <
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&trans &trans &trans &mkp LCLK &mkp RCLK &trans &trans &mkp LCLK &mkp RCLK &trans &trans &trans
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&trans &trans &trans &trans &trans &trans
&trans &mkp LCLK &mkp RCLK &trans &trans &trans &trans &trans &trans
>;
sensor-bindings = <&inc_dec_kp C_VOL_DN C_VOL_UP>;
};
bluetooth {
bindings = <
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&trans &trans &trans &trans &trans &trans &trans &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
&trans &trans &trans &trans &bt BT_CLR &trans
&trans &trans &trans &trans &trans &trans &trans &trans &trans
>;
};
};
};
&led_strip { chain-length = <62>; };
Generated
+48
View File
@@ -0,0 +1,48 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1764915887,
"narHash": "sha256-CeBCJ9BMsuzVgn8GVfuSRZ6xeau7szzG0Xn6O/OxP9M=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "42e29df35be6ef54091d3a3b4e97056ce0a98ce8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs",
"zmk-nix": "zmk-nix"
}
},
"zmk-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1764463362,
"narHash": "sha256-5tp/ldKhQjQA4x3PkxcKs2X7nZH6yel983jE6612bWs=",
"owner": "lilyinstarlight",
"repo": "zmk-nix",
"rev": "a067029e5447d211b933179cb25bba12bbc1a8fa",
"type": "github"
},
"original": {
"owner": "lilyinstarlight",
"repo": "zmk-nix",
"type": "github"
}
}
},
"root": "root",
"version": 7
}
+49
View File
@@ -0,0 +1,49 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
zmk-nix = {
url = "github:lilyinstarlight/zmk-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, zmk-nix }: let
forAllSystems = nixpkgs.lib.genAttrs (nixpkgs.lib.attrNames zmk-nix.packages);
in {
packages = forAllSystems (system: rec {
default = firmware;
firmware = zmk-nix.legacyPackages.${system}.buildSplitKeyboard {
name = "firmware";
src = nixpkgs.lib.sourceFilesBySuffices self [ ".board" ".cmake" ".conf" ".defconfig" ".dts" ".dtsi" ".json" ".keymap" ".overlay" ".shield" ".yml" "_defconfig" ];
board = "nice_nano_v2";
shield = "lily58_%PART%";
zephyrDepsHash = "sha256-GO8lfSqZwc8yLc+cyFc+EA3163tBrYLVP9dFacytZTg=";
meta = {
description = "ZMK firmware";
license = nixpkgs.lib.licenses.mit;
platforms = nixpkgs.lib.platforms.all;
};
};
flash = zmk-nix.packages.${system}.flash.override { inherit firmware; };
update = zmk-nix.packages.${system}.update;
});
apps = forAllSystems (system: {
default = {
type = "app";
program = "${nixpkgs.lib.getExe self.packages.${system}.flash}";
};
});
devShells = forAllSystems (system: {
default = zmk-nix.devShells.${system}.default;
});
};
}
@@ -1,166 +0,0 @@
[
{
"name": "Wylderbuilds 4x6 Standard Default Wyld Track Encoder"
},
[
{
"x": 3
},
"0,2",
"0,3",
"0,4",
"0,5",
{
"x": 5.75
},
"5,0",
"5,1",
"5,2",
"5,3"
],
[
{
"y": -0.5,
"x": 1
},
"0,0",
"0,1",
{
"x": 13.75
},
"5,4",
"5,5"
],
[
{
"y": -0.5,
"x": 3
},
"1,2",
"1,3",
"1,4",
"1,5",
{
"x": 0.25
},
"0,0\n\n\n\n\n\n\n\n\ne",
"0,1\n\n\n\n\n\n\n\n\ne",
{
"x": 3.5
},
"6,0",
"6,1",
"6,2",
"6,3"
],
[
{
"y": -0.5,
"x": 1
},
"1,0",
"1,1",
{
"x": 13.75
},
"6,4",
"6,5"
],
[
{
"y": -0.5,
"x": 3
},
"2,2",
"2,3",
{
"n": true
},
"2,4",
"2,5",
{
"x": 0.75
},
"4,5",
{
"x": 4
},
"7,0",
{
"n": true
},
"7,1",
"7,2",
"7,3"
],
[
{
"y": -0.5,
"x": 1
},
"2,0",
"2,1",
{
"x": 13.75
},
"7,4",
"7,5"
],
[
{
"y": -0.5,
"x": 3
},
"3,2",
"3,3",
{
"x": 9.75
},
"8,2",
"8,3"
],
[
{
"y": -0.75,
"x": 13
},
"9,2"
],
[
{
"y": -0.75,
"x": 5.25
},
"3,4",
"3,5"
],
[
{
"y": -0.75,
"x": 12
},
"9,1"
],
[
{
"y": -0.5,
"x": 11
},
"9,0"
],
[
{
"y": -0.75,
"x": 5.5
},
"4,2",
"4,3"
],
[
{
"x": 6
},
"4,0",
"4,1"
]
]
+3
View File
@@ -0,0 +1,3 @@
build:
settings:
board_root: .