From ef805b494ad2ed0ddcb287c34b7a53ef96fa3ba0 Mon Sep 17 00:00:00 2001 From: topicchi Date: Wed, 15 Apr 2026 15:40:36 +0000 Subject: [PATCH] --- .../BMC/Keyboard_Paolo/cbm2pc/keyboard.json | 102 ++++++++++++++ .../cbm2pc/keymaps/default/keymap.c | 125 ++++++++++++++++++ .../BMC/Keyboard_Paolo/cbm2pc/readme.md | 27 ++++ .../BMC/Keyboard_Paolo/cbm2pc/rules.mk | 1 + .../BMC/Keyboard_Paolo/cbm2pc_default.uf2 | Bin 0 -> 59904 bytes 5 files changed, 255 insertions(+) create mode 100644 trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/keyboard.json create mode 100644 trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/keymaps/default/keymap.c create mode 100644 trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/readme.md create mode 100644 trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/rules.mk create mode 100644 trunk/workspace/BMC/Keyboard_Paolo/cbm2pc_default.uf2 diff --git a/trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/keyboard.json b/trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/keyboard.json new file mode 100644 index 00000000..4b1edcb8 --- /dev/null +++ b/trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/keyboard.json @@ -0,0 +1,102 @@ +{ + "keyboard_name": "cbm2pc", + "manufacturer": "Pennuto", + "processor": "RP2040", + "bootloader": "rp2040", + "url": "", + "maintainer": "Pennuto", + "features": { + "bootmagic": true + }, + "bootmagic": { + "matrix": [0, 1] + }, + "usb": { + "vid": "0xFEED", + "pid": "0x0004", + "device_version": "0.0.1" + }, + "matrix_pins": { + "cols": ["GP9", "GP8", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2"], + "rows": ["GP0", "GP1", "GP15", "GP14", "GP13", "GP12", "GP11", "GP10"] + }, + "diode_direction": "COL2ROW", + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "INST/DEL", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "RETURN", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "CRSR RIGHT", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "CRSR DOWN", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "F1/F4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "F2/F5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "F3/F6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "@", "matrix": [0, 7], "x": 7, "y": 0}, + + {"label": "3", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "W", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "A", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "4", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "Z", "matrix": [1, 4], "x": 4, "y": 1}, + {"label": "S", "matrix": [1, 5], "x": 5, "y": 1}, + {"label": "E", "matrix": [1, 6], "x": 6, "y": 1}, + {"label": "LSHIFT", "matrix": [1, 7], "x": 7, "y": 1}, + + {"label": "5", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "R", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "D", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "6", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "C", "matrix": [2, 4], "x": 4, "y": 2}, + {"label": "F", "matrix": [2, 5], "x": 5, "y": 2}, + {"label": "T", "matrix": [2, 6], "x": 6, "y": 2}, + {"label": "X", "matrix": [2, 7], "x": 7, "y": 2}, + + {"label": "7", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "Y", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "G", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "8", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "B", "matrix": [3, 4], "x": 4, "y": 3}, + {"label": "H", "matrix": [3, 5], "x": 5, "y": 3}, + {"label": "U", "matrix": [3, 6], "x": 6, "y": 3}, + {"label": "V", "matrix": [3, 7], "x": 7, "y": 3}, + + {"label": "9", "matrix": [4, 0], "x": 0, "y": 4}, + {"label": "I", "matrix": [4, 1], "x": 1, "y": 4}, + {"label": "J", "matrix": [4, 2], "x": 2, "y": 4}, + {"label": "0", "matrix": [4, 3], "x": 3, "y": 4}, + {"label": "M", "matrix": [4, 4], "x": 4, "y": 4}, + {"label": "K", "matrix": [4, 5], "x": 5, "y": 4}, + {"label": "O", "matrix": [4, 6], "x": 6, "y": 4}, + {"label": "N", "matrix": [4, 7], "x": 7, "y": 4}, + + {"label": "PLUS", "matrix": [5, 0], "x": 0, "y": 5}, + {"label": "P", "matrix": [5, 1], "x": 1, "y": 5}, + {"label": "L", "matrix": [5, 2], "x": 2, "y": 5}, + {"label": "MINUS", "matrix": [5, 3], "x": 3, "y": 5}, + {"label": "DOT", "matrix": [5, 4], "x": 4, "y": 5}, + {"label": "COLON", "matrix": [5, 5], "x": 5, "y": 5}, + {"label": "BRACKET L", "matrix": [5, 6], "x": 6, "y": 5}, + {"label": "COMMA", "matrix": [5, 7], "x": 7, "y": 5}, + + {"label": "POUND", "matrix": [6, 0], "x": 0, "y": 6}, + {"label": "BRACKET R", "matrix": [6, 1], "x": 1, "y": 6}, + {"label": "SEMICOLON", "matrix": [6, 2], "x": 2, "y": 6}, + {"label": "HOME", "matrix": [6, 3], "x": 3, "y": 6}, + {"label": "RSHIFT", "matrix": [6, 4], "x": 4, "y": 6}, + {"label": "EQUAL", "matrix": [6, 5], "x": 5, "y": 6}, + {"label": "UP-ARROW", "matrix": [6, 6], "x": 6, "y": 6}, + {"label": "SLASH", "matrix": [6, 7], "x": 7, "y": 6}, + + {"label": "1", "matrix": [7, 0], "x": 0, "y": 7}, + {"label": "LEFT-ARROW", "matrix": [7, 1], "x": 1, "y": 7}, + {"label": "CTRL", "matrix": [7, 2], "x": 2, "y": 7}, + {"label": "2", "matrix": [7, 3], "x": 3, "y": 7}, + {"label": "SPACE", "matrix": [7, 4], "x": 4, "y": 7}, + {"label": "COMMODORE", "matrix": [7, 5], "x": 5, "y": 7}, + {"label": "Q", "matrix": [7, 6], "x": 6, "y": 7}, + {"label": "RUN/STOP", "matrix": [7, 7], "x": 7, "y": 7} + ] + + } + } +} diff --git a/trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/keymaps/default/keymap.c b/trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/keymaps/default/keymap.c new file mode 100644 index 00000000..9bd557af --- /dev/null +++ b/trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/keymaps/default/keymap.c @@ -0,0 +1,125 @@ +/* *************************************************************** * + * Tastiera QMK on Commodore Plus/4 HW for BMC and other emulators * + * --------------------------------------------------------------- * + * (C)13.04.2026 - Paolo Iocco * + * *************************************************************** */ + +#include QMK_KEYBOARD_H + +#define L_GREEN GP27 +#define L_RED GP28 +#define PC 0 /* PC Compatible Mode */ +#define CKEY 1 /* PC Commodore Key (Control)*/ +#define SHIFT 2 /* PC shift mode */ +#define C64 3 /* Commodore mode */ +#define CSHIFT 4 /* Commodore-Shift mode */ +#define CBM 15 /* Commodore Key pressed in Emulation mode. Allows to go back to PC Mode pressing C= & Control. */ + +/* **************** * + * Inizializzazione * + * **************** */ +void keyboard_post_init_user(void) { + // Imposta GP28/27/26 come output + palSetPadMode(PAL_PORT(L_GREEN), PAL_PAD(L_GREEN), PAL_MODE_OUTPUT_PUSHPULL); + palSetPadMode(PAL_PORT(L_RED), PAL_PAD(L_RED), PAL_MODE_OUTPUT_PUSHPULL); + // Stato iniziale: Accendi GREEN, Spegni RED + palSetLine(L_GREEN); + palClearLine(L_RED); +} + +/* ************************************ * + * Gestione LED in base al Layer attivo * + * ************************************ */ +layer_state_t layer_state_set_user(layer_state_t state) { + // Controlla quale layer è attivo + switch (get_highest_layer(state)) { + case C64: + case CSHIFT: + palClearLine(L_GREEN); // Spegni LED GREEN + palSetLine(L_RED); // Accendi LED RED + break; + case CKEY: + case CBM: + palSetLine(L_GREEN); // Accendi LED GREEN) + palSetLine(L_RED); // Accendi LED RED + break; + default: + palSetLine(L_GREEN); // Accendi LED GREEN) + palClearLine(L_RED); // Spegni LED RED + break; + } + return state; +} + +/* ******* * + * Layouts * + * ******* */ +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [PC] = LAYOUT( + KC_1, KC_HOME, KC_TAB, KC_LALT, KC_SPC, LT(CKEY,KC_LCTL), KC_Q, KC_2, + KC_3, KC_W, KC_A, MO(SHIFT), KC_Z, KC_S, KC_E, KC_4, + KC_5, KC_R, KC_D, KC_X, KC_C, KC_F, KC_T, KC_6, + KC_7, KC_Y, KC_G, KC_V, KC_B, KC_H, KC_U, KC_8, + KC_9, KC_I, KC_J, KC_N, KC_M, KC_K, KC_O, KC_0, + KC_DOWN, KC_P, KC_L, KC_COMM, KC_DOT, KC_COLON, KC_MINS, KC_UP, + KC_LEFT, KC_ASTR, KC_SCLN, KC_SLSH, KC_ESC, KC_EQL, KC_PLUS, KC_RGHT, + KC_BSPC, KC_ENT, KC_BSLS, S(KC_2), KC_F1, KC_F2, KC_F3, KC_F4 + ), + + [CKEY] = LAYOUT( + _______, _______, TO(C64), LCTL(KC_F8), _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, LCTL(KC_D), LCTL(KC_X), LCTL(KC_C), _______, _______, _______, + _______, _______, _______, LCTL(KC_V), _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + MS_DOWN, _______, _______, _______, MS_BTN1, S(KC_LBRC), KC_TILD, MS_UP, + MS_LEFT, _______, S(KC_RBRC), MS_BTN2, _______, _______, _______, MS_RGHT, + _______, _______, _______, _______, KC_F9, KC_F10, KC_F11, KC_F12 + ), + + [SHIFT] = LAYOUT( + KC_EXLM, KC_TILD, _______, _______, S(KC_SPC), _______, S(KC_Q), KC_DQUO, + KC_HASH, S(KC_W), S(KC_A), _______, S(KC_Z), S(KC_S), S(KC_E), KC_DLR, + KC_PERC, S(KC_R), S(KC_D), S(KC_X), S(KC_C), S(KC_F), S(KC_T), KC_AMPR, + KC_QUOT, S(KC_Y), S(KC_G), S(KC_V), S(KC_B), S(KC_H), S(KC_U), KC_LPRN, + KC_RPRN, S(KC_I), S(KC_J), S(KC_N), S(KC_M), S(KC_K), S(KC_O), KC_CIRC, + _______, S(KC_P), S(KC_L), KC_LABK, KC_RABK, KC_LBRC, S(KC_MINS), _______, + KC_PIPE, _______, KC_RBRC, KC_QUES, _______, _______, _______, _______, + S(KC_DEL), S(KC_ENT), _______, _______, KC_F5, KC_F6, KC_F7, KC_F8 + ), + + [C64] = LAYOUT( + KC_1, KC_HOME, KC_TAB, KC_LALT, KC_SPC, LM(CBM,MOD_LCTL), KC_Q, KC_2, + KC_3, KC_W, KC_A, LM(CSHIFT,MOD_LSFT), KC_Z, KC_S, KC_E, KC_4, + KC_5, KC_R, KC_D, KC_X, KC_C, KC_F, KC_T, KC_6, + KC_7, KC_Y, KC_G, KC_V, KC_B, KC_H, KC_U, KC_8, + KC_9, KC_I, KC_J, KC_N, KC_M, KC_K, KC_O, KC_0, + KC_DOWN, KC_P, KC_L, KC_COMM, KC_DOT, KC_COLON, KC_MINS, KC_UP, + KC_LEFT, KC_ASTR, KC_SCLN, KC_SLSH, KC_ESC, KC_EQL, KC_PLUS, KC_RGHT, + KC_BSPC, KC_ENT, KC_BSLS, KC_AT, KC_F1, KC_F2, KC_F3, KC_F7 + ), + + [CSHIFT] = LAYOUT( + KC_EXLM, S(KC_HOME), _______, _______, S(KC_SPC), _______, S(KC_Q), KC_DQUO, + KC_HASH, S(KC_W), S(KC_A), _______, S(KC_Z), S(KC_S), S(KC_E), KC_DLR, + KC_PERC, S(KC_R), S(KC_D), S(KC_X), S(KC_C), S(KC_F), S(KC_T), KC_AMPR, + KC_QUOT, S(KC_Y), S(KC_G), S(KC_V), S(KC_B), S(KC_H), S(KC_U), KC_LPRN, + KC_RPRN, S(KC_I), S(KC_J), S(KC_N), S(KC_M), S(KC_K), S(KC_O), KC_CIRC, + _______, S(KC_P), S(KC_L), KC_LABK, KC_RABK, KC_LBRC, _______, _______, + KC_PIPE, _______, KC_RBRC, KC_QUES, _______, _______, _______, _______, + S(KC_DEL), S(KC_ENT), _______, _______, KC_F5, KC_F6, KC_F7, KC_F8 + ), + + [CBM] = LAYOUT( + _______, _______, TO(PC), _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_PGUP, _______, _______, KC_F12 + ) +}; + diff --git a/trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/readme.md b/trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/readme.md new file mode 100644 index 00000000..54b37d86 --- /dev/null +++ b/trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/readme.md @@ -0,0 +1,27 @@ +# cbm2pc + +![cbm2pc](imgur.com image replace me!) + +*A short description of the keyboard/project* + +* Keyboard Maintainer: [Pennuto](https://github.com/Pennuto) +* 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 cbm2pc:default + +Flashing example for this keyboard: + + make cbm2pc: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 diff --git a/trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/rules.mk b/trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/rules.mk new file mode 100644 index 00000000..6c605dae --- /dev/null +++ b/trunk/workspace/BMC/Keyboard_Paolo/cbm2pc/rules.mk @@ -0,0 +1 @@ +MOUSEKEY_ENABLE = yes diff --git a/trunk/workspace/BMC/Keyboard_Paolo/cbm2pc_default.uf2 b/trunk/workspace/BMC/Keyboard_Paolo/cbm2pc_default.uf2 new file mode 100644 index 0000000000000000000000000000000000000000..ae209b8ebb68976c14ed9873cbaa41bf3e636b02 GIT binary patch literal 59904 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 O)PEb|&o~}a!v9Yp)4}%u literal 0 HcmV?d00001