forked from mirror/qmk_firmware
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2645751ce1 | ||
|
|
ca84b57042 | ||
|
|
5f222a3e02 | ||
|
|
f94c8fd766 | ||
|
|
a7ac6e4e68 | ||
|
|
9e775b8e9d | ||
|
|
625d62efdf | ||
|
|
bc42a7ea89 | ||
|
|
49d13595f6 | ||
|
|
d0cfb938ef | ||
|
|
94a9099c38 |
@@ -40,7 +40,7 @@ cd /path/to/your/external/userspace
|
||||
mkdir -p modules
|
||||
# Replace the following {user} and {repo} with the author's community module repository
|
||||
git submodule add https://github.com/{user}/{repo}.git modules/{user}
|
||||
git submdule update --init --recursive
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
|
||||
This will ensure the copy of the module is made in your userspace.
|
||||
|
||||
@@ -231,7 +231,7 @@ Once you have confirmed that the keyboard is working, if you have used a seperat
|
||||
|
||||
If you found this fullfilling you could experiment by adding additional features such as [in switch LEDs](https://geekhack.org/index.php?topic=94258.0), [in switch RGB](https://www.reddit.com/r/MechanicalKeyboards/comments/5s1l5u/photoskeyboard_science_i_made_a_handwired_rgb/), [RGB underglow](https://medium.com/@DavidNZ/hand-wired-custom-keyboard-cdd14429c7b3#.7a1ovebsk) or even an [OLED display!](https://www.reddit.com/r/olkb/comments/5zy7og/adding_ssd1306_oled_display_to_your_build/)
|
||||
|
||||
There are a lot of possibilities inside the firmware - explore [docs.qmk.fm](https://docs.qmk.fm) for a full feature list, and dive into the different keyboards to see how people use all of them. You can always stop by [the OLKB subreddit](https://reddit.com/r/olkb) or [QMK Discord](https://discord.gg/qmk) for help!
|
||||
There are a lot of possibilities inside the firmware - explore [the documentation](/) for a full feature list, and dive into the different keyboards to see how people use all of them. You can always stop by [the OLKB subreddit](https://reddit.com/r/olkb) or [QMK Discord](https://discord.gg/qmk) for help!
|
||||
|
||||
## Links to Other Guides
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ Reusing the `VID` and `PID` for multiple boards (such as for two variants, wired
|
||||
|
||||
If there is sufficient ambiguity about a board, supporting evidence will need to be presented to the QMK team. This may include impartial third parties who can demonstrate a board's existence and can confirm its feature set, such as well-known content producers; popular review sites or notable video creators may be leveraged. If such evidence is unavailable, as a last resort the vendor may be required to ship a fully functional board in full retail packaging to QMK maintainers for verification. Engineering samples will not be accepted, as one-off boards have been deceptively used in the past.
|
||||
|
||||
PRs submitted to upstream QMK should not expect an instant merge just because source code has been provided -- code from OEMs has historically been of a quality lower than QMK standards, so as per the [PR checklist](https://docs.qmk.fm/pr_checklist) submitters should make the changes as small as possible and be prepared to change their implementation.
|
||||
PRs submitted to upstream QMK should not expect an instant merge just because source code has been provided -- code from OEMs has historically been of a quality lower than QMK standards, so as per the [PR checklist](pr_checklist) submitters should make the changes as small as possible and be prepared to change their implementation.
|
||||
|
||||
## Detection
|
||||
|
||||
|
||||
7
keyboards/coban/pad12a/config.h
Normal file
7
keyboards/coban/pad12a/config.h
Normal file
@@ -0,0 +1,7 @@
|
||||
// Copyright 2025 RyanDam (https://github.com/RyanDam)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
|
||||
50
keyboards/coban/pad12a/keyboard.json
Normal file
50
keyboards/coban/pad12a/keyboard.json
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"keyboard_name": "Coban Pad 12A",
|
||||
"name": "Coban Pad 12A",
|
||||
"url": "https://cobanstationery.com",
|
||||
"maintainer": "Coban Stationery",
|
||||
"manufacturer": "Coban Stationery",
|
||||
"usb": {
|
||||
"pid": "0xC12A",
|
||||
"vid": "0xCB3A",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["GP18", "GP16", "GP11", "GP10"],
|
||||
"rows": ["GP19", "GP17", "GP12"]
|
||||
},
|
||||
"diode_direction": "ROW2COL",
|
||||
"encoder": {
|
||||
"rotary": [
|
||||
{"pin_a": "GP20", "pin_b": "GP21"}
|
||||
]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"encoder": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true
|
||||
},
|
||||
"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": [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}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
19
keyboards/coban/pad12a/keymaps/default/keymap.c
Normal file
19
keyboards/coban/pad12a/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,19 @@
|
||||
// Copyright 2025 RyanDam (https://github.com/RyanDam)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_MPLY, KC_MPRV, KC_MUTE, KC_MNXT,
|
||||
KC_PGUP, KC_ESC, KC_UP, KC_ENT,
|
||||
KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
};
|
||||
|
||||
|
||||
#if defined(ENCODER_MAP_ENABLE)
|
||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
||||
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
};
|
||||
#endif
|
||||
1
keyboards/coban/pad12a/keymaps/default/rules.mk
Normal file
1
keyboards/coban/pad12a/keymaps/default/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
23
keyboards/coban/pad12a/readme.md
Normal file
23
keyboards/coban/pad12a/readme.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Coban Pad 12A
|
||||
|
||||

|
||||
Small ortho keyboard with 11 hotswapable buttons and 1 encoder
|
||||
|
||||
* Keyboard Maintainer: [RyanDam](https://github.com/RyanDam)
|
||||
* Hardware Supported: Coban Pad 12A
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make coban/pad12a:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make coban/pad12a: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:
|
||||
|
||||
* **boot button**: Hold the BOOT button on the back of the PCB while plug in usb cable
|
||||
@@ -69,7 +69,7 @@
|
||||
{"label": "key_3", "matrix": [0, 4], "x": 2, "y": 1},
|
||||
{"label": "key_4", "matrix": [0, 5], "x": 0, "y": 2},
|
||||
{"label": "key_5", "matrix": [0, 6], "x": 1, "y": 2},
|
||||
{"label": "key_6", "matrix": [0, 7], "x": 2, "y": 3}
|
||||
{"label": "key_6", "matrix": [0, 7], "x": 2, "y": 2}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
363
keyboards/handwired/at101ish/keyboard.json
Normal file
363
keyboards/handwired/at101ish/keyboard.json
Normal file
@@ -0,0 +1,363 @@
|
||||
{
|
||||
"manufacturer": "Henrik O. S\u00f8rensen",
|
||||
"keyboard_name": "AT101ish",
|
||||
"maintainer": "qmk",
|
||||
"bootloader": "halfkay",
|
||||
"diode_direction": "ROW2COL",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": true,
|
||||
"console": true,
|
||||
"extrakey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"indicators": {
|
||||
"caps_lock": "D6",
|
||||
"num_lock": "D4",
|
||||
"scroll_lock": "E6"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["D7", "B4", "B5", "B6", "F7", "F6", "F5", "F4", "F1", "F0"],
|
||||
"rows": ["B1", "B0", "B2", "D5", "B3", "C7", "B7", "C6", "D0", "D3", "D1", "D2"]
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"tags": ["at101", "at102", "bigfoot"],
|
||||
"url": "https://github.com/henrikosorensen/keyboard_pcbs/tree/master/at101_pcb",
|
||||
"usb": {
|
||||
"device_version": "1.1.0",
|
||||
"pid": "0x0101",
|
||||
"vid": "0xFEED"
|
||||
},
|
||||
"community_layouts": ["fullsize_ansi", "fullsize_iso"],
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"label": "F1", "matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"label": "F2", "matrix": [0, 2], "x": 3, "y": 0},
|
||||
{"label": "F3", "matrix": [0, 3], "x": 4, "y": 0},
|
||||
{"label": "F4", "matrix": [0, 4], "x": 5, "y": 0},
|
||||
{"label": "F5", "matrix": [0, 5], "x": 6.5, "y": 0},
|
||||
{"label": "F6", "matrix": [0, 6], "x": 7.5, "y": 0},
|
||||
{"label": "F7", "matrix": [0, 7], "x": 8.5, "y": 0},
|
||||
{"label": "F8", "matrix": [0, 8], "x": 9.5, "y": 0},
|
||||
{"label": "F9", "matrix": [0, 9], "x": 11, "y": 0},
|
||||
{"label": "F10", "matrix": [1, 0], "x": 12, "y": 0},
|
||||
{"label": "F11", "matrix": [1, 1], "x": 13, "y": 0},
|
||||
{"label": "F12", "matrix": [1, 2], "x": 14, "y": 0},
|
||||
{"label": "PrtSc", "matrix": [1, 3], "x": 15.25, "y": 0},
|
||||
{"label": "Scroll Lock", "matrix": [1, 4], "x": 16.25, "y": 0},
|
||||
{"label": "Pause", "matrix": [1, 5], "x": 17.25, "y": 0},
|
||||
{"label": "\u00ac", "matrix": [2, 0], "x": 0, "y": 1.5},
|
||||
{"label": "!", "matrix": [2, 1], "x": 1, "y": 1.5},
|
||||
{"label": "\"", "matrix": [2, 2], "x": 2, "y": 1.5},
|
||||
{"label": "\u00a3", "matrix": [2, 3], "x": 3, "y": 1.5},
|
||||
{"label": "$", "matrix": [2, 4], "x": 4, "y": 1.5},
|
||||
{"label": "%", "matrix": [2, 5], "x": 5, "y": 1.5},
|
||||
{"label": "^", "matrix": [2, 6], "x": 6, "y": 1.5},
|
||||
{"label": "&", "matrix": [2, 7], "x": 7, "y": 1.5},
|
||||
{"label": "*", "matrix": [2, 8], "x": 8, "y": 1.5},
|
||||
{"label": "(", "matrix": [2, 9], "x": 9, "y": 1.5},
|
||||
{"label": ")", "matrix": [3, 0], "x": 10, "y": 1.5},
|
||||
{"label": "_", "matrix": [3, 1], "x": 11, "y": 1.5},
|
||||
{"label": "+", "matrix": [3, 2], "x": 12, "y": 1.5},
|
||||
{"label": "Backspace", "matrix": [3, 3], "x": 13, "y": 1.5, "w": 2},
|
||||
{"label": "Insert", "matrix": [3, 4], "x": 15.25, "y": 1.5},
|
||||
{"label": "Home", "matrix": [3, 5], "x": 16.25, "y": 1.5},
|
||||
{"label": "PgUp", "matrix": [3, 6], "x": 17.25, "y": 1.5},
|
||||
{"label": "Num Lock", "matrix": [3, 7], "x": 18.5, "y": 1.5},
|
||||
{"label": "/", "matrix": [3, 8], "x": 19.5, "y": 1.5},
|
||||
{"label": "*", "matrix": [3, 9], "x": 20.5, "y": 1.5},
|
||||
{"label": "-", "matrix": [1, 9], "x": 21.5, "y": 1.5},
|
||||
{"label": "Tab", "matrix": [4, 0], "x": 0, "y": 2.5, "w": 1.5},
|
||||
{"label": "Q", "matrix": [4, 1], "x": 1.5, "y": 2.5},
|
||||
{"label": "W", "matrix": [4, 2], "x": 2.5, "y": 2.5},
|
||||
{"label": "E", "matrix": [4, 3], "x": 3.5, "y": 2.5},
|
||||
{"label": "R", "matrix": [4, 4], "x": 4.5, "y": 2.5},
|
||||
{"label": "T", "matrix": [4, 5], "x": 5.5, "y": 2.5},
|
||||
{"label": "Y", "matrix": [4, 6], "x": 6.5, "y": 2.5},
|
||||
{"label": "U", "matrix": [4, 7], "x": 7.5, "y": 2.5},
|
||||
{"label": "I", "matrix": [4, 8], "x": 8.5, "y": 2.5},
|
||||
{"label": "O", "matrix": [4, 9], "x": 9.5, "y": 2.5},
|
||||
{"label": "P", "matrix": [5, 0], "x": 10.5, "y": 2.5},
|
||||
{"label": "{", "matrix": [5, 1], "x": 11.5, "y": 2.5},
|
||||
{"label": "}", "matrix": [5, 2], "x": 12.5, "y": 2.5},
|
||||
{"label": "|", "matrix": [5, 3], "x": 13.5, "y": 2.5, "w": 1.5},
|
||||
{"label": "Delete", "matrix": [5, 4], "x": 15.25, "y": 2.5},
|
||||
{"label": "End", "matrix": [5, 5], "x": 16.25, "y": 2.5},
|
||||
{"label": "PgDn", "matrix": [5, 6], "x": 17.25, "y": 2.5},
|
||||
{"label": "7", "matrix": [5, 7], "x": 18.5, "y": 2.5},
|
||||
{"label": "8", "matrix": [5, 8], "x": 19.5, "y": 2.5},
|
||||
{"label": "9", "matrix": [5, 9], "x": 20.5, "y": 2.5},
|
||||
{"label": "+", "matrix": [1, 8], "x": 21.5, "y": 2.5},
|
||||
{"label": "Caps Lock", "matrix": [6, 0], "x": 0, "y": 3.5, "w": 1.75},
|
||||
{"label": "A", "matrix": [6, 1], "x": 1.75, "y": 3.5},
|
||||
{"label": "S", "matrix": [6, 2], "x": 2.75, "y": 3.5},
|
||||
{"label": "D", "matrix": [6, 3], "x": 3.75, "y": 3.5},
|
||||
{"label": "F", "matrix": [6, 4], "x": 4.75, "y": 3.5},
|
||||
{"label": "G", "matrix": [6, 5], "x": 5.75, "y": 3.5},
|
||||
{"label": "H", "matrix": [6, 6], "x": 6.75, "y": 3.5},
|
||||
{"label": "J", "matrix": [6, 7], "x": 7.75, "y": 3.5},
|
||||
{"label": "K", "matrix": [6, 8], "x": 8.75, "y": 3.5},
|
||||
{"label": "L", "matrix": [6, 9], "x": 9.75, "y": 3.5},
|
||||
{"label": ":", "matrix": [7, 0], "x": 10.75, "y": 3.5},
|
||||
{"label": "@", "matrix": [7, 1], "x": 11.75, "y": 3.5},
|
||||
{"label": "~", "matrix": [7, 2], "x": 12.75, "y": 3.5},
|
||||
{"label": "Enter", "matrix": [7, 3], "x": 13.75, "y": 3.5, "w": 1.25},
|
||||
{"label": "4", "matrix": [7, 6], "x": 18.5, "y": 3.5},
|
||||
{"label": "5", "matrix": [7, 7], "x": 19.5, "y": 3.5},
|
||||
{"label": "6", "matrix": [7, 8], "x": 20.5, "y": 3.5},
|
||||
{"label": "=", "matrix": [7, 9], "x": 21.5, "y": 3.5},
|
||||
{"label": "Shift", "matrix": [8, 0], "x": 0, "y": 4.5, "w": 1.25},
|
||||
{"label": "|", "matrix": [8, 1], "x": 1.25, "y": 4.5},
|
||||
{"label": "Z", "matrix": [8, 2], "x": 2.25, "y": 4.5},
|
||||
{"label": "X", "matrix": [8, 3], "x": 3.25, "y": 4.5},
|
||||
{"label": "C", "matrix": [8, 4], "x": 4.25, "y": 4.5},
|
||||
{"label": "V", "matrix": [8, 5], "x": 5.25, "y": 4.5},
|
||||
{"label": "B", "matrix": [8, 6], "x": 6.25, "y": 4.5},
|
||||
{"label": "N", "matrix": [8, 7], "x": 7.25, "y": 4.5},
|
||||
{"label": "M", "matrix": [8, 8], "x": 8.25, "y": 4.5},
|
||||
{"label": "<", "matrix": [8, 9], "x": 9.25, "y": 4.5},
|
||||
{"label": ">", "matrix": [9, 0], "x": 10.25, "y": 4.5},
|
||||
{"label": "?", "matrix": [9, 1], "x": 11.25, "y": 4.5},
|
||||
{"label": "Shift", "matrix": [9, 2], "x": 12.25, "y": 4.5, "w": 1.75},
|
||||
{"label": "|", "matrix": [9, 3], "x": 14, "y": 4.5},
|
||||
{"label": "\u2191", "matrix": [9, 4], "x": 16.25, "y": 4.5},
|
||||
{"label": "1", "matrix": [9, 6], "x": 18.5, "y": 4.5},
|
||||
{"label": "2", "matrix": [9, 7], "x": 19.5, "y": 4.5},
|
||||
{"label": "3", "matrix": [9, 8], "x": 20.5, "y": 4.5},
|
||||
{"label": "Enter", "matrix": [9, 9], "x": 21.5, "y": 4.5, "h": 2},
|
||||
{"label": "Ctrl", "matrix": [10, 0], "x": 0, "y": 5.5, "w": 1.25},
|
||||
{"label": "Win", "matrix": [10, 1], "x": 1.25, "y": 5.5, "w": 1.25},
|
||||
{"label": "Alt", "matrix": [10, 2], "x": 2.5, "y": 5.5, "w": 1.25},
|
||||
{"label": " ", "matrix": [10, 7], "x": 3.75, "y": 5.5, "w": 6.25},
|
||||
{"label": "AltGr ", "matrix": [11, 0], "x": 10, "y": 5.5, "w": 1.25},
|
||||
{"label": "Win", "matrix": [11, 1], "x": 11.25, "y": 5.5, "w": 1.25},
|
||||
{"label": "Menu", "matrix": [11, 2], "x": 12.5, "y": 5.5, "w": 1.25},
|
||||
{"label": "Ctrl", "matrix": [11, 3], "x": 13.75, "y": 5.5, "w": 1.25},
|
||||
{"label": "\u2190", "matrix": [11, 4], "x": 15.25, "y": 5.5},
|
||||
{"label": "\u2193", "matrix": [11, 5], "x": 16.25, "y": 5.5},
|
||||
{"label": "\u2192", "matrix": [11, 6], "x": 17.25, "y": 5.5},
|
||||
{"label": "0", "matrix": [11, 7], "x": 18.5, "y": 5.5, "w": 2},
|
||||
{"label": ".", "matrix": [11, 8], "x": 20.5, "y": 5.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_fullsize_ansi": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [0, 2], "x": 3, "y": 0},
|
||||
{"matrix": [0, 3], "x": 4, "y": 0},
|
||||
{"matrix": [0, 4], "x": 5, "y": 0},
|
||||
{"matrix": [0, 5], "x": 6.5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 7.5, "y": 0},
|
||||
{"matrix": [0, 7], "x": 8.5, "y": 0},
|
||||
{"matrix": [0, 8], "x": 9.5, "y": 0},
|
||||
{"matrix": [0, 9], "x": 11, "y": 0},
|
||||
{"matrix": [1, 0], "x": 12, "y": 0},
|
||||
{"matrix": [1, 1], "x": 13, "y": 0},
|
||||
{"matrix": [1, 2], "x": 14, "y": 0},
|
||||
{"matrix": [1, 3], "x": 15.25, "y": 0},
|
||||
{"matrix": [1, 4], "x": 16.25, "y": 0},
|
||||
{"matrix": [1, 5], "x": 17.25, "y": 0},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1.5},
|
||||
{"matrix": [2, 1], "x": 1, "y": 1.5},
|
||||
{"matrix": [2, 2], "x": 2, "y": 1.5},
|
||||
{"matrix": [2, 3], "x": 3, "y": 1.5},
|
||||
{"matrix": [2, 4], "x": 4, "y": 1.5},
|
||||
{"matrix": [2, 5], "x": 5, "y": 1.5},
|
||||
{"matrix": [2, 6], "x": 6, "y": 1.5},
|
||||
{"matrix": [2, 7], "x": 7, "y": 1.5},
|
||||
{"matrix": [2, 8], "x": 8, "y": 1.5},
|
||||
{"matrix": [2, 9], "x": 9, "y": 1.5},
|
||||
{"matrix": [3, 0], "x": 10, "y": 1.5},
|
||||
{"matrix": [3, 1], "x": 11, "y": 1.5},
|
||||
{"matrix": [3, 2], "x": 12, "y": 1.5},
|
||||
{"matrix": [3, 3], "x": 13, "y": 1.5, "w": 2},
|
||||
{"matrix": [3, 4], "x": 15.25, "y": 1.5},
|
||||
{"matrix": [3, 5], "x": 16.25, "y": 1.5},
|
||||
{"matrix": [3, 6], "x": 17.25, "y": 1.5},
|
||||
{"matrix": [3, 7], "x": 18.5, "y": 1.5},
|
||||
{"matrix": [3, 8], "x": 19.5, "y": 1.5},
|
||||
{"matrix": [3, 9], "x": 20.5, "y": 1.5},
|
||||
{"matrix": [1, 9], "x": 21.5, "y": 1.5},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2.5, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 2.5},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 2.5},
|
||||
{"matrix": [4, 3], "x": 3.5, "y": 2.5},
|
||||
{"matrix": [4, 4], "x": 4.5, "y": 2.5},
|
||||
{"matrix": [4, 5], "x": 5.5, "y": 2.5},
|
||||
{"matrix": [4, 6], "x": 6.5, "y": 2.5},
|
||||
{"matrix": [4, 7], "x": 7.5, "y": 2.5},
|
||||
{"matrix": [4, 8], "x": 8.5, "y": 2.5},
|
||||
{"matrix": [4, 9], "x": 9.5, "y": 2.5},
|
||||
{"matrix": [5, 0], "x": 10.5, "y": 2.5},
|
||||
{"matrix": [5, 1], "x": 11.5, "y": 2.5},
|
||||
{"matrix": [5, 2], "x": 12.5, "y": 2.5},
|
||||
{"matrix": [5, 3], "x": 13.5, "y": 2.5, "w": 1.5},
|
||||
{"matrix": [5, 4], "x": 15.25, "y": 2.5},
|
||||
{"matrix": [5, 5], "x": 16.25, "y": 2.5},
|
||||
{"matrix": [5, 6], "x": 17.25, "y": 2.5},
|
||||
{"matrix": [5, 7], "x": 18.5, "y": 2.5},
|
||||
{"matrix": [5, 8], "x": 19.5, "y": 2.5},
|
||||
{"matrix": [5, 9], "x": 20.5, "y": 2.5},
|
||||
{"matrix": [1, 8], "x": 21.5, "y": 2.5, "h": 2},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3.5, "w": 1.75},
|
||||
{"matrix": [6, 1], "x": 1.75, "y": 3.5},
|
||||
{"matrix": [6, 2], "x": 2.75, "y": 3.5},
|
||||
{"matrix": [6, 3], "x": 3.75, "y": 3.5},
|
||||
{"matrix": [6, 4], "x": 4.75, "y": 3.5},
|
||||
{"matrix": [6, 5], "x": 5.75, "y": 3.5},
|
||||
{"matrix": [6, 6], "x": 6.75, "y": 3.5},
|
||||
{"matrix": [6, 7], "x": 7.75, "y": 3.5},
|
||||
{"matrix": [6, 8], "x": 8.75, "y": 3.5},
|
||||
{"matrix": [6, 9], "x": 9.75, "y": 3.5},
|
||||
{"matrix": [7, 0], "x": 10.75, "y": 3.5},
|
||||
{"matrix": [7, 1], "x": 11.75, "y": 3.5},
|
||||
{"matrix": [7, 3], "x": 12.75, "y": 3.5, "w": 2.25},
|
||||
{"matrix": [7, 6], "x": 18.5, "y": 3.5},
|
||||
{"matrix": [7, 7], "x": 19.5, "y": 3.5},
|
||||
{"matrix": [7, 8], "x": 20.5, "y": 3.5},
|
||||
{"matrix": [8, 0], "x": 0, "y": 4.5, "w": 2.25},
|
||||
{"matrix": [8, 2], "x": 2.25, "y": 4.5},
|
||||
{"matrix": [8, 3], "x": 3.25, "y": 4.5},
|
||||
{"matrix": [8, 4], "x": 4.25, "y": 4.5},
|
||||
{"matrix": [8, 5], "x": 5.25, "y": 4.5},
|
||||
{"matrix": [8, 6], "x": 6.25, "y": 4.5},
|
||||
{"matrix": [8, 7], "x": 7.25, "y": 4.5},
|
||||
{"matrix": [8, 8], "x": 8.25, "y": 4.5},
|
||||
{"matrix": [8, 9], "x": 9.25, "y": 4.5},
|
||||
{"matrix": [9, 0], "x": 10.25, "y": 4.5},
|
||||
{"matrix": [9, 1], "x": 11.25, "y": 4.5},
|
||||
{"matrix": [9, 2], "x": 12.25, "y": 4.5, "w": 2.75},
|
||||
{"matrix": [9, 4], "x": 16.25, "y": 4.5},
|
||||
{"matrix": [9, 6], "x": 18.5, "y": 4.5},
|
||||
{"matrix": [9, 7], "x": 19.5, "y": 4.5},
|
||||
{"matrix": [9, 8], "x": 20.5, "y": 4.5},
|
||||
{"matrix": [9, 9], "x": 21.5, "y": 4.5, "h": 2},
|
||||
{"matrix": [10, 0], "x": 0, "y": 5.5, "w": 1.25},
|
||||
{"matrix": [10, 1], "x": 1.25, "y": 5.5, "w": 1.25},
|
||||
{"matrix": [10, 2], "x": 2.5, "y": 5.5, "w": 1.25},
|
||||
{"matrix": [10, 7], "x": 3.75, "y": 5.5, "w": 6.25},
|
||||
{"matrix": [11, 0], "x": 10, "y": 5.5, "w": 1.25},
|
||||
{"matrix": [11, 1], "x": 11.25, "y": 5.5, "w": 1.25},
|
||||
{"matrix": [11, 2], "x": 12.5, "y": 5.5, "w": 1.25},
|
||||
{"matrix": [11, 3], "x": 13.75, "y": 5.5, "w": 1.25},
|
||||
{"matrix": [11, 4], "x": 15.25, "y": 5.5},
|
||||
{"matrix": [11, 5], "x": 16.25, "y": 5.5},
|
||||
{"matrix": [11, 6], "x": 17.25, "y": 5.5},
|
||||
{"matrix": [11, 7], "x": 18.5, "y": 5.5, "w": 2},
|
||||
{"matrix": [11, 8], "x": 20.5, "y": 5.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_fullsize_iso": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 2, "y": 0},
|
||||
{"matrix": [0, 2], "x": 3, "y": 0},
|
||||
{"matrix": [0, 3], "x": 4, "y": 0},
|
||||
{"matrix": [0, 4], "x": 5, "y": 0},
|
||||
{"matrix": [0, 5], "x": 6.5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 7.5, "y": 0},
|
||||
{"matrix": [0, 7], "x": 8.5, "y": 0},
|
||||
{"matrix": [0, 8], "x": 9.5, "y": 0},
|
||||
{"matrix": [0, 9], "x": 11, "y": 0},
|
||||
{"matrix": [1, 0], "x": 12, "y": 0},
|
||||
{"matrix": [1, 1], "x": 13, "y": 0},
|
||||
{"matrix": [1, 2], "x": 14, "y": 0},
|
||||
{"matrix": [1, 3], "x": 15.25, "y": 0},
|
||||
{"matrix": [1, 4], "x": 16.25, "y": 0},
|
||||
{"matrix": [1, 5], "x": 17.25, "y": 0},
|
||||
{"matrix": [2, 0], "x": 0, "y": 1.5},
|
||||
{"matrix": [2, 1], "x": 1, "y": 1.5},
|
||||
{"matrix": [2, 2], "x": 2, "y": 1.5},
|
||||
{"matrix": [2, 3], "x": 3, "y": 1.5},
|
||||
{"matrix": [2, 4], "x": 4, "y": 1.5},
|
||||
{"matrix": [2, 5], "x": 5, "y": 1.5},
|
||||
{"matrix": [2, 6], "x": 6, "y": 1.5},
|
||||
{"matrix": [2, 7], "x": 7, "y": 1.5},
|
||||
{"matrix": [2, 8], "x": 8, "y": 1.5},
|
||||
{"matrix": [2, 9], "x": 9, "y": 1.5},
|
||||
{"matrix": [3, 0], "x": 10, "y": 1.5},
|
||||
{"matrix": [3, 1], "x": 11, "y": 1.5},
|
||||
{"matrix": [3, 2], "x": 12, "y": 1.5},
|
||||
{"matrix": [3, 3], "x": 13, "y": 1.5, "w": 2},
|
||||
{"matrix": [3, 4], "x": 15.25, "y": 1.5},
|
||||
{"matrix": [3, 5], "x": 16.25, "y": 1.5},
|
||||
{"matrix": [3, 6], "x": 17.25, "y": 1.5},
|
||||
{"matrix": [3, 7], "x": 18.5, "y": 1.5},
|
||||
{"matrix": [3, 8], "x": 19.5, "y": 1.5},
|
||||
{"matrix": [3, 9], "x": 20.5, "y": 1.5},
|
||||
{"matrix": [1, 9], "x": 21.5, "y": 1.5},
|
||||
{"matrix": [4, 0], "x": 0, "y": 2.5, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 2.5},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 2.5},
|
||||
{"matrix": [4, 3], "x": 3.5, "y": 2.5},
|
||||
{"matrix": [4, 4], "x": 4.5, "y": 2.5},
|
||||
{"matrix": [4, 5], "x": 5.5, "y": 2.5},
|
||||
{"matrix": [4, 6], "x": 6.5, "y": 2.5},
|
||||
{"matrix": [4, 7], "x": 7.5, "y": 2.5},
|
||||
{"matrix": [4, 8], "x": 8.5, "y": 2.5},
|
||||
{"matrix": [4, 9], "x": 9.5, "y": 2.5},
|
||||
{"matrix": [5, 0], "x": 10.5, "y": 2.5},
|
||||
{"matrix": [5, 1], "x": 11.5, "y": 2.5},
|
||||
{"matrix": [5, 2], "x": 12.5, "y": 2.5},
|
||||
{"matrix": [5, 4], "x": 15.25, "y": 2.5},
|
||||
{"matrix": [5, 5], "x": 16.25, "y": 2.5},
|
||||
{"matrix": [5, 6], "x": 17.25, "y": 2.5},
|
||||
{"matrix": [5, 7], "x": 18.5, "y": 2.5},
|
||||
{"matrix": [5, 8], "x": 19.5, "y": 2.5},
|
||||
{"matrix": [5, 9], "x": 20.5, "y": 2.5},
|
||||
{"matrix": [1, 8], "x": 21.5, "y": 2.5, "h": 2},
|
||||
{"matrix": [6, 0], "x": 0, "y": 3.5, "w": 1.75},
|
||||
{"matrix": [6, 1], "x": 1.75, "y": 3.5},
|
||||
{"matrix": [6, 2], "x": 2.75, "y": 3.5},
|
||||
{"matrix": [6, 3], "x": 3.75, "y": 3.5},
|
||||
{"matrix": [6, 4], "x": 4.75, "y": 3.5},
|
||||
{"matrix": [6, 5], "x": 5.75, "y": 3.5},
|
||||
{"matrix": [6, 6], "x": 6.75, "y": 3.5},
|
||||
{"matrix": [6, 7], "x": 7.75, "y": 3.5},
|
||||
{"matrix": [6, 8], "x": 8.75, "y": 3.5},
|
||||
{"matrix": [6, 9], "x": 9.75, "y": 3.5},
|
||||
{"matrix": [7, 0], "x": 10.75, "y": 3.5},
|
||||
{"matrix": [7, 1], "x": 11.75, "y": 3.5},
|
||||
{"matrix": [7, 2], "x": 12.75, "y": 3.5},
|
||||
{"matrix": [7, 3], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
|
||||
{"matrix": [7, 6], "x": 18.5, "y": 3.5},
|
||||
{"matrix": [7, 7], "x": 19.5, "y": 3.5},
|
||||
{"matrix": [7, 8], "x": 20.5, "y": 3.5},
|
||||
{"matrix": [8, 0], "x": 0, "y": 4.5, "w": 1.25},
|
||||
{"matrix": [8, 1], "x": 1.25, "y": 4.5},
|
||||
{"matrix": [8, 2], "x": 2.25, "y": 4.5},
|
||||
{"matrix": [8, 3], "x": 3.25, "y": 4.5},
|
||||
{"matrix": [8, 4], "x": 4.25, "y": 4.5},
|
||||
{"matrix": [8, 5], "x": 5.25, "y": 4.5},
|
||||
{"matrix": [8, 6], "x": 6.25, "y": 4.5},
|
||||
{"matrix": [8, 7], "x": 7.25, "y": 4.5},
|
||||
{"matrix": [8, 8], "x": 8.25, "y": 4.5},
|
||||
{"matrix": [8, 9], "x": 9.25, "y": 4.5},
|
||||
{"matrix": [9, 0], "x": 10.25, "y": 4.5},
|
||||
{"matrix": [9, 1], "x": 11.25, "y": 4.5},
|
||||
{"matrix": [9, 2], "x": 12.25, "y": 4.5, "w": 2.75},
|
||||
{"matrix": [9, 4], "x": 16.25, "y": 4.5},
|
||||
{"matrix": [9, 6], "x": 18.5, "y": 4.5},
|
||||
{"matrix": [9, 7], "x": 19.5, "y": 4.5},
|
||||
{"matrix": [9, 8], "x": 20.5, "y": 4.5},
|
||||
{"matrix": [9, 9], "x": 21.5, "y": 4.5, "h": 2},
|
||||
{"matrix": [10, 0], "x": 0, "y": 5.5, "w": 1.25},
|
||||
{"matrix": [10, 1], "x": 1.25, "y": 5.5, "w": 1.25},
|
||||
{"matrix": [10, 2], "x": 2.5, "y": 5.5, "w": 1.25},
|
||||
{"matrix": [10, 7], "x": 3.75, "y": 5.5, "w": 6.25},
|
||||
{"matrix": [11, 0], "x": 10, "y": 5.5, "w": 1.25},
|
||||
{"matrix": [11, 1], "x": 11.25, "y": 5.5, "w": 1.25},
|
||||
{"matrix": [11, 2], "x": 12.5, "y": 5.5, "w": 1.25},
|
||||
{"matrix": [11, 3], "x": 13.75, "y": 5.5, "w": 1.25},
|
||||
{"matrix": [11, 4], "x": 15.25, "y": 5.5},
|
||||
{"matrix": [11, 5], "x": 16.25, "y": 5.5},
|
||||
{"matrix": [11, 6], "x": 17.25, "y": 5.5},
|
||||
{"matrix": [11, 7], "x": 18.5, "y": 5.5, "w": 2},
|
||||
{"matrix": [11, 8], "x": 20.5, "y": 5.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
27
keyboards/handwired/at101ish/keymaps/default/keymap.c
Normal file
27
keyboards/handwired/at101ish/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,27 @@
|
||||
/* Copyright 2025 Henrik Otte Sørensen (@henrikottesorensen)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PEQL,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_BSLS, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT)
|
||||
};
|
||||
59
keyboards/handwired/at101ish/keymaps/osdetect/keymap.c
Normal file
59
keyboards/handwired/at101ish/keymaps/osdetect/keymap.c
Normal file
@@ -0,0 +1,59 @@
|
||||
/* Copyright 2025 Henrik Otte Sørensen (@henrikottesorensen)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum LAYER {
|
||||
_PC = 0,
|
||||
_MAC,
|
||||
_FN
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_PC] = LAYOUT_all(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PEQL,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_BSLS, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, KC_RGUI, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
|
||||
[_MAC] = LAYOUT_all(
|
||||
KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_WSCH, KC_LPAD, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
KC_NUBS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PEQL,
|
||||
KC_LSFT, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_BSLS, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPACE, KC_RGUI, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
|
||||
[_FN] = LAYOUT_all(
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DF(_PC), _______, _______, _______, _______, KC_MUTE, KC_VOLD, _______, _______, _______, _______,
|
||||
_______, _______, _______, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, QK_BOOT, _______, DF(_MAC),_______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_APP, KC_MPRV, KC_MSTP, KC_MNXT, _______, _______)
|
||||
};
|
||||
|
||||
bool process_detected_host_os_user(os_variant_t detected_os) {
|
||||
/* If Apple, swap to macOS layer. */
|
||||
if (detected_os == OS_MACOS || detected_os == OS_IOS) {
|
||||
set_single_default_layer(_MAC);
|
||||
}
|
||||
else /* Else use PC layer */ {
|
||||
set_single_default_layer(_PC);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
1
keyboards/handwired/at101ish/keymaps/osdetect/rules.mk
Normal file
1
keyboards/handwired/at101ish/keymaps/osdetect/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
OS_DETECTION_ENABLE = yes
|
||||
25
keyboards/handwired/at101ish/readme.md
Normal file
25
keyboards/handwired/at101ish/readme.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# AT101(-ish)
|
||||
|
||||
A replacement PCB for Dell AT101 family. (In theory) supports AT101, AT101W, AT102, AT102W, maybe other Bigfoot platform boards.
|
||||
|
||||
Keyboard Maintainer: QMK Community and Henrik O. Sørensen
|
||||
Hardware Supported: AT101(ish) PCB
|
||||
Hardware Availability: https://github.com/henrikosorensen/keyboard_pcbs/tree/master/at101_pcb
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/at101ish:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make handwired/at101ish: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 2 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 programming button on the teensy 2.0 PCB.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#pragma once
|
||||
|
||||
#define ADC_PIN A0
|
||||
#define ADC_PIN A5
|
||||
|
||||
#define SOLENOID_PINS { B12, B13, B14, B15 }
|
||||
#define SOLENOID_PINS_ACTIVE_STATE { high, high, low }
|
||||
|
||||
@@ -3,17 +3,17 @@
|
||||
"processor": "STM32F446",
|
||||
"bootloader": "stm32-dfu",
|
||||
"matrix_pins": {
|
||||
"cols": ["A2"],
|
||||
"cols": ["A0"],
|
||||
"rows": ["A1"]
|
||||
},
|
||||
"backlight": {
|
||||
"pin": "B8"
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "A0"
|
||||
"pin": "A4"
|
||||
},
|
||||
"apa102": {
|
||||
"data_pin": "A0",
|
||||
"data_pin": "A4",
|
||||
"clock_pin": "B13"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# STM32 Nucleo-L432 onekey
|
||||
|
||||
To trigger keypress, short together pins *A1* and *A2*.
|
||||
To trigger keypress, short together pins *A0* and *A1*. Note that the pin numbering is relative to the MCU, so that A0 and A1 refer to PA0 and PA1 on the MCU (which are also labelled A0 and A1 on the board, but this isn't true for the other PAx pins).
|
||||
|
||||
You'll also need to connect `VIN`, `GND`, USB `D+` to `PA12`/`D2`, and USB `D-` to `PA11`/`D10`.
|
||||
|
||||
117
keyboards/keyten/ortho_slayer/keyboard.json
Normal file
117
keyboards/keyten/ortho_slayer/keyboard.json
Normal file
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"manufacturer": "keyten x La-Versa",
|
||||
"keyboard_name": "Ortho Slayer",
|
||||
"maintainer": "key10iq",
|
||||
"processor": "STM32F072",
|
||||
"bootloader": "stm32-dfu",
|
||||
"usb": {
|
||||
"vid": "0xEB69",
|
||||
"pid": "0x9001",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"diode_direction": "ROW2COL",
|
||||
"matrix_pins": {
|
||||
"rows": ["B6", "B4", "A15", "B0", "B1", "A6", "B15", "B11", "A9", "B13"],
|
||||
"cols": ["B7", "B14", "B5", "A8", "B3", "A10", "A14", "B12", "A7", "B2", "B10"]
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "matrix": [0, 0], "x": 0, "y": 0 },
|
||||
{ "matrix": [1, 0], "x": 1, "y": 0 },
|
||||
{ "matrix": [0, 1], "x": 2, "y": 0 },
|
||||
{ "matrix": [1, 1], "x": 3, "y": 0 },
|
||||
{ "matrix": [0, 2], "x": 4, "y": 0 },
|
||||
{ "matrix": [1, 2], "x": 5, "y": 0 },
|
||||
{ "matrix": [0, 3], "x": 6, "y": 0 },
|
||||
{ "matrix": [1, 3], "x": 7, "y": 0 },
|
||||
{ "matrix": [0, 4], "x": 8, "y": 0 },
|
||||
{ "matrix": [1, 4], "x": 9, "y": 0 },
|
||||
{ "matrix": [0, 5], "x": 10, "y": 0 },
|
||||
{ "matrix": [1, 5], "x": 11, "y": 0 },
|
||||
{ "matrix": [0, 6], "x": 12, "y": 0 },
|
||||
{ "matrix": [1, 6], "x": 13, "y": 0 },
|
||||
{ "matrix": [0, 7], "x": 14.25, "y": 0 },
|
||||
{ "matrix": [1, 7], "x": 15.25, "y": 0 },
|
||||
{ "matrix": [0, 8], "x": 16.25, "y": 0 },
|
||||
{ "matrix": [1, 8], "x": 17.5, "y": 0 },
|
||||
{ "matrix": [0, 9], "x": 18.5, "y": 0 },
|
||||
{ "matrix": [1, 9], "x": 19.5, "y": 0 },
|
||||
{ "matrix": [0, 10], "x": 20.5, "y": 0 },
|
||||
{ "matrix": [2, 0], "x": 0, "y": 1 },
|
||||
{ "matrix": [3, 0], "x": 1, "y": 1 },
|
||||
{ "matrix": [2, 1], "x": 2, "y": 1 },
|
||||
{ "matrix": [3, 1], "x": 3, "y": 1 },
|
||||
{ "matrix": [2, 2], "x": 4, "y": 1 },
|
||||
{ "matrix": [3, 2], "x": 5, "y": 1 },
|
||||
{ "matrix": [2, 3], "x": 6, "y": 1 },
|
||||
{ "matrix": [3, 3], "x": 7, "y": 1 },
|
||||
{ "matrix": [2, 4], "x": 8, "y": 1 },
|
||||
{ "matrix": [3, 4], "x": 9, "y": 1 },
|
||||
{ "matrix": [2, 5], "x": 10, "y": 1 },
|
||||
{ "matrix": [3, 5], "x": 11, "y": 1 },
|
||||
{ "matrix": [2, 6], "x": 12, "y": 1 },
|
||||
{ "matrix": [3, 6], "x": 13, "y": 1 },
|
||||
{ "matrix": [2, 7], "x": 14.25, "y": 1 },
|
||||
{ "matrix": [3, 7], "x": 15.25, "y": 1 },
|
||||
{ "matrix": [2, 8], "x": 16.25, "y": 1 },
|
||||
{ "matrix": [3, 8], "x": 17.5, "y": 1 },
|
||||
{ "matrix": [2, 9], "x": 18.5, "y": 1 },
|
||||
{ "matrix": [3, 9], "x": 19.5, "y": 1 },
|
||||
{ "h": 2, "matrix": [5, 10], "x": 20.5, "y": 1 },
|
||||
{ "matrix": [4, 0], "x": 0, "y": 2 },
|
||||
{ "matrix": [5, 0], "x": 1, "y": 2 },
|
||||
{ "matrix": [4, 1], "x": 2, "y": 2 },
|
||||
{ "matrix": [5, 1], "x": 3, "y": 2 },
|
||||
{ "matrix": [4, 2], "x": 4, "y": 2 },
|
||||
{ "matrix": [5, 2], "x": 5, "y": 2 },
|
||||
{ "matrix": [4, 3], "x": 6, "y": 2 },
|
||||
{ "matrix": [5, 3], "x": 7, "y": 2 },
|
||||
{ "matrix": [4, 4], "x": 8, "y": 2 },
|
||||
{ "matrix": [5, 4], "x": 9, "y": 2 },
|
||||
{ "matrix": [4, 5], "x": 10, "y": 2 },
|
||||
{ "matrix": [5, 5], "x": 11, "y": 2 },
|
||||
{ "matrix": [4, 6], "x": 12, "y": 2 },
|
||||
{ "matrix": [5, 6], "x": 13, "y": 2 },
|
||||
{ "matrix": [5, 9], "x": 17.5, "y": 2 },
|
||||
{ "matrix": [4, 9], "x": 18.5, "y": 2 },
|
||||
{ "matrix": [4, 10], "x": 19.5, "y": 2 },
|
||||
{ "matrix": [6, 0], "w": 2, "x": 0, "y": 3 },
|
||||
{ "matrix": [7, 0], "x": 2, "y": 3 },
|
||||
{ "matrix": [6, 2], "x": 3, "y": 3 },
|
||||
{ "matrix": [7, 2], "x": 4, "y": 3 },
|
||||
{ "matrix": [6, 3], "x": 5, "y": 3 },
|
||||
{ "matrix": [7, 3], "x": 6, "y": 3 },
|
||||
{ "matrix": [6, 4], "x": 7, "y": 3 },
|
||||
{ "matrix": [7, 4], "x": 8, "y": 3 },
|
||||
{ "matrix": [6, 5], "x": 9, "y": 3 },
|
||||
{ "matrix": [7, 5], "x": 10, "y": 3 },
|
||||
{ "matrix": [7, 6], "x": 11, "y": 3 },
|
||||
{ "matrix": [6, 6], "w": 2, "x": 12, "y": 3 },
|
||||
{ "matrix": [6, 8], "x": 15.25, "y": 3 },
|
||||
{ "matrix": [7, 8], "x": 17.5, "y": 3 },
|
||||
{ "matrix": [6, 9], "x": 18.5, "y": 3 },
|
||||
{ "matrix": [7, 9], "x": 19.5, "y": 3 },
|
||||
{ "h": 2, "matrix": [9, 10], "x": 20.5, "y": 3 },
|
||||
{ "matrix": [8, 0], "w": 1.25, "x": 0, "y": 4 },
|
||||
{ "matrix": [9, 0], "x": 1.25, "y": 4 },
|
||||
{ "matrix": [8, 1], "w": 1.25, "x": 2.25, "y": 4 },
|
||||
{ "matrix": [8, 4], "w": 7, "x": 3.5, "y": 4 },
|
||||
{ "matrix": [9, 4], "w": 1.25, "x": 10.5, "y": 4 },
|
||||
{ "matrix": [8, 6], "x": 11.75, "y": 4 },
|
||||
{ "matrix": [9, 6], "w": 1.25, "x": 12.75, "y": 4 },
|
||||
{ "matrix": [8, 7], "x": 14.25, "y": 4 },
|
||||
{ "matrix": [9, 7], "x": 15.25, "y": 4 },
|
||||
{ "matrix": [8, 8], "x": 16.25, "y": 4 },
|
||||
{ "matrix": [9, 8], "w": 2, "x": 17.5, "y": 4 },
|
||||
{ "matrix": [8, 10], "x": 19.5, "y": 4 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
24
keyboards/keyten/ortho_slayer/keymaps/default/keymap.c
Normal file
24
keyboards/keyten/ortho_slayer/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,24 @@
|
||||
// Copyright 2025 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT(
|
||||
MO(1), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_KP_9, KC_PPLS,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_P4, KC_P5, KC_P6,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
};
|
||||
27
keyboards/keyten/ortho_slayer/readme.md
Normal file
27
keyboards/keyten/ortho_slayer/readme.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# keyten x La-Versa Ortho Slayer
|
||||
|
||||
Ortho Slayer is a full size FRL ortho keyboard inspired by Berserk
|
||||
|
||||

|
||||
|
||||
* Keyboard Maintainer: [keyten](https://github.com/key10iq)
|
||||
* Hardware Supported: keyten x La-Versa Ortho Slayer
|
||||
* Hardware Availability: private GB
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make keyten/ortho_slayer:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make keyten/ortho_slayer: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
|
||||
* Keycode in layout: Press the key mapped to `QK_BOOT` if it is available
|
||||
* Physical reset button: Hold the button on the back of the PCB
|
||||
298
keyboards/phdesign/ph60/multi/keyboard.json
Normal file
298
keyboards/phdesign/ph60/multi/keyboard.json
Normal file
@@ -0,0 +1,298 @@
|
||||
{
|
||||
"manufacturer": "phdesign.cc",
|
||||
"keyboard_name": "ph60_multi",
|
||||
"maintainer": "phdesign",
|
||||
"bootloader": "rp2040",
|
||||
"diode_direction": "COL2ROW",
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13"],
|
||||
"rows": ["GP14", "GP15", "GP18", "GP19", "GP20"]
|
||||
},
|
||||
"processor": "RP2040",
|
||||
"qmk": {
|
||||
"locking": {
|
||||
"enabled": true,
|
||||
"resync": true
|
||||
}
|
||||
},
|
||||
"url": "phdesign.cc",
|
||||
"usb": {
|
||||
"device_version": "2.0.1",
|
||||
"pid": "0x0002",
|
||||
"vid": "0x5048"
|
||||
},
|
||||
"community_layouts": ["60_ansi", "60_ansi_tsangan_split_bs_rshift", "60_iso"]
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"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": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [2, 13], "x": 14, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi": {
|
||||
"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": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi_tsangan_split_bs_rshift": {
|
||||
"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": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0},
|
||||
{"matrix": [2, 13], "x": 14, "y": 0},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
|
||||
{"matrix": [3, 13], "x": 14, "y": 3},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 1], "x": 1.5, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
|
||||
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4},
|
||||
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_iso": {
|
||||
"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": [0, 5], "x": 5, "y": 0},
|
||||
{"matrix": [0, 6], "x": 6, "y": 0},
|
||||
{"matrix": [0, 7], "x": 7, "y": 0},
|
||||
{"matrix": [0, 8], "x": 8, "y": 0},
|
||||
{"matrix": [0, 9], "x": 9, "y": 0},
|
||||
{"matrix": [0, 10], "x": 10, "y": 0},
|
||||
{"matrix": [0, 11], "x": 11, "y": 0},
|
||||
{"matrix": [0, 12], "x": 12, "y": 0},
|
||||
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
|
||||
{"matrix": [1, 1], "x": 1.5, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2.5, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3.5, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4.5, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5.5, "y": 1},
|
||||
{"matrix": [1, 6], "x": 6.5, "y": 1},
|
||||
{"matrix": [1, 7], "x": 7.5, "y": 1},
|
||||
{"matrix": [1, 8], "x": 8.5, "y": 1},
|
||||
{"matrix": [1, 9], "x": 9.5, "y": 1},
|
||||
{"matrix": [1, 10], "x": 10.5, "y": 1},
|
||||
{"matrix": [1, 11], "x": 11.5, "y": 1},
|
||||
{"matrix": [1, 12], "x": 12.5, "y": 1},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
|
||||
{"matrix": [2, 1], "x": 1.75, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2.75, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3.75, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4.75, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5.75, "y": 2},
|
||||
{"matrix": [2, 6], "x": 6.75, "y": 2},
|
||||
{"matrix": [2, 7], "x": 7.75, "y": 2},
|
||||
{"matrix": [2, 8], "x": 8.75, "y": 2},
|
||||
{"matrix": [2, 9], "x": 9.75, "y": 2},
|
||||
{"matrix": [2, 10], "x": 10.75, "y": 2},
|
||||
{"matrix": [2, 11], "x": 11.75, "y": 2},
|
||||
{"matrix": [1, 13], "x": 12.75, "y": 2},
|
||||
{"matrix": [2, 12], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
|
||||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
|
||||
{"matrix": [3, 1], "x": 1.25, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2.25, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3.25, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4.25, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5.25, "y": 3},
|
||||
{"matrix": [3, 6], "x": 6.25, "y": 3},
|
||||
{"matrix": [3, 7], "x": 7.25, "y": 3},
|
||||
{"matrix": [3, 8], "x": 8.25, "y": 3},
|
||||
{"matrix": [3, 9], "x": 9.25, "y": 3},
|
||||
{"matrix": [3, 10], "x": 10.25, "y": 3},
|
||||
{"matrix": [3, 11], "x": 11.25, "y": 3},
|
||||
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
|
||||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
|
||||
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
|
||||
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
28
keyboards/phdesign/ph60/multi/keymaps/default/keymap.c
Normal file
28
keyboards/phdesign/ph60/multi/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,28 @@
|
||||
// Copyright 2023 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum custom_layers {
|
||||
_BASE,
|
||||
_FN1,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// Base Layer (61 keys)
|
||||
[_BASE] = LAYOUT_all(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, _______,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL
|
||||
),
|
||||
// Fn1 Layer (Windows Lock Shifting Layer)
|
||||
[_FN1] = LAYOUT_all(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
|
||||
_______, _______, KC_UP, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______,
|
||||
_______, GU_TOGG, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
28
keyboards/phdesign/ph60/multi/readme.md
Normal file
28
keyboards/phdesign/ph60/multi/readme.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# phdesign/ph60/multi
|
||||
|
||||

|
||||
|
||||
A 60% multi-layout supported keyboard PCB with open source keyboard case.
|
||||
|
||||
* Keyboard Maintainer: [Team PHDesign](https://github.com/ph-design)
|
||||
* Hardware Supported: PH60/Multi PCB
|
||||
* Hardware Availability:
|
||||
- Store: https://e.tb.cn/h.6VMjUgWZkUGwq26?tk=oVyAeD6uPS2
|
||||
- GitHub Repo: https://github.com/ph-design/PH60/tree/Rev.2/PCB_Rev2/Multi
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make phdesign/ph60/multi:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make phdesign/ph60/multi: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
|
||||
9
keyboards/phdesign/readme.md
Normal file
9
keyboards/phdesign/readme.md
Normal file
@@ -0,0 +1,9 @@
|
||||

|
||||
|
||||
PHDesign is a team focused on making variety kinds of tech stuff,including keyboards and keyboard-like controllers. This directory includes QMK config files for our keyboard products.
|
||||
|
||||
* Maintainer: [Team PHDesign](https://github.com/ph-design)
|
||||
* Supported Hardware:
|
||||
* [`PH60/Multi`](ph60/multi/): PH60 multi-layout PCB
|
||||
* [`PH-AC`](phac/): PH-AC rhythm game controller
|
||||
* Product Availability: [phdesing.cc](https://phdesign.cc/)
|
||||
@@ -317,10 +317,10 @@ def lint(cli):
|
||||
if isinstance(cli.config.lint.keyboard, str):
|
||||
# if provided via config - string not array
|
||||
keyboard_list = [cli.config.lint.keyboard]
|
||||
elif is_all_keyboards(cli.args.keyboard[0]):
|
||||
elif any(is_all_keyboards(kb) for kb in cli.args.keyboard):
|
||||
keyboard_list = list_keyboards()
|
||||
else:
|
||||
keyboard_list = cli.config.lint.keyboard
|
||||
keyboard_list = list(set(cli.config.lint.keyboard))
|
||||
|
||||
failed = []
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
ASSERT_COMMUNITY_MODULES_MIN_API_VERSION(1, 0, 0);
|
||||
|
||||
uint32_t delayed_hello_world(uint32_t trigger_time, void *cb_arg) {
|
||||
printf("Hello, world! I'm a QMK based keyboard! The keymap array size is %d bytes.\n", (int)hello_world_introspection().total_size);
|
||||
dprintf("Hello, world! I'm a QMK based keyboard! The keymap array size is %d bytes.\n", (int)hello_world_introspection().total_size);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,2 +1,8 @@
|
||||
CONVERTER:=platforms/chibios/converters/promicro_to_sparkfun_pm2040
|
||||
ACTIVE_CONVERTER:=sparkfun_pm2040
|
||||
|
||||
$(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@)
|
||||
$(info The 'CONVERT_TO=promicro_rp2040' option is now deprecated.)
|
||||
$(info Depending on hardware either 'CONVERT_TO=sparkfun_pm2040' or 'CONVERT_TO=rp2040_ce' should be used instead.)
|
||||
$(info See https://docs.qmk.fm/feature_converters#pro-micro documentation for more information.)
|
||||
$(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@)
|
||||
|
||||
Reference in New Issue
Block a user