Last active
September 25, 2024 00:06
-
-
Save penk/309847adc4c4a323ec03c1262fdc24b3 to your computer and use it in GitHub Desktop.
QMK firmware for Toshiba T1200
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"keyboard_name": "toshiba_t1200", | |
"manufacturer": "Toshiba", | |
"url": "", | |
"maintainer": "penk", | |
"usb": { | |
"vid": "0xFEED", | |
"pid": "0x0000", | |
"device_version": "1.0" | |
}, | |
"processor": "RP2040", | |
"bootloader": "rp2040", | |
"layouts": { | |
"LAYOUT": { | |
"layout": [ | |
{"matrix": [0, 0], "label":"F1", "x":0, "y":0}, {"matrix": [0, 1], "label":"Num Lock", "x":1, "y":0}, {"matrix": [0, 2], "label":"F3", "x":2, "y":0}, {"matrix": [0, 3], "label":"PgDn", "x":3, "y":0}, {"matrix": [0, 4], "label":"F5", "x":4, "y":0}, {"matrix": [0, 5], "label":"F7", "x":5, "y":0}, {"matrix": [0, 6], "label":"F9", "x":6, "y":0}, {"matrix": [0, 7], "label":"End", "x":7, "y":0}, | |
{"matrix": [1, 0], "label":"F2", "x":0, "y":1}, {"matrix": [1, 1], "label":"Scroll Lock", "x":1, "y":1}, {"matrix": [1, 2], "label":"F4", "x":2, "y":1}, {"matrix": [1, 3], "label":"PgUp", "x":3, "y":1}, {"matrix": [1, 4], "label":"F6", "x":4, "y":1}, {"matrix": [1, 5], "label":"F8", "x":5, "y":1}, {"matrix": [1, 6], "label":"F10", "x":6, "y":1}, {"matrix": [1, 7], "label":"Alt", "x":7, "y":1}, | |
{"matrix": [2, 0], "label":"Esc", "x":0, "y":2}, {"matrix": [2, 1], "label":"1", "x":1, "y":2}, {"matrix": [2, 2], "label":"Tab", "x":2, "y":2}, {"matrix": [2, 3], "label":"Q", "x":3, "y":2}, {"matrix": [2, 4], "label":"A", "x":4, "y":2}, {"matrix": [2, 5], "label":"Ctrl", "x":5, "y":2}, {"matrix": [2, 6], "label":"Shift", "x":6, "y":2}, {"matrix": [2, 7], "label":"\\", "x":7, "y":2}, | |
{"matrix": [3, 0], "label":"2", "x":0, "y":3}, {"matrix": [3, 1], "label":"3", "x":1, "y":3}, {"matrix": [3, 2], "label":"W", "x":2, "y":3}, {"matrix": [3, 3], "label":"E", "x":3, "y":3}, {"matrix": [3, 4], "label":"S", "x":4, "y":3}, {"matrix": [3, 5], "label":"D", "x":5, "y":3}, {"matrix": [3, 6], "label":"Z", "x":6, "y":3}, {"matrix": [3, 7], "label":"X", "x":7, "y":3}, | |
{"matrix": [4, 0], "label":"4", "x":0, "y":4}, {"matrix": [4, 1], "label":"5", "x":1, "y":4}, {"matrix": [4, 2], "label":"R", "x":2, "y":4}, {"matrix": [4, 3], "label":"T", "x":3, "y":4}, {"matrix": [4, 4], "label":"F", "x":4, "y":4}, {"matrix": [4, 5], "label":"G", "x":5, "y":4}, {"matrix": [4, 6], "label":"V", "x":6, "y":4}, {"matrix": [4, 7], "label":"C", "x":7, "y":4}, | |
{"matrix": [5, 0], "label":"6", "x":0, "y":5}, {"matrix": [5, 1], "label":"7", "x":1, "y":5}, {"matrix": [5, 2], "label":"Y", "x":2, "y":5}, {"matrix": [5, 3], "label":"U", "x":3, "y":5}, {"matrix": [5, 4], "label":"H", "x":4, "y":5}, {"matrix": [5, 5], "label":"B", "x":5, "y":5}, {"matrix": [5, 6], "label":"N", "x":6, "y":5}, {"matrix": [5, 7], "label":"Space", "x":7, "y":5}, | |
{"matrix": [6, 0], "label":"8", "x":0, "y":6}, {"matrix": [6, 1], "label":"9", "x":1, "y":6}, {"matrix": [6, 2], "label":"I", "x":2, "y":6}, {"matrix": [6, 3], "label":"O", "x":3, "y":6}, {"matrix": [6, 4], "label":"J", "x":4, "y":6}, {"matrix": [6, 5], "label":"K", "x":5, "y":6}, {"matrix": [6, 6], "label":",", "x":6, "y":6}, {"matrix": [6, 7], "label":"M", "x":7, "y":6}, | |
{"matrix": [7, 0], "label":"0", "x":0, "y":7}, {"matrix": [7, 1], "label":"-", "x":1, "y":7}, {"matrix": [7, 2], "label":"P", "x":2, "y":7}, {"matrix": [7, 3], "label":"Left", "x":3, "y":7}, {"matrix": [7, 4], "label":"L", "x":4, "y":7}, {"matrix": [7, 5], "label":";", "x":5, "y":7}, {"matrix": [7, 6], "label":".", "x":6, "y":7}, {"matrix": [7, 7], "label":"Delete", "x":7, "y":7}, | |
{"matrix": [8, 0], "label":"=", "x":0, "y":8}, {"matrix": [8, 1], "label":"Up", "x":1, "y":8}, {"matrix": [8, 2], "label":"[", "x":2, "y":8}, {"matrix": [8, 3], "label":"]", "x":3, "y":8}, {"matrix": [8, 4], "label":"Right", "x":4, "y":8}, {"matrix": [8, 5], "label":"'", "x":5, "y":8}, {"matrix": [8, 6], "label":"/", "x":6, "y":8}, {"matrix": [8, 7], "label":"Caps Lock", "x":7, "y":8}, | |
{"matrix": [9, 0], "label":"Backspace", "x":0, "y":9}, {"matrix": [9, 1], "label":"Down", "x":1, "y":9}, {"matrix": [9, 2], "label":"Home", "x":2, "y":9}, {"matrix": [9, 3], "label":"Enter", "x":3, "y":9}, {"matrix": [9, 4], "label":"`", "x":4, "y":9}, {"matrix": [9, 5], "label":"Right Shift", "x":5, "y":9}, {"matrix": [9, 6], "label":"Print Screen", "x":6, "y":9}, {"matrix": [9, 7], "label":"Insert", "x":7, "y":9}, | |
{"matrix": [10, 0], "label":"GUI", "x":0, "y":10}, {"matrix": [10, 1], "label":"Fn", "x":1, "y":10} | |
] | |
} | |
}, | |
"matrix_pins": { | |
"rows": ["GP0", "GP9", "GP1", "GP2", "GP10", "GP3", "GP11", "GP12", "GP5", "GP29", "GP6"], | |
"cols": ["GP28", "GP7", "GP27", "GP8", "GP4", "GP15", "GP14", "GP13"] | |
}, | |
"diode_direction": "COL2ROW" | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include QMK_KEYBOARD_H | |
enum layer_names { | |
_BASE, | |
_FN | |
}; | |
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |
[_BASE] = LAYOUT( | |
KC_F1, KC_LNUM, KC_F3, KC_PGDN, KC_F5, KC_F7, KC_F9, KC_END, | |
KC_F2, KC_LSCR, KC_F4, KC_PGUP, KC_F6, KC_F8, KC_F10, KC_LALT, | |
KC_ESC, KC_1, KC_TAB, KC_Q, KC_A, KC_LCTL, KC_LSFT, KC_BSLS, | |
KC_2, KC_3, KC_W, KC_E, KC_S, KC_D, KC_Z, KC_X, | |
KC_4, KC_5, KC_R, KC_T, KC_F, KC_G, KC_V, KC_C, | |
KC_6, KC_7, KC_Y, KC_U, KC_H, KC_B, KC_N, KC_SPC, | |
KC_8, KC_9, KC_I, KC_O, KC_J, KC_K, KC_COMM, KC_M, | |
KC_0, KC_MINS, KC_P, KC_LEFT, KC_L, KC_SCLN, KC_DOT, KC_DEL, | |
KC_EQL, KC_UP, KC_LBRC, KC_RBRC, KC_RGHT, KC_QUOT, KC_SLSH, KC_CAPS, | |
KC_BSPC, KC_DOWN, KC_HOME, KC_ENT, KC_GRV, KC_RSFT, KC_PSCR, KC_INS, | |
MO(_FN), KC_LGUI | |
), | |
[_FN] = LAYOUT( | |
_______, _______, _______, _______, _______, _______, _______, _______, | |
_______, _______, _______, _______, _______, _______, _______, _______, | |
_______, _______, _______, _______, _______, _______, _______, _______, | |
_______, _______, _______, _______, _______, _______, _______, _______, | |
_______, _______, _______, _______, _______, _______, _______, _______, | |
_______, _______, _______, _______, _______, _______, _______, _______, | |
_______, _______, _______, _______, _______, _______, _______, _______, | |
_______, _______, _______, _______, _______, _______, _______, _______, | |
_______, _______, _______, _______, _______, _______, _______, _______, | |
_______, _______, _______, _______, _______, _______, _______, _______, | |
_______, _______ | |
) | |
}; |
That's a good looking cat, and the keyboard's nice too!
Great job getting it working with the RP2040 and QMK. I'm still trying to figure them both out.
Cheers
Frank
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I used @thedalles77's awesome T4p1_thruhole PCB and a 22-pin 1.25mm pitch FFC connector. Too impatient to wait for the Teensy 4.1 order to arrive, I used that board as a breakout, slapped on an RP2040 Zero, and translated the Arduino code to QMK firmware.
Here's how I connected the RP2040 Zero:
And
matrix_pins
looks like this: