diff --git a/.cargo/config.toml b/.cargo/config.toml index 5fe0add..e67a064 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,5 +1,5 @@ [target.'cfg(all(target_arch = "arm", target_os = "none"))'] -runner = "probe-rs run --chip nRF52840_xxAA" +runner = "elf2uf2-rs -d" linker = "flip-link" [build] @@ -7,4 +7,4 @@ target = "thumbv7em-none-eabihf" [env] DEFMT_LOG = "info" -KEYBOARD_TOML_PATH = { value = "keyboard.toml", relative = true } +KEYBOARD_TOML_PATH = { value = "keyboard.toml", relative = true } diff --git a/flake.nix b/flake.nix index bb4ddf0..79ad2fa 100644 --- a/flake.nix +++ b/flake.nix @@ -59,6 +59,10 @@ packages = with pkgs; [ (crates.buildCrate "rmkit" {}) (crates.buildCrate "cargo-hex-to-uf2" {}) + (crates.buildCrate "elf2uf2-rs" { + buildInputs = with pkgs; [libudev-zero]; + nativeBuildInputs = with pkgs; [pkg-config]; + }) flip-link cargo-make cargo-binutils diff --git a/keyboard.toml b/keyboard.toml index eadc0d5..4bd3f60 100644 --- a/keyboard.toml +++ b/keyboard.toml @@ -12,13 +12,13 @@ chip = "nrf52840" # row2col = true rows = 4 cols = 12 -layers = 3 +layers = 4 keymap = [ [ ["Tab", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "Backspace"], - ["LCtrl", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Semicolon", "Quote"], + ["MT(esc, l_ctrl)", "MT(A, l_gui)", "MT(S, l_alt)", "MT(D, l_shift)", "MT(F, l_ctrl)", "G", "H", "MT(J, r_ctrl)", "MT(K, r_shift)", "MT(L, r_alt)", "MT(Semicolon, r_gui)", "Quote"], ["LShift", "Z", "X", "C", "V", "B", "N", "M", "Comma", "Dot", "Slash", "Enter"], - ["__", "__", "__", "OSM(LGui)", "LAlt", "Space", "Enter", "MO(2)", "MO(1)", "__", "__", "__"] + ["__", "__", "__", "MO(2)", "MO(1)", "Space", "Enter", "MO(1)", "MO(2)", "__", "__", "__"] ], [ ["Tab", "Kc1", "Kc2", "Kc3", "Kc4", "Kc5", "Kc6", "Kc7", "Kc8", "Kc9", "Kc0", "Delete"], @@ -32,13 +32,19 @@ keymap = [ ["_", "User10", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_"], ["__", "__", "__", "_", "_", "_", "_", "_", "LAlt", "__", "__", "__"] ], + [ + ["_", "WM(Kc1, LShift)", "WM(Kc2, LShift)", "WM(Kc3, LShift)", "WM(Kc4, LShift)", "WM(Kc5, LShift)", "WM(Kc6, LShift)", "WM(Kc7, LShift)", "WM(Kc8, LShift)", "WM(Kc9, LShift)", "WM(Kc0, LShift)", "Backspace"], + ["_", "User0", "User1", "User2", "User4", "User5", "Minus", "Equal", "LeftBracket", "RightBracket", "Backslash", "Grave"], + ["_", "User10", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_"], + ["__", "__", "__", "_", "_", "_", "_", "_", "LAlt", "__", "__", "__"] + ], ] [ble] enabled = true [behavior] -tap_hold = { enable_hrm = true } +tap_hold = { enable_hrm = true, permissive_hold = true, hold_timeout = "200ms" } [split] connection = "ble"