diff --git a/.github/workflows/lint_and_compile.yml b/.github/workflows/lint_and_compile.yml index aa09178..d3376c3 100644 --- a/.github/workflows/lint_and_compile.yml +++ b/.github/workflows/lint_and_compile.yml @@ -10,8 +10,8 @@ jobs: submodules: 'true' - name: Setup run: | - python3 -m pip install --user qmk - python3 -m pip install -r /home/runner/work/dgvigil-keebs/dgvigil-keebs/qmk_firmware/requirements.txt + python3 -m pip install --break-system-package --user qmk + python3 -m pip install --break-system-package -r /home/runner/work/dgvigil-keebs/dgvigil-keebs/qmk_firmware/requirements.txt qmk setup -y cd /home/runner/work/dgvigil-keebs/dgvigil-keebs/qmk_firmware/ make git-submodules diff --git a/dgvigil/features/macros.c b/dgvigil/features/macros.c index d3733b8..17520cd 100644 --- a/dgvigil/features/macros.c +++ b/dgvigil/features/macros.c @@ -17,7 +17,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case COPY: if (record->event.pressed) { if (isLinux) { - tap_code16(LCTL(KC_C)); + tap_code16(RCS(KC_C)); } else { tap_code16(LGUI(KC_C)); } @@ -26,7 +26,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case PASTE: if (record->event.pressed) { if (isLinux) { - tap_code16(LCTL(KC_V)); + tap_code16(RCS(KC_V)); } else { tap_code16(LGUI(KC_V)); } @@ -35,7 +35,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case CUT: if (record->event.pressed) { if (isLinux) { - tap_code16(LCTL(KC_X)); + tap_code16(RCS(KC_X)); } else { tap_code16(LGUI(KC_X)); } diff --git a/macropad/keyboard.json b/macropad/keyboard.json new file mode 100644 index 0000000..7e2aea2 --- /dev/null +++ b/macropad/keyboard.json @@ -0,0 +1,48 @@ +{ + "manufacturer": "dgvigil", + "keyboard_name": "chicanopad", + "maintainer": "dgvigil", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP6", "GP7", "GP8", "GP9"], + "rows": ["GP10", "GP11", "GP12", "GP13"] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_ortho_4x4": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3} + ] + } + } +} \ No newline at end of file diff --git a/macropad/keymaps/default/keymap.c b/macropad/keymaps/default/keymap.c new file mode 100644 index 0000000..9ae1cb8 --- /dev/null +++ b/macropad/keymaps/default/keymap.c @@ -0,0 +1,25 @@ +#include QMK_KEYBOARD_H + +// Layout definitions +#define _MACOS 0 + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌─--──┬─--──┬─--──┬─--──┐ + * │COPY │PSTE │SALL │TO(_LINUX)│ + * ├─--──┼─--──┼─--──┼─--──┤ + * │SPOT │UP │ ~/` │TO(_NUMPAD)│ + * ├─--──┼─--──┼─--──┼─--──┤ + * │LEFT │DOWN │RGHT │OSL(_OTHER)│ + * ├─--──┼─--──┼─--──┼─--──┤ + * │HOME │ENTR │END │ESC │ + * └─--──┴─--──┴─--──┴─--──┘ + */ + [_MACOS] = LAYOUT_ortho_4x4( + LGUI(KC_C), LGUI(KC_V), LGUI(KC_A), KC_GRV, + LGUI(KC_SPACE), KC_UP, KC_GRV, KC_GRV, + KC_LEFT, KC_DOWN, KC_RGHT, KC_GRV, + KC_HOME, KC_ENT, KC_END, KC_ESC + ) +}; diff --git a/macropad/keymaps/default/map.txt b/macropad/keymaps/default/map.txt new file mode 100644 index 0000000..86b6c37 --- /dev/null +++ b/macropad/keymaps/default/map.txt @@ -0,0 +1,121 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum { + CUSTOM_KEYCODE_START = SAFE_RANGE, + M_PASS1, + M_PASS2, + M_PASS3, + M_PASS4, + CUSTOM_KEYCODE_END +}; + +// Layout definitions +#define _MACOS 0 +#define _LINUX 1 +#define _NUMPAD 2 +#define _OTHER 3 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌─--──┬─--──┬─--──┬─--──┐ + * │COPY │PSTE │SALL │TO(_LINUX)│ + * ├─--──┼─--──┼─--──┼─--──┤ + * │SPOT │UP │ ~/` │TO(_NUMPAD)│ + * ├─--──┼─--──┼─--──┼─--──┤ + * │LEFT │DOWN │RGHT │OSL(_OTHER)│ + * ├─--──┼─--──┼─--──┼─--──┤ + * │HOME │ENTR │END │ESC │ + * └─--──┴─--──┴─--──┴─--──┘ + */ + [_MACOS] = LAYOUT_ortho_4x4( + LGUI(KC_C), LGUI(KC_V), LGUI(KC_A), TO(_LINUX), + LGUI(KC_SPACE), KC_UP, KC_GRV, TO(_NUMPAD), + KC_LEFT, KC_DOWN, KC_RGHT, OSL(_OTHER), + KC_HOME, KC_ENT, KC_END, KC_ESC + ), + + /* + * ┌─--──┬─--──┬─--──┬─--──┐ + * │COPY │PSTE │SALL │TO(_LINUX)│ + * ├─--──┼─--──┼─--──┼─--──┤ + * │SPOT │UP │ ~/` │TO(_NUMPAD)│ + * ├─--──┼─--──┼─--──┼─--──┤ + * │LEFT │DOWN │RGHT │OSL(_OTHER)│ + * ├─--──┼─--──┼─--──┼─--──┤ + * │HOME │ENTR │END │ESC │ + * └─--──┴─--──┴─--──┴─--──┘ + */ + [_LINUX] = LAYOUT_ortho_4x4( + LCTL(KC_C), LCTL(KC_V), LCTL(KC_A), TO(_LINUX), + LGUI(KC_SPACE), KC_UP, KC_GRV, TO(_NUMPAD), + KC_LEFT, KC_DOWN, KC_RGHT, OSL(_OTHER), + KC_HOME, KC_ENT, KC_END, TO(_MACOS) + ), + + + /* + * ┌─--──┬─--──┬─--──┬─--──┐ + * │7 │8 │9 │=/+ │ + * ├─--──┼─--──┼─--──┼─--──┤ + * │4 │5 │6 │* │ + * ├─--──┼─--──┼─--──┼─--──┤ + * │1 │2 │3 │/ │ + * ├─--──┼─--──┼─--──┼─--──┤ + * │0 │. │ENTR │TO(_MACOS)│ + * └─--──┴─--──┴─--──┴─--──┘ + */ + [_NUMPAD] = LAYOUT_ortho_4x4( + KC_7, KC_8, KC_9, KC_EQL, + KC_4, KC_5, KC_6, KC_PAST, + KC_1, KC_2, KC_3, KC_PSLS, + KC_0, KC_DOT, KC_ENT, TO(_MACOS) + ), + + + /* + * ┌─--──┬─--──┬─--──┬─--──┐ + * │COPY │PSTE │SALL │BOOT │ + * ├─--──┼─--──┼─--──┼─--──┤ + * │SPOT │UP │ ~/` │TO(_NUMPAD) │ + * ├─--──┼─--──┼─--──┼─--──┤ + * │LEFT │DOWN │RGHT │OSL(_OTHER) │ + * ├─--──┼─--──┼─--──┼─--──┤ + * │HOME │ENTR │END │TO(_MACOS)│ + * └─--──┴─--──┴─--──┴─--──┘ + */ + [_OTHER] = LAYOUT_ortho_4x4( + _______, _______, _______, QK_BOOT, + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, TO(_MACOS) + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case M_PASS1: + if (record->event.pressed) { + SEND_STRING("P0plarLake!2023"); + } + return false; + case M_PASS2: + if (record->event.pressed) { + SEND_STRING("CindieOtono!2024"); + } + return false; + case M_PASS3: + if (record->event.pressed) { + SEND_STRING("1290"); + } + return false; + case M_PASS4: + if (record->event.pressed) { + SEND_STRING("Thel0ve0fchrist!"); + } + return false; + } + return true; +} diff --git a/macropad/keymaps/default/rules.mk b/macropad/keymaps/default/rules.mk new file mode 100644 index 0000000..7981fd2 --- /dev/null +++ b/macropad/keymaps/default/rules.mk @@ -0,0 +1,2 @@ +COMBO_ENABLE = yes +TAP_DANCE_ENABLE = yes diff --git a/macropad/keymaps/vial/config.h b/macropad/keymaps/vial/config.h new file mode 100644 index 0000000..bb1d94e --- /dev/null +++ b/macropad/keymaps/vial/config.h @@ -0,0 +1,6 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + + +#define VIAL_KEYBOARD_UID {0xCB, 0xA5, 0x09, 0xFB, 0xC9, 0x6A, 0xE7, 0xF9} diff --git a/macropad/keymaps/vial/keymap.c b/macropad/keymaps/vial/keymap.c new file mode 100644 index 0000000..8ead900 --- /dev/null +++ b/macropad/keymaps/vial/keymap.c @@ -0,0 +1,24 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┐ + * │ 7 │ 8 │ 9 │ / │ + * ├───┼───┼───┼───┤ + * │ 4 │ 5 │ 6 │ * │ + * ├───┼───┼───┼───┤ + * │ 1 │ 2 │ 3 │ - │ + * ├───┼───┼───┼───┤ + * │ 0 │ . │Ent│ + │ + * └───┴───┴───┴───┘ + */ + [0] = LAYOUT_ortho_4x4( + KC_PSLS, KC_P8, KC_P9, KC_P7, + KC_P4, KC_P5, KC_P6, KC_PAST, + KC_P1, KC_P2, KC_P3, KC_PMNS, + KC_P0, KC_PDOT, KC_PENT, KC_PPLS + ) +}; diff --git a/macropad/keymaps/vial/rules.mk b/macropad/keymaps/vial/rules.mk new file mode 100644 index 0000000..db3ca3d --- /dev/null +++ b/macropad/keymaps/vial/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +VIAL_INSECURE = yes \ No newline at end of file diff --git a/macropad/keymaps/vial/vial.json b/macropad/keymaps/vial/vial.json new file mode 100644 index 0000000..88042f6 --- /dev/null +++ b/macropad/keymaps/vial/vial.json @@ -0,0 +1,39 @@ +{ + "name": "chicanopad", + "vendorId": "0x7983", + "productId": "0x5050", + "lighting": "none", + "matrix": { + "rows": 4, + "cols": 4 + }, + "layouts": { + "keymap": + [ + [ + "0,0", + "0,1", + "0,2", + "0,3" + ], + [ + "1,0", + "1,1", + "1,2", + "1,3" + ], + [ + "2,0", + "2,1", + "2,2", + "2,3" + ], + [ + "3,0", + "3,1", + "3,2", + "3,3" + ] + ] + } +} diff --git a/macropad/readme.md b/macropad/readme.md new file mode 100644 index 0000000..f3d6884 --- /dev/null +++ b/macropad/readme.md @@ -0,0 +1,27 @@ +# chicanopad + +![chicanopad](imgur.com image replace me!) + +*A short description of the keyboard/project* + +* Keyboard Maintainer: [dgvigil](https://github.com/dgvigil) +* Hardware Supported: *The PCBs, controllers supported* +* Hardware Availability: *Links to where you can find this hardware* + +Make example for this keyboard (after setting up your build environment): + + make chicanopad:default + +Flashing example for this keyboard: + + make chicanopad:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available