1 / 7
Macropad 3x5 QMK — zdjęcie 1
1 / 7

Macropad 3x5 QMK

Zamów wydruk tego modelu

Obliczymy ostateczną cenę na podstawie wybranego pliku. Sprawdzisz ją i zaakceptujesz przed płatnością.

Zapisane na tym urządzeniu.

Macropad on a ProMicro board with the QMK system

Ocena
0 / 5
Polubienia
4
Pobrania
16
Wydruki
0
Wyświetlenia
95
Oceny
0

Aktualizacja u źródła:

Informacje o modelu

Źródło
Printables
Kategoria
Computers
Licencja
Creative Commons — Attribution — Noncommercial — Share Alike

A 3x5 macropad on a Pro Micro board with the QMK system. The board is attached with hot glue. The keys are connected via a 1N 4148 diode. A microswitch is located on the board for easy software modification. The housing is assembled with 8mm M3 screws. The housing features heated M3 inserts. I used Black Linear keys. The keycap is MX Relegendable Keycap Shell Protection.

On my keyboard, one of the buttons is a direct link to the Supla program. The link is dotted. Creating multiple button layers is easy on the keyboard. To change the code, use Google Gemini.

I'm attaching my QMK codes:

  • file keymap.c

#include QMK_KEYBOARD_H

enum custom_keycodes { M2P_ENTER = SAFE_RANGE, SUPLA_CURL };

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT( // Wiersz 1 LCTL(KC_C), LCTL(KC_V), LCTL(LSFT(KC_L)), SUPLA_CURL, KC_CALC,

    // Wiersz 2
    LCTL(LSFT(KC_C)), LCTL(LSFT(KC_W)), LCTL(LSFT(KC_Q)), LCTL(KC_P),       KC_0,
    
    // Wiersz 3
    LCTL(KC_Z),       M2P_ENTER,        KC_ESC,           KC_ENT,           KC_E
)

};

bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case M2P_ENTER: if (record->event.pressed) { SEND_STRING("m2p"); register_code(KC_ENT); unregister_code(KC_ENT); } return false;

    case SUPLA_CURL:
        if (record->event.pressed) {
            // Odpowiednik: Keyboard.press(KEY_LEFT_GUI); Keyboard.press('r'); Keyboard.releaseAll();
            register_code(KC_LGUI);
            register_code(KC_R);
            unregister_code(KC_R);
            unregister_code(KC_LGUI);
            
            // Odpowiednik: delay(100);
            wait_ms(100);
            
            // Odpowiednik: Keyboard.print("...");
            // Używamy czystego SEND_STRING bez emulacji schowka (Ctrl+V)
            SEND_STRING("C:\\Windows\\System32\\curl.exe https://...........link............");
            
            // Odpowiednik: delay(100);
            wait_ms(100);
            
            // Odpowiednik: Keyboard.write(KEY_RETURN);
            register_code(KC_ENT);
            unregister_code(KC_ENT);
            
            // Odpowiednik: delay(300);
            wait_ms(300);
        }
        return false;

    default:
        return true;
}

}

  • file keybord.json

{
    "keyboard_name": "Seba Macropad 15",
    "url": "",
    "maintainer": "qmk",
    "width": 5,
    "height": 3,
    "processor": "atmega32u4",
    "bootloader": "caterina",
    "diode_direction": "COL2ROW",
    "manufacturer": "DIY",
    "usb": {
        "vid": "0xFEED",
        "pid": "0x0003",
        "device_version": "1.0.0"
    },
    "matrix_pins": {
        "cols": ["C6", "D7", "E6", "B4", "B5"],
        "rows": ["D1", "D0", "D4"]
    },
    "layouts": {
        "LAYOUT": {
            "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": [0, 4], "x": 4, "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": [1, 4], "x": 4, "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": [2, 4], "x": 4, "y": 2}
            ]
        }
    }
}
MCU = atmega32u4
BOOTLOADER = caterina

BOOTMAGIC_ENABLE = yes MOUSEKEY_ENABLE = no EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no COMMAND_ENABLE = no BACKLIGHT_ENABLE = no RGBLIGHT_ENABLE = no NKRO_ENABLE = yes

Tagi