diff options
Diffstat (limited to 'keyboards/emptystring')
| -rw-r--r-- | keyboards/emptystring/nqg/keyboard.json | 68 | ||||
| -rw-r--r-- | keyboards/emptystring/nqg/keymaps/default/keymap.c | 61 | ||||
| -rw-r--r-- | keyboards/emptystring/nqg/keymaps/default/rules.mk | 1 | ||||
| -rw-r--r-- | keyboards/emptystring/nqg/readme.md | 15 |
4 files changed, 145 insertions, 0 deletions
diff --git a/keyboards/emptystring/nqg/keyboard.json b/keyboards/emptystring/nqg/keyboard.json new file mode 100644 index 0000000000..226ab34303 --- /dev/null +++ b/keyboards/emptystring/nqg/keyboard.json | |||
| @@ -0,0 +1,68 @@ | |||
| 1 | { | ||
| 2 | "keyboard_name": "NQG", | ||
| 3 | "manufacturer": "emptystring", | ||
| 4 | "maintainer": "culturalsnow", | ||
| 5 | "usb": { | ||
| 6 | "vid": "0x0076", | ||
| 7 | "pid": "0x0037", | ||
| 8 | "device_version": "1.0.0" | ||
| 9 | }, | ||
| 10 | "features": { | ||
| 11 | "bootmagic": false, | ||
| 12 | "extrakey": false, | ||
| 13 | "mousekey": false, | ||
| 14 | "nkro": true | ||
| 15 | }, | ||
| 16 | "matrix_pins": { | ||
| 17 | "cols": ["F7", "F6", "B5", "B4", "E6", "D7", "C6", "D4", "D0", "D1"], | ||
| 18 | "rows": ["B6", "B2", "B3", "B1"] | ||
| 19 | }, | ||
| 20 | "diode_direction": "COL2ROW", | ||
| 21 | "development_board": "promicro", | ||
| 22 | "layouts": { | ||
| 23 | "LAYOUT": { | ||
| 24 | "layout": [ | ||
| 25 | {"matrix": [0, 0], "x": 1, "y": 0}, | ||
| 26 | {"matrix": [0, 1], "x": 2, "y": 0}, | ||
| 27 | {"matrix": [0, 2], "x": 3, "y": 0}, | ||
| 28 | {"matrix": [0, 3], "x": 4, "y": 0}, | ||
| 29 | {"matrix": [0, 4], "x": 5, "y": 0}, | ||
| 30 | {"matrix": [0, 5], "x": 6, "y": 0}, | ||
| 31 | {"matrix": [0, 6], "x": 7, "y": 0}, | ||
| 32 | {"matrix": [0, 7], "x": 8, "y": 0}, | ||
| 33 | {"matrix": [0, 8], "x": 9, "y": 0}, | ||
| 34 | {"matrix": [0, 9], "x": 10, "y": 0}, | ||
| 35 | |||
| 36 | {"matrix": [1, 0], "x": 1, "y": 1}, | ||
| 37 | {"matrix": [1, 1], "x": 2, "y": 1}, | ||
| 38 | {"matrix": [1, 2], "x": 3, "y": 1}, | ||
| 39 | {"matrix": [1, 3], "x": 4, "y": 1}, | ||
| 40 | {"matrix": [1, 4], "x": 5, "y": 1}, | ||
| 41 | {"matrix": [1, 5], "x": 6, "y": 1}, | ||
| 42 | {"matrix": [1, 6], "x": 7, "y": 1}, | ||
| 43 | {"matrix": [1, 7], "x": 8, "y": 1}, | ||
| 44 | {"matrix": [1, 8], "x": 9, "y": 1}, | ||
| 45 | {"matrix": [1, 9], "x": 10, "y": 1}, | ||
| 46 | |||
| 47 | {"matrix": [2, 0], "x": 1, "y": 2}, | ||
| 48 | {"matrix": [2, 1], "x": 2, "y": 2}, | ||
| 49 | {"matrix": [2, 2], "x": 3, "y": 2}, | ||
| 50 | {"matrix": [2, 3], "x": 4, "y": 2}, | ||
| 51 | {"matrix": [2, 4], "x": 5, "y": 2}, | ||
| 52 | {"matrix": [2, 5], "x": 6, "y": 2}, | ||
| 53 | {"matrix": [2, 6], "x": 7, "y": 2}, | ||
| 54 | {"matrix": [2, 7], "x": 8, "y": 2}, | ||
| 55 | {"matrix": [2, 8], "x": 9, "y": 2}, | ||
| 56 | {"matrix": [2, 9], "x": 10, "y": 2}, | ||
| 57 | {"matrix": [3, 0], "x": 0, "y": 2}, | ||
| 58 | |||
| 59 | {"matrix": [3, 2], "x": 3, "y": 3}, | ||
| 60 | {"matrix": [3, 3], "x": 4, "y": 3}, | ||
| 61 | {"matrix": [3, 4], "x": 5, "y": 3}, | ||
| 62 | {"matrix": [3, 5], "x": 6, "y": 3}, | ||
| 63 | {"matrix": [3, 6], "x": 7, "y": 3}, | ||
| 64 | {"matrix": [3, 7], "x": 8, "y": 3} | ||
| 65 | ] | ||
| 66 | } | ||
| 67 | } | ||
| 68 | } | ||
diff --git a/keyboards/emptystring/nqg/keymaps/default/keymap.c b/keyboards/emptystring/nqg/keymaps/default/keymap.c new file mode 100644 index 0000000000..9b87225f19 --- /dev/null +++ b/keyboards/emptystring/nqg/keymaps/default/keymap.c | |||
| @@ -0,0 +1,61 @@ | |||
| 1 | // Copyright 2022 QMK | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | #include QMK_KEYBOARD_H | ||
| 4 | |||
| 5 | #define _BASE 0 | ||
| 6 | #define _LOWER 1 | ||
| 7 | #define _RAISE 2 | ||
| 8 | |||
| 9 | enum tapdances{ | ||
| 10 | TD_SCCL = 0, | ||
| 11 | TD_ENSL, | ||
| 12 | TD_N0BS, | ||
| 13 | TD_RPPI, | ||
| 14 | }; | ||
| 15 | |||
| 16 | #define KC_SCCL TD(TD_SCCL) | ||
| 17 | #define KC_ENSL TD(TD_ENSL) | ||
| 18 | #define KC_N0BS TD(TD_N0BS) | ||
| 19 | #define KC_RPPI TD(TD_RPPI) | ||
| 20 | |||
| 21 | #define KC_BSCT LCTL_T(KC_BSPC) | ||
| 22 | #define KC_ALEN LALT(KC_ENT) | ||
| 23 | #define KC_CTEN LCTL(KC_ENT) | ||
| 24 | #define KC_STAB LSFT_T(KC_TAB) | ||
| 25 | #define KC_WLNG LALT(KC_LSFT) | ||
| 26 | #define WIN_LOCK LGUI(KC_L) | ||
| 27 | #define KC_ULCK LCTL(LALT(KC_DEL)) | ||
| 28 | #define KC_DSTP LGUI(KC_D) | ||
| 29 | #define KC_ESLO LT(_LOWER, KC_ESC) | ||
| 30 | |||
| 31 | |||
| 32 | tap_dance_action_t tap_dance_actions[] = { | ||
| 33 | [TD_SCCL] = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_QUOT), | ||
| 34 | [TD_ENSL] = ACTION_TAP_DANCE_DOUBLE(KC_SLSH, KC_ENT), | ||
| 35 | [TD_N0BS] = ACTION_TAP_DANCE_DOUBLE(KC_0, KC_BSLS), | ||
| 36 | [TD_RPPI] = ACTION_TAP_DANCE_DOUBLE(KC_RPRN, KC_PIPE), | ||
| 37 | }; | ||
| 38 | |||
| 39 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 40 | |||
| 41 | [_BASE] = LAYOUT( | ||
| 42 | KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, | ||
| 43 | KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCCL, | ||
| 44 | KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_ENSL, | ||
| 45 | KC_STAB, KC_ESLO, KC_BSCT, KC_BSCT, KC_SPC, KC_SPC, MO(_RAISE) | ||
| 46 | ), | ||
| 47 | |||
| 48 | [_LOWER] = LAYOUT( | ||
| 49 | KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPPI, | ||
| 50 | _______, _______, KC_DSTP, _______, KC_WLNG, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, | ||
| 51 | _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, KC_HOME, KC_END, | ||
| 52 | KC_CTEN, _______, KC_BSCT, KC_BSCT, KC_SPC, KC_SPC, KC_ULCK | ||
| 53 | ), | ||
| 54 | |||
| 55 | [_RAISE] = LAYOUT( | ||
| 56 | KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_N0BS, | ||
| 57 | _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, | ||
| 58 | _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, | ||
| 59 | KC_ALEN, WIN_LOCK, KC_BSCT, KC_BSCT, KC_SPC, KC_SPC, _______ | ||
| 60 | ) | ||
| 61 | }; | ||
diff --git a/keyboards/emptystring/nqg/keymaps/default/rules.mk b/keyboards/emptystring/nqg/keymaps/default/rules.mk new file mode 100644 index 0000000000..e5ddcae8d9 --- /dev/null +++ b/keyboards/emptystring/nqg/keymaps/default/rules.mk | |||
| @@ -0,0 +1 @@ | |||
| TAP_DANCE_ENABLE = yes | |||
diff --git a/keyboards/emptystring/nqg/readme.md b/keyboards/emptystring/nqg/readme.md new file mode 100644 index 0000000000..b2ceeeb87d --- /dev/null +++ b/keyboards/emptystring/nqg/readme.md | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | # NQG: Not Quite Gherkin | ||
| 2 | |||
| 3 |  | ||
| 4 | |||
| 5 | NQG (Not Quite Gherkin) is a 30% ortholinear keyboard with a macro key and dedicated row for thumb keys, made by emptystring studio. | ||
| 6 | |||
| 7 | Keyboard Maintainer: [Culturalsnow](http://github.com/culturalsnow) | ||
| 8 | Hardware Supported: NQG PCB, Pro Micro | ||
| 9 | Hardware Availability: Kits are available from [SA_EndlessGame](http://twitter.com/SA_EndlessGame) | ||
| 10 | |||
| 11 | Make example for this keyboard (after setting up your build environment): | ||
| 12 | |||
| 13 | make emptystring/nqg:default | ||
| 14 | |||
| 15 | See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | ||
