commit 279a3d36aeb55f48736cd9f263486b23a8e93ffb
Author: typable <contact@typable.dev>
Date: Wed, 25 Oct 2023 00:38:00 +0200
feat: Initial commit
Diffstat:
A | config.h | | | 8 | ++++++++ |
A | keymap.c | | | 80 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | rules.mk | | | 4 | ++++ |
A | vial.json | | | 209 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
4 files changed, 301 insertions(+), 0 deletions(-)
diff --git a/config.h b/config.h
@@ -0,0 +1,8 @@
+#pragma once
+
+#define VIAL_KEYBOARD_UID {0x47, 0x97, 0x7E, 0x32, 0xC9, 0xAC, 0x13, 0xF3}
+
+#define VIAL_UNLOCK_COMBO_ROWS { 2, 3, 0, 0, 0 }
+#define VIAL_UNLOCK_COMBO_COLS { 0, 1, 0, 2, 4 }
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 6
diff --git a/keymap.c b/keymap.c
@@ -0,0 +1,80 @@
+#include QMK_KEYBOARD_H
+
+// ################
+// # Claw Sweeper #
+// ################
+
+// layers
+#define BSE 0
+#define NUM 1
+#define SYM 2
+#define NAV 3
+#define MUL 4
+#define FUN 5
+
+// hold to enter layer
+#define KC_TAL1 LT(NUM, KC_TAB)
+#define KC_BSL2 LT(SYM, KC_BSPC)
+#define KC_ENL4 LT(4, KC_ENT)
+#define KC_SPL3 LT(NAV, KC_SPC)
+
+#define KC_TG5 TG(5)
+
+// home rows left
+#define KC_CTA LCTL_T(KC_A)
+#define KC_ALS LALT_T(KC_S)
+#define KC_GUD LGUI_T(KC_D)
+#define KC_SHF LSFT_T(KC_F)
+
+// home rows right
+#define KC_SHJ LSFT_T(KC_J)
+#define KC_GUK LGUI_T(KC_K)
+#define KC_ALL LALT_T(KC_L)
+#define KC_CTSC LCTL_T(KC_SCLN)
+
+// parentheses
+#define KC_LBRR LSFT(KC_9)
+#define KC_RBRR LSFT(KC_0)
+
+// braces
+#define KC_LBRS LSFT(KC_LBRC)
+#define KC_RBRS LSFT(KC_RBRC)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BSE] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_CTA, KC_ALS, KC_GUD, KC_SHF, KC_G, KC_H, KC_SHJ, KC_GUK, KC_ALL, KC_CTSC,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
+ KC_TAL1, KC_SPL3, KC_ENL4, KC_BSL2
+ ),
+ [NUM] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSLS, KC_7, KC_8, KC_9, KC_PPLS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_EQL, KC_4, KC_5, KC_6, KC_PMNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_1, KC_2, KC_3, KC_PAST,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [SYM] = LAYOUT(
+ KC_GRV, KC_EXLM, KC_LBRR, KC_RBRR, KC_AT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_QUOT, KC_AMPR, KC_LBRS, KC_RBRS, KC_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_MINS, KC_PERC, KC_LBRC, KC_RBRC, KC_HASH, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_CIRC, KC_DLR, KC_TRNS, KC_TRNS
+ ),
+ [NAV] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_VOLU, KC_VOLD,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_INS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_PGDN, KC_PGUP, KC_HOME, KC_END,
+ KC_TRNS, KC_TRNS, KC_ESC, KC_DEL
+ ),
+ [MUL] = LAYOUT(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TG5, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS
+ ),
+ [FUN] = LAYOUT(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TG5, KC_TRNS
+ ),
+};
diff --git a/rules.mk b/rules.mk
@@ -0,0 +1,4 @@
+VIA_ENABLE = yes
+VIAL_ENABLE = yes
+LTO_ENABLE = yes
+QMK_SETTINGS = no
diff --git a/vial.json b/vial.json
@@ -0,0 +1,208 @@
+{
+ "name": "Claw Sweeper",
+ "vendorId": "0xC2AB",
+ "productId": "0x3939",
+ "firmwareVersion": 0,
+ "lighting": "none",
+ "keycodes": [
+ "via/keycodes"
+ ],
+ "menus": [
+ "via/keymap",
+ "via/layouts",
+ "via/macros",
+ "via/save_load"
+ ],
+ "matrix": {
+ "rows": 8,
+ "cols": 5
+ },
+ "layouts": {
+ "keymap": [
+ [
+ {
+ "x": 2
+ },
+ "0,2",
+ {
+ "x": 5.75
+ },
+ "4,2"
+ ],
+ [
+ {
+ "y": -0.5,
+ "x": 1
+ },
+ "0,1",
+ {
+ "x": 1
+ },
+ "0,3",
+ {
+ "x": 3.75
+ },
+ "4,1",
+ {
+ "x": 1
+ },
+ "4,3"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 4
+ },
+ "0,4",
+ {
+ "x": 1.75
+ },
+ "4,0"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 2
+ },
+ "1,2",
+ {
+ "x": 5.75
+ },
+ "5,2"
+ ],
+ [
+ {
+ "y": -0.75
+ },
+ "0,0",
+ {
+ "x": 9.75
+ },
+ "4,4"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 1
+ },
+ "1,1",
+ {
+ "x": 1
+ },
+ "1,3",
+ {
+ "x": 3.75
+ },
+ "5,1",
+ {
+ "x": 1
+ },
+ "5,3"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 4
+ },
+ "1,4",
+ {
+ "x": 1.75
+ },
+ "5,0"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 2
+ },
+ "2,2",
+ {
+ "x": 5.75
+ },
+ "6,2"
+ ],
+ [
+ {
+ "y": -0.75
+ },
+ "1,0",
+ {
+ "x": 9.75
+ },
+ "5,4"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 1
+ },
+ "2,1",
+ {
+ "x": 1
+ },
+ "2,3",
+ {
+ "x": 3.75
+ },
+ "6,1",
+ {
+ "x": 1
+ },
+ "6,3"
+ ],
+ [
+ {
+ "y": -0.75,
+ "x": 4
+ },
+ "2,4",
+ {
+ "x": 1.75
+ },
+ "6,0"
+ ],
+ [
+ {
+ "y": -0.5
+ },
+ "2,0",
+ {
+ "x": 9.75
+ },
+ "6,4"
+ ],
+ [
+ {
+ "r": 15,
+ "y": -1.5099999999999998,
+ "x": 4.67
+ },
+ "3,0"
+ ],
+ [
+ {
+ "r": 30,
+ "y": -2.49,
+ "x": 6.5
+ },
+ "3,1"
+ ],
+ [
+ {
+ "r": -30,
+ "y": 4.92,
+ "x": 2.76
+ },
+ "7,0"
+ ],
+ [
+ {
+ "r": -15,
+ "y": -2.42,
+ "x": 5.75
+ },
+ "7,1"
+ ]
+ ]
+ }
+}
+\ No newline at end of file