-
-
Notifications
You must be signed in to change notification settings - Fork 39.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'origin/master' into develop
- Loading branch information
Showing
8 changed files
with
574 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
// Copyright 2022 Andy Tsai (@atsai) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#pragma once | ||
|
||
#ifdef HAPTIC_ENABLE | ||
#define SOLENOID_PIN E6 | ||
#endif | ||
|
||
#define BUZZER_ENABLE | ||
#define BUZZER_PIN B2 |
Large diffs are not rendered by default.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
{ | ||
"manufacturer": "Hardware Abstraction", | ||
"keyboard_name": "handwire", | ||
"maintainer": "cgmandy", | ||
"bootloader": "atmel-dfu", | ||
"diode_direction": "COL2ROW", | ||
"features": { | ||
"bootmagic": true, | ||
"command": false, | ||
"console": false, | ||
"extrakey": true, | ||
"mousekey": true, | ||
"nkro": true | ||
}, | ||
|
||
"matrix_pins": { | ||
"cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], | ||
"rows": ["B0", "B7", "D5", "D3", "D2"] | ||
}, | ||
|
||
"processor": "atmega32u4", | ||
"url": "https://github.com/cgmandy", | ||
"usb": { | ||
"device_version": "1.0.0", | ||
"vid": "0xAF01", | ||
"pid": "0x0001" | ||
}, | ||
|
||
"layouts": { | ||
"LAYOUT_60_arrows": { | ||
"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], "w": 2, "x": 13, "y": 0 }, | ||
|
||
{ "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, | ||
{ "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], "w": 1.5, "x": 13.5, "y": 1 }, | ||
|
||
{ "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, | ||
{ "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, 13], "w": 2.25, "x": 12.75, "y": 2 }, | ||
|
||
{ "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, | ||
{ "matrix": [3, 1], "x": 2.25, "y": 3 }, | ||
{ "matrix": [3, 2], "x": 3.25, "y": 3 }, | ||
{ "matrix": [3, 3], "x": 4.25, "y": 3 }, | ||
{ "matrix": [3, 4], "x": 5.25, "y": 3 }, | ||
{ "matrix": [3, 5], "x": 6.25, "y": 3 }, | ||
{ "matrix": [3, 6], "x": 7.25, "y": 3 }, | ||
{ "matrix": [3, 7], "x": 8.25, "y": 3 }, | ||
{ "matrix": [3, 8], "x": 9.25, "y": 3 }, | ||
{ "matrix": [3, 9], "x": 10.25, "y": 3 }, | ||
{ "matrix": [3, 10], "w": 1.75, "x": 11.25, "y": 3 }, | ||
{ "matrix": [3, 12], "x": 13, "y": 3 }, | ||
{ "matrix": [3, 13], "x": 14, "y": 3 }, | ||
|
||
{ "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, | ||
{ "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, | ||
{ "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, | ||
{ "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 }, | ||
{ "matrix": [4, 8], "x": 10, "y": 4 }, | ||
{ "matrix": [4, 9], "x": 11, "y": 4 }, | ||
{ "matrix": [4, 10], "x": 12, "y": 4 }, | ||
{ "matrix": [4, 12], "x": 13, "y": 4 }, | ||
{ "matrix": [4, 13], "x": 14, "y": 4 } | ||
] | ||
} | ||
} | ||
} |
63 changes: 63 additions & 0 deletions
63
keyboards/hardwareabstraction/handwire/keymaps/default/keymap.c
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
// Copyright 2022 Andy Tsai (@atsai) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#include QMK_KEYBOARD_H | ||
|
||
enum custom_keycodes{ | ||
KC_HPTON = SAFE_RANGE, | ||
KC_HPTOFF, | ||
KC_HPTTOG, | ||
KC_HPTRST, | ||
KC_HPTFBK, | ||
KC_HPTCONT, | ||
KC_HPTDWLI, | ||
KC_HPTDWLD, | ||
KC_BZTOG, | ||
KC_BZRST, | ||
KC_BZDWLI, | ||
KC_BZDWLD | ||
}; | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
/* | ||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────────┐ | ||
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backspa│ | ||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┤ | ||
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ | ||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──────┤ | ||
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ | ||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┬─────┤ | ||
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ UP │ TOG │ | ||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬─────┤ | ||
* │Ctrl│GUI │Alt │ │Alt │Left│Down│Right│ | ||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴─────┘ | ||
*/ | ||
[0] = LAYOUT_60_arrows( | ||
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_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, | ||
LT(1, 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_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_LSFT, KC_SLSH), KC_UP, KC_DEL, | ||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_LEFT, KC_DOWN, KC_RIGHT | ||
), | ||
[1] = LAYOUT_60_arrows( | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BZDWLD, KC_BZDWLI, KC_BZTOG, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HPTDWLD, KC_HPTDWLI, KC_HPTTOG, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
), | ||
[2] = LAYOUT_60_arrows( | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
), | ||
[3] = LAYOUT_60_arrows( | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
) | ||
}; |
63 changes: 63 additions & 0 deletions
63
keyboards/hardwareabstraction/handwire/keymaps/via/keymap.c
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
// Copyright 2022 Andy Tsai (@atsai) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#include QMK_KEYBOARD_H | ||
|
||
enum custom_keycodes{ | ||
KC_HPTON = USER00, | ||
KC_HPTOFF, | ||
KC_HPTTOG, | ||
KC_HPTRST, | ||
KC_HPTFBK, | ||
KC_HPTCONT, | ||
KC_HPTDWLI, | ||
KC_HPTDWLD, | ||
KC_BZTOG, | ||
KC_BZRST, | ||
KC_BZDWLI, | ||
KC_BZDWLD | ||
}; | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
/* | ||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────────┐ | ||
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backspa│ | ||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┤ | ||
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ | ||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴──────┤ | ||
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ | ||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┬─────┤ | ||
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ UP │ TOG │ | ||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬─────┤ | ||
* │Ctrl│GUI │Alt │ │Alt │Left│Down│Right│ | ||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴─────┘ | ||
*/ | ||
[0] = LAYOUT_60_arrows( | ||
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_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, | ||
LT(1, 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_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_LSFT, KC_SLSH), KC_UP, KC_DEL, | ||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_LEFT, KC_DOWN, KC_RIGHT | ||
), | ||
[1] = LAYOUT_60_arrows( | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BZDWLD, KC_BZDWLI, KC_BZTOG, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HPTDWLD, KC_HPTDWLI, KC_HPTTOG, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
), | ||
[2] = LAYOUT_60_arrows( | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
), | ||
[3] = LAYOUT_60_arrows( | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
) | ||
}; |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
VIA_ENABLE = yes | ||
LTO_ENABLE = yes |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Hardware Abstraction Handwire | ||
|
||
![handwire](https://i.imgur.com/PK5HfM3h.jpg) | ||
|
||
A hotswap 60% keyboard with an arrow key cluster. Board features support for an OLED screen, push pull solenoid, and an active buzzer. | ||
|
||
* Keyboard Maintainer: [Andy Tsai](https://github.com/cgmandy) | ||
* Hardware Supported: ATMEGA32U4, Push-Pull Solenoid, Active Buzzer, SSD1306 128x32 OLED | ||
* Hardware Availability: https://hardwareabstraction.com | ||
|
||
Make example for this keyboard (after setting up your build environment): | ||
|
||
make hardwareabstraction/handwire:default | ||
|
||
Flashing example for this keyboard: | ||
|
||
make hardwareabstraction/handwire: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 top left side of the PCB. You can alternatively short the two pads vertically with a pair of tweezers. | ||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. This can be configured in VIA or on the QMK configurator. |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
LTO_ENABLE = yes | ||
HAPTIC_ENABLE = yes | ||
HAPTIC_DRIVER += SOLENOID | ||
|
||
OLED_ENABLE = yes | ||
OLED_DRIVER = SSD1306 | ||
|
||
WPM_ENABLE = yes |