2020 May 30 Breaking Changes Update (#9215)
* Branch point for 2020 May 30 Breaking Change * Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954) * Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957) * Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958) * Migrate `ACTION_LAYER_MODS` to `LM()` (#8959) * Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968) * Convert V-USB usbdrv to a submodule (#8321) * Unify Tap Hold functions and documentation (#8348) * Changing board names to prevent confusion (#8412) * Move the Keyboardio Model01 to a keyboardio/ subdir (#8499) * Move spaceman keyboards (#8830) * Migrate miscellaneous `fn_actions` entries (#8977) * Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979) * Organizing my keyboards (plaid, tartan, ergoinu) (#8537) * Refactor Lily58 to use split_common (#6260) * Refactor zinc to use split_common (#7114) * Add a message if bin/qmk doesn't work (#9000) * Fix conflicting types for 'tfp_printf' (#8269) * Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480) * Refactor and updates to TKC1800 code (#8472) * Switch to qmk forks for everything (#9019) * audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484) * Audio enable corrections (2/3) (#8903) * Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582) * Audio enable corrections (Part 4) (#8974) * Fix typo from PR7114 (#9171) * Augment future branch Changelogs (#8978) * Revert "Branch point for 2020 May 30 Breaking Change"
This commit is contained in:
parent
7b8a013826
commit
fced377ac0
460 changed files with 2624 additions and 12709 deletions
1
keyboards/at101_bh/at101_bh.c
Normal file
1
keyboards/at101_bh/at101_bh.c
Normal file
|
@ -0,0 +1 @@
|
|||
#include "at101_bh.h"
|
|
@ -1,5 +1,4 @@
|
|||
#ifndef at101_blackheart_H
|
||||
#define at101_blackheart_H
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
|
@ -24,5 +23,3 @@
|
|||
{ K1000, K1001, KC_NO, KC_NO, KC_NO, K1005, K1006, K1007, K1008, K1009 }, \
|
||||
{ K1100, K1101, K1102, KC_NO, KC_NO, K1105, K1106, K1107, K1108, KC_NO } \
|
||||
}
|
||||
|
||||
#endif
|
|
@ -7,7 +7,7 @@
|
|||
#define PRODUCT_ID 0x6060
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER blindassassin111
|
||||
#define PRODUCT AT101_Blackheart PCB
|
||||
#define PRODUCT AT101_BH PCB
|
||||
#define DESCRIPTION Replacement AT101 PCB
|
||||
|
||||
/* key matrix size */
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"keyboard_name": "AT101 Blackheart PCB",
|
||||
"keyboard_folder": "at101_blackheart",
|
||||
"keyboard_name": "AT101 BH PCB",
|
||||
"keyboard_folder": "at101_bh",
|
||||
"url": "https://deskthority.net/group-buys-f50/programmable-vintage-board-pcbs-omnikey-at101-and-z-150-t19325.html",
|
||||
"maintainer": "qmk, blindassassin111",
|
||||
"width": 22.5,
|
|
@ -1,15 +1,15 @@
|
|||
# AT101 Blackheart PCB
|
||||
# AT101 BH PCB
|
||||
|
||||

|
||||

|
||||
|
||||
A replacement PCB for AT101 keyboards.
|
||||
|
||||
Keyboard Maintainer: QMK Community and blindassassin111
|
||||
Hardware Supported: AT101 blackheart PCB
|
||||
Hardware Supported: AT101 BH PCB
|
||||
Hardware Availability: https://deskthority.net/group-buys-f50/programmable-vintage-board-pcbs-omnikey-at101-and-z-150-t19325.html
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make at101_blackheart:default
|
||||
make at101_bh:default
|
||||
|
||||
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).
|
|
@ -1 +0,0 @@
|
|||
#include "at101_blackheart.h"
|
|
@ -102,7 +102,7 @@ enum keyboard_macros {
|
|||
#define SC_CCLS LCTL(KC_F4)
|
||||
|
||||
#define TG_NKRO MAGIC_TOGGLE_NKRO
|
||||
#define OS_SHFT KC_FN0
|
||||
#define OS_SHFT OSM(MOD_LSFT)
|
||||
|
||||
#define ________________ _______, _______
|
||||
#define XXXXXXXXXXXXXXXX XXXXXXX, XXXXXXX
|
||||
|
@ -258,10 +258,6 @@ void persistent_default_layer_set(uint16_t default_layer) {
|
|||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
[0] = ACTION_MODS_ONESHOT(MOD_LSFT),
|
||||
};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
|
||||
// MACRODOWN only works in this function
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
|
||||
#define KC_RAIS MO(RAISE)
|
||||
#define KC_LOWR MO(LOWER)
|
||||
#define KC_TGBD TG(BDO)
|
||||
#define KC_TGRS TG(RESETL)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[DVORAK] = LAYOUT_kc(
|
||||
|
@ -17,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
NO, QUOT, COMM, DOT, P, Y, F, G, C, R, L, NO, \
|
||||
NO, A, O, E, U, I, D, H, T, N, S, NO, \
|
||||
NO, SCLN, Q, J, K, X, B, M, W, V, Z, NO, \
|
||||
NO, FN2, LALT, LCTL, LOWR, LSFT, BSPC, ENT, SPC, RAIS, LGUI, LEFT, RGHT, NO
|
||||
NO, TGBD, LALT, LCTL, LOWR, LSFT, BSPC, ENT, SPC, RAIS, LGUI, LEFT, RGHT, NO
|
||||
),
|
||||
|
||||
[QWERTY] = LAYOUT_kc(
|
||||
|
@ -25,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
NO, Q, W, E, R, T, Y, U, I, O, P, NO, \
|
||||
NO, A, S, D, F, G, H, J, K, L, SCLN, NO, \
|
||||
NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, \
|
||||
NO, FN2, LALT, LCTL, LOWR, LSFT, BSPC, ENT, SPC, RAIS, LGUI, LEFT, RGHT, NO
|
||||
NO, TGBD, LALT, LCTL, LOWR, LSFT, BSPC, ENT, SPC, RAIS, LGUI, LEFT, RGHT, NO
|
||||
),
|
||||
|
||||
[RAISE] = LAYOUT_kc(
|
||||
|
@ -33,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
NO, TILD, GRV, LCBR, RCBR, DQUO, QUOT, EQL, PLUS, MINS, QUES, NO, \
|
||||
NO, ESC, TAB, LPRN, RPRN, BSLS, SLSH, LEFT, DOWN, UP, RGHT, NO, \
|
||||
NO, TRNS, TRNS, LBRC, RBRC, TRNS, INS, PIPE, UNDS, TRNS, TRNS, NO, \
|
||||
NO, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, FN3, NO
|
||||
NO, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TGRS, NO
|
||||
),
|
||||
|
||||
[LOWER] = LAYOUT_kc(
|
||||
|
@ -49,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
NO, TAB, Q, W, E, R, 6, Y, I, O, P, NO, \
|
||||
NO, LSFT, A, S, D, F, 7, G, H, J, K, NO, \
|
||||
NO, T, Z, X, C, V, 8, B, N, M, L, NO, \
|
||||
NO, LCTL, SPC, SPC, SPC, SPC, COMM, ENT, 9, NO, NO, NO, FN2, NO
|
||||
NO, LCTL, SPC, SPC, SPC, SPC, COMM, ENT, 9, NO, NO, NO, TGBD, NO
|
||||
),
|
||||
|
||||
[RESETL] = LAYOUT(
|
||||
|
@ -57,15 +59,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_FN3,KC_NO
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TG(RESETL),KC_NO
|
||||
)
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
[2] = ACTION_LAYER_TOGGLE(BDO), // BDO layer
|
||||
[3] = ACTION_LAYER_TOGGLE(RESETL) // RESET layer
|
||||
};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
// MACRODOWN only works in this function
|
||||
switch (id) {
|
||||
|
|
|
@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
KC_TAB, SE_AO, SE_AE, SE_OE, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_COMM,SE_CIRC,SE_QUOT, KC_DEL, KC_END, KC_PGDN, \
|
||||
KC_LCTRL,KC_A, KC_O, KC_E, KC_U, KC_I, KC_H, KC_D, KC_T, KC_N, KC_S, SE_MINS, KC_ENT, \
|
||||
KC_LSFT, SE_LTGT,KC_DOT, KC_Q, KC_J, KC_K, KC_B, KC_X, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, \
|
||||
MO(KM_MEDIA),KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,KC_FN1, KC_LEFT,KC_DOWN,KC_RGHT),
|
||||
MO(KM_MEDIA),KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,TG(KM_QWERTY), KC_LEFT,KC_DOWN,KC_RGHT),
|
||||
/* Layer 1: Standard ISO layer */
|
||||
[KM_QWERTY] = LAYOUT( \
|
||||
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_SLCK,KC_PAUS, \
|
||||
|
@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AO, SE_CIRC,SE_QUOT, KC_DEL, KC_END, KC_PGDN, \
|
||||
KC_LCTRL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_OE, SE_AE, KC_ENT, \
|
||||
KC_LSFT, SE_LTGT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, SE_MINS, KC_RSFT, KC_UP, \
|
||||
MO(KM_MEDIA),KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,KC_FN1, KC_LEFT,KC_DOWN,KC_RGHT),
|
||||
MO(KM_MEDIA),KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,TG(KM_QWERTY), KC_LEFT,KC_DOWN,KC_RGHT),
|
||||
/* Layer 2: Media layer */
|
||||
[KM_MEDIA] = LAYOUT( \
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_WAKE,KC_PWR, KC_SLEP, \
|
||||
|
@ -75,10 +75,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
_______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______),
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
[1] = ACTION_LAYER_TOGGLE(KM_QWERTY)
|
||||
};
|
||||
|
||||
void matrix_scan_user(void)
|
||||
{
|
||||
uint8_t layer = biton32(layer_state);
|
||||
|
|
|
@ -158,12 +158,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
//#define MAGIC_KEY_SLEEP_LED Z
|
||||
|
||||
// Audio Click
|
||||
#define AUDIO_CLICKY
|
||||
//#define AUDIO_CLICKY
|
||||
|
||||
// Music Mode Polyphony
|
||||
// NOTE: Must change polyphony_rate to a number higher than 0 in voices.c
|
||||
#define AUDIO_VOICES
|
||||
#define PITCH_STANDARD_A 880.0f
|
||||
//#define AUDIO_VOICES
|
||||
//#define PITCH_STANDARD_A 880.0f
|
||||
|
||||
// Mouse keys
|
||||
#define MOUSEKEY_DELAY 0
|
||||
|
|
|
@ -28,5 +28,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by d
|
|||
#MIDI_ENABLE = yes # MIDI controls
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
AUDIO_ENABLE = yes # Audio output on port C6
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
|
|
|
@ -38,6 +38,7 @@ void matrix_scan_user(void) {
|
|||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
case SONG_SU:
|
||||
if (record->event.pressed) {
|
||||
PLAY_SONG(tone_startup);
|
||||
|
@ -58,7 +59,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
}
|
||||
|
||||
return false;
|
||||
|
||||
#endif
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ COMMAND_ENABLE = yes # Commands for debug and configuration
|
|||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = yes # Audio output on port C6
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
|
|
|
@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
// clang-format on
|
||||
|
||||
// Configure ignore mod tap interrupt per key
|
||||
bool get_ignore_mod_tap_interrupt(uint16_t keycode) {
|
||||
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
// I don't like how mod tap interrupt feels with these keys specifically when I'm typing
|
||||
case LCTL_T(KC_ESC):
|
||||
|
|
|
@ -283,13 +283,9 @@ const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS,DEL, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,
|
||||
CAPS,TRNS,TRNS,ESC, TRNS,TRNS,TRNS,HOME,UP, END, PSCR,SLCK,PAUS, INS, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,
|
||||
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PGUP,LEFT,DOWN,RGHT,TRNS,TRNS, TRNS,TRNS, TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,
|
||||
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,SPC, PGDN,GRV, FN1, TRNS,APP, TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,
|
||||
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,SPC, PGDN,GRV, TILD, TRNS,APP, TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,
|
||||
TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS, TRNS, TRNS,TRNS, TRNS,TRNS
|
||||
),
|
||||
};
|
||||
|
||||
const action_t PROGMEM fn_actions[] = {
|
||||
[1] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV), // tilde
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -124,7 +124,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
|||
oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; }
|
||||
#endif
|
||||
|
||||
uint16_t get_tapping_term(uint16_t keycode) {
|
||||
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case ALT_T(KC_A):
|
||||
return TAPPING_TERM + 100;
|
||||
|
|
|
@ -26,7 +26,7 @@ void matrix_init_kb(void)
|
|||
|
||||
#ifdef AUDIO_ENABLE
|
||||
audio_init();
|
||||
PLAY_NOTE_ARRAY(test_sound, false, STACCATO);
|
||||
PLAY_SONG(test_sound);
|
||||
// Fix port B5
|
||||
cbi(DDRB, 5);
|
||||
sbi(PORTB, 5);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"keyboard_name": "Ergoinu",
|
||||
"url": "",
|
||||
"maintainer": "hsgw",
|
||||
"maintainer": "hsgw(Takuya Urakawa)",
|
||||
"width": 18,
|
||||
"height": 5.4,
|
||||
"layouts": {
|
|
@ -11,11 +11,11 @@ Hardware Availability & Repository: [https://github.com/hsgw/ergoinu](https://gi
|
|||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make ergoinu:default
|
||||
make dm9records/ergoinu:default
|
||||
|
||||
(or)
|
||||
|
||||
make ergoinu:default_jis
|
||||
make dm9records/ergoinu:default_jis
|
||||
|
||||
|
||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
|
@ -26,7 +26,7 @@ MIDI_ENABLE = no # MIDI controls
|
|||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
SUBPROJECT_rev1 = no
|
||||
USE_I2C = no # i2c is not supported
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
|
@ -35,8 +35,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
|||
CUSTOM_MATRIX = yes
|
||||
SRC += matrix.c serial.c split_util.c
|
||||
|
||||
DEFAULT_FOLDER = ergoinu
|
||||
|
||||
# ergoinu configs
|
||||
DISABLE_PROMICRO_LEDs = yes
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"keyboard_name": "Plaid // Through Hole",
|
||||
"keyboard_folder": "planid",
|
||||
"keyboard_folder": "dm9records/plaid",
|
||||
"url": "https://github.com/hsgw/plaid",
|
||||
"maintainer": "hsgw",
|
||||
"maintainer": "hsgw(Takuya Urakawa)",
|
||||
"width": 12,
|
||||
"height": 4,
|
||||
"layouts": {
|
|
@ -9,11 +9,11 @@ Hardware Supported: ATMEGA328p with vusb [PCB](https://github.com/hsgw/plaid)
|
|||
Hardware Availability: Group buy in r/mk
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
make plaid:default
|
||||
make dm9records/plaid:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make plaid:default:flash
|
||||
make dm9records/plaid:default:flash
|
||||
|
||||
## Bootloader
|
||||
use usbasploader in my repository.
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"keyboard_name": "Tartan # Through Hole",
|
||||
"keyboard_folder": "tartan",
|
||||
"keyboard_folder": "dm9records/tartan",
|
||||
"url": "https://github.com/hsgw/tartan",
|
||||
"maintainer": "hsgw(Takuya Urakawa)",
|
||||
"width": 13,
|
|
@ -10,12 +10,12 @@ A 60% keyboard with only through hole components.
|
|||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make tartan:default
|
||||
make dm9records/tartan:default
|
||||
|
||||
Flash firmware:
|
||||
|
||||
// In bootloader mode
|
||||
make tartan:default:flash
|
||||
make dm9records/tartan:default:flash
|
||||
|
||||
## Bootloader
|
||||
use usbasploader in my repository.
|
|
@ -23,7 +23,7 @@ COMMAND_ENABLE = yes # Commands for debug and configuration
|
|||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = yes # MIDI controls
|
||||
AUDIO_ENABLE = yes # Audio output on port C6
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
|
|
|
@ -9,10 +9,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
[1] = TT(1)
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
|
||||
uint8_t layer = get_highest_layer(state);
|
||||
|
|
|
@ -18,17 +18,6 @@ enum custom_keycodes {
|
|||
ADJUST,
|
||||
};
|
||||
|
||||
/* Fn keys */
|
||||
|
||||
enum {
|
||||
|
||||
F_SFT = 0,
|
||||
F_ALT,
|
||||
F_CTRL,
|
||||
F_NUMPAD
|
||||
// F_LOWER,
|
||||
// F_RAISE,
|
||||
};
|
||||
|
||||
#define KC_ KC_TRNS
|
||||
#define KC_XXXX KC_NO
|
||||
|
@ -57,8 +46,8 @@ enum {
|
|||
#define KC_UDO LCTL(KC_Z)
|
||||
#define KC_CUT LCTL(KC_X)
|
||||
#define KC_SVE LCTL(KC_S)
|
||||
#define KC_OSH F(F_SFT)
|
||||
#define KC_OCTL F(F_CTRL)
|
||||
#define KC_OSH OSM(MOD_LSFT)
|
||||
#define KC_OCTL OSM(MOD_LCTL)
|
||||
#define KC_NUMP TT(_NUMPAD)
|
||||
#define KC_SHESC MT(MOD_LSFT,KC_ESC)
|
||||
#define KC_SHENT MT(MOD_RSFT,KC_ENT)
|
||||
|
@ -142,14 +131,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
[F_SFT] = ACTION_MODS_ONESHOT (MOD_LSFT)
|
||||
,[F_ALT] = ACTION_MODS_ONESHOT (MOD_LALT)
|
||||
,[F_CTRL] = ACTION_MODS_ONESHOT (MOD_LCTL)
|
||||
};
|
||||
|
||||
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case COLEMAK:
|
||||
|
|
|
@ -65,9 +65,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
*/
|
||||
[_FL] = LAYOUT(
|
||||
KC_GRAVE,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_DELETE, \
|
||||
KC_TRNS,F(1),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_CALC,KC_PGUP,KC_UP,KC_PGDN,KC_PSCR,KC_SLCK,KC_PAUS,KC_TRNS, \
|
||||
KC_TRNS,TG(1),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_CALC,KC_PGUP,KC_UP,KC_PGDN,KC_PSCR,KC_SLCK,KC_PAUS,KC_TRNS, \
|
||||
KC_TRNS,KC_MUTE,KC__VOLDOWN,KC__VOLUP,KC_TRNS,KC_TRNS,KC_HOME,KC_LEFT,KC_DOWN,KC_RGHT,KC_INS,KC_TRNS,KC_TRNS,KC_TRNS, \
|
||||
KC_TRNS,KC_TRNS,F(3),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_END,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
|
||||
KC_TRNS,KC_TRNS,TG(3),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_END,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),
|
||||
|
||||
/*
|
||||
|
@ -106,8 +106,6 @@ enum function_id {
|
|||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
[1] = ACTION_LAYER_TOGGLE(1), // Toggle Arrow Layer overlay
|
||||
[3] = ACTION_LAYER_TOGGLE(3), // Toggle Underglow Layer overlay
|
||||
[4] = ACTION_FUNCTION(RGBLED_TOGGLE), //Turn on/off underglow
|
||||
[5] = ACTION_FUNCTION(RGBLED_STEP_MODE), // Change underglow mode
|
||||
[6] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
|
||||
|
|
|
@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, KC_END, KC_MPRV, KC_MNXT, KC_MPLY, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, KC_HOME, LCTL(KC_LEFT), LCTL(KC_END), LCTL(KC_RIGHT), KC_TRNS, RESET, \
|
||||
KC_TRNS, KC_TRNS, F(9), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
KC_TRNS, KC_TRNS, LM(2, MOD_LSFT), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
#endif
|
||||
|
||||
[_SL] = LAYOUT_60_ansi(
|
||||
|
@ -99,7 +99,6 @@ const uint16_t PROGMEM fn_actions[] = {
|
|||
[7] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
|
||||
[8] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
|
||||
#endif
|
||||
[9] = ACTION_LAYER_MODS(2, MOD_LSFT)
|
||||
};
|
||||
|
||||
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
|
|
|
@ -29,7 +29,6 @@ TRAN
|
|||
#define TT_SYM MO(_SYM)
|
||||
#define TT_MOV LT(_MOV,KC_BSPC)
|
||||
#define TT_NUM MO(_NUM)
|
||||
#define SSFT ACTION_MODS_ONESHOT(MOD_LSFT)
|
||||
|
||||
enum macro_keycodes {
|
||||
DHPASTE=1,
|
||||
|
|
1
keyboards/hhkb/ansi/ansi.c
Normal file
1
keyboards/hhkb/ansi/ansi.c
Normal file
|
@ -0,0 +1 @@
|
|||
#include "ansi.h"
|
23
keyboards/hhkb/ansi/ansi.h
Normal file
23
keyboards/hhkb/ansi/ansi.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT( \
|
||||
K31, K30, K00, K10, K11, K20, K21, K40, K41, K60, K61, K70, K71, K50, K51, \
|
||||
K32, K01, K02, K13, K12, K23, K22, K42, K43, K62, K63, K73, K72, K52, \
|
||||
K33, K04, K03, K14, K15, K24, K25, K45, K44, K65, K64, K74, K53, \
|
||||
K34, K05, K06, K07, K16, K17, K26, K46, K66, K76, K75, K55, K54, \
|
||||
K35, K36, K37, K57, K56) \
|
||||
\
|
||||
{ \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07 }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17 }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, KC_NO }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37 }, \
|
||||
{ K40, K41, K42, K43, K44, K45, K46, KC_NO }, \
|
||||
{ K50, K51, K52, K53, K54, K55, K56, K57 }, \
|
||||
{ K60, K61, K62, K63, K64, K65, K66, KC_NO }, \
|
||||
{ K70, K71, K72, K73, K74, K75, K76, KC_NO } \
|
||||
}
|
||||
|
||||
#define LAYOUT_60_hhkb LAYOUT
|
|
@ -15,25 +15,20 @@ You should have received a copy of the GNU General Public License
|
|||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CONFIG_H
|
||||
#define CONFIG_H
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0xCAFE
|
||||
#define VENDOR_ID 0x4848 // HH = happy hacking
|
||||
#define PRODUCT_ID 0x0001 // ANSI HHKB
|
||||
#define DEVICE_VER 0x0104
|
||||
#define MANUFACTURER q.m.k
|
||||
#define PRODUCT HHKB mod
|
||||
#define DESCRIPTION q.m.k keyboard firmware for HHKB
|
||||
|
||||
/* key matrix size */
|
||||
#ifdef HHKB_JP
|
||||
# define MATRIX_ROWS 16
|
||||
#else
|
||||
# define MATRIX_ROWS 8
|
||||
#endif
|
||||
#define MATRIX_ROWS 8
|
||||
#define MATRIX_COLS 8
|
||||
|
||||
#define TAPPING_TERM 200
|
||||
|
@ -107,5 +102,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
//#define NO_ACTION_ONESHOT
|
||||
//#define NO_ACTION_MACRO
|
||||
//#define NO_ACTION_FUNCTION
|
||||
|
||||
#endif
|
157
keyboards/hhkb/ansi/hhkb_avr.h
Normal file
157
keyboards/hhkb/ansi/hhkb_avr.h
Normal file
|
@ -0,0 +1,157 @@
|
|||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <avr/io.h>
|
||||
#include <avr/interrupt.h>
|
||||
#include <util/delay.h>
|
||||
|
||||
|
||||
// Timer resolution check
|
||||
#if (1000000/TIMER_RAW_FREQ > 20)
|
||||
# error "Timer resolution(>20us) is not enough for HHKB matrix scan tweak on V-USB."
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* HHKB Matrix I/O
|
||||
*
|
||||
* row: HC4051[A,B,C] selects scan row0-7
|
||||
* row-ext: [En0,En1] row extention for JP
|
||||
* col: LS145[A,B,C,D] selects scan col0-7 and enable(D)
|
||||
* key: on: 0/off: 1
|
||||
* prev: hysteresis control: assert(1) when previous key state is on
|
||||
*/
|
||||
|
||||
|
||||
#if defined(__AVR_ATmega32U4__)
|
||||
/*
|
||||
* For TMK HHKB alt controller(ATMega32U4)
|
||||
*
|
||||
* row: PB0-2
|
||||
* col: PB3-5,6
|
||||
* key: PD7(pull-uped)
|
||||
* prev: PB7
|
||||
* power: PD4(L:off/H:on)
|
||||
* row-ext: PC6,7 for HHKB JP(active low)
|
||||
*/
|
||||
static inline void KEY_ENABLE(void) { (PORTB &= ~(1<<6)); }
|
||||
static inline void KEY_UNABLE(void) { (PORTB |= (1<<6)); }
|
||||
static inline bool KEY_STATE(void) { return (PIND & (1<<7)); }
|
||||
static inline void KEY_PREV_ON(void) { (PORTB |= (1<<7)); }
|
||||
static inline void KEY_PREV_OFF(void) { (PORTB &= ~(1<<7)); }
|
||||
#ifdef HHKB_POWER_SAVING
|
||||
static inline void KEY_POWER_ON(void) {
|
||||
DDRB = 0xFF; PORTB = 0x40; // change pins output
|
||||
DDRD |= (1<<4); PORTD |= (1<<4); // MOS FET switch on
|
||||
/* Without this wait you will miss or get false key events. */
|
||||
_delay_ms(5); // wait for powering up
|
||||
}
|
||||
static inline void KEY_POWER_OFF(void) {
|
||||
/* input with pull-up consumes less than without it when pin is open. */
|
||||
DDRB = 0x00; PORTB = 0xFF; // change pins input with pull-up
|
||||
DDRD |= (1<<4); PORTD &= ~(1<<4); // MOS FET switch off
|
||||
}
|
||||
static inline bool KEY_POWER_STATE(void) { return PORTD & (1<<4); }
|
||||
#else
|
||||
static inline void KEY_POWER_ON(void) {}
|
||||
static inline void KEY_POWER_OFF(void) {}
|
||||
static inline bool KEY_POWER_STATE(void) { return true; }
|
||||
#endif
|
||||
static inline void KEY_INIT(void)
|
||||
{
|
||||
/* row,col,prev: output */
|
||||
DDRB = 0xFF;
|
||||
PORTB = 0x40; // unable
|
||||
/* key: input with pull-up */
|
||||
DDRD &= ~0x80;
|
||||
PORTD |= 0x80;
|
||||
|
||||
KEY_UNABLE();
|
||||
KEY_PREV_OFF();
|
||||
|
||||
KEY_POWER_OFF();
|
||||
}
|
||||
static inline void KEY_SELECT(uint8_t ROW, uint8_t COL)
|
||||
{
|
||||
PORTB = (PORTB & 0xC0) | (((COL) & 0x07)<<3) | ((ROW) & 0x07);
|
||||
|
||||
}
|
||||
|
||||
|
||||
#elif defined(__AVR_AT90USB1286__)
|
||||
/*
|
||||
* For Teensy++(AT90USB1286)
|
||||
*
|
||||
* HHKB pro HHKB pro2
|
||||
* row: PB0-2 (6-8) (5-7)
|
||||
* col: PB3-5,6 (9-12) (8-11)
|
||||
* key: PE6(pull-uped) (4) (3)
|
||||
* prev: PE7 (5) (4)
|
||||
*
|
||||
* TODO: convert into 'staitc inline' function
|
||||
*/
|
||||
#define KEY_INIT() do { \
|
||||
DDRB |= 0x7F; \
|
||||
DDRE |= (1<<7); \
|
||||
DDRE &= ~(1<<6); \
|
||||
PORTE |= (1<<6); \
|
||||
} while (0)
|
||||
#define KEY_SELECT(ROW, COL) (PORTB = (PORTB & 0xC0) | \
|
||||
(((COL) & 0x07)<<3) | \
|
||||
((ROW) & 0x07))
|
||||
#define KEY_ENABLE() (PORTB &= ~(1<<6))
|
||||
#define KEY_UNABLE() (PORTB |= (1<<6))
|
||||
#define KEY_STATE() (PINE & (1<<6))
|
||||
#define KEY_PREV_ON() (PORTE |= (1<<7))
|
||||
#define KEY_PREV_OFF() (PORTE &= ~(1<<7))
|
||||
#define KEY_POWER_ON()
|
||||
#define KEY_POWER_OFF()
|
||||
#define KEY_POWER_STATE() true
|
||||
|
||||
|
||||
#else
|
||||
# error "define code for matrix scan"
|
||||
#endif
|
||||
|
||||
|
||||
#if 0
|
||||
// For ATMega328P with V-USB
|
||||
//
|
||||
// #elif defined(__AVR_ATmega328P__)
|
||||
// Ports for V-USB
|
||||
// key: PB0(pull-uped)
|
||||
// prev: PB1
|
||||
// row: PB2-4
|
||||
// col: PC0-2,3
|
||||
// power: PB5(Low:on/Hi-z:off)
|
||||
#define KEY_INIT() do { \
|
||||
DDRB |= 0x3E; \
|
||||
DDRB &= ~(1<<0); \
|
||||
PORTB |= 1<<0; \
|
||||
DDRC |= 0x0F; \
|
||||
KEY_UNABLE(); \
|
||||
KEY_PREV_OFF(); \
|
||||
} while (0)
|
||||
#define KEY_SELECT(ROW, COL) do { \
|
||||
PORTB = (PORTB & 0xE3) | ((ROW) & 0x07)<<2; \
|
||||
PORTC = (PORTC & 0xF8) | ((COL) & 0x07); \
|
||||
} while (0)
|
||||
#define KEY_ENABLE() (PORTC &= ~(1<<3))
|
||||
#define KEY_UNABLE() (PORTC |= (1<<3))
|
||||
#define KEY_STATE() (PINB & (1<<0))
|
||||
#define KEY_PREV_ON() (PORTB |= (1<<1))
|
||||
#define KEY_PREV_OFF() (PORTB &= ~(1<<1))
|
||||
// Power supply switching
|
||||
#define KEY_POWER_ON() do { \
|
||||
KEY_INIT(); \
|
||||
PORTB &= ~(1<<5); \
|
||||
_delay_ms(1); \
|
||||
} while (0)
|
||||
#define KEY_POWER_OFF() do { \
|
||||
DDRB &= ~0x3F; \
|
||||
PORTB &= ~0x3F; \
|
||||
DDRC &= ~0x0F; \
|
||||
PORTC &= ~0x0F; \
|
||||
} while (0)
|
||||
#endif
|
73
keyboards/hhkb/ansi/info.json
Normal file
73
keyboards/hhkb/ansi/info.json
Normal file
|
@ -0,0 +1,73 @@
|
|||
{
|
||||
"keyboard_name": "HHKB",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 15,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "x": 0, "y": 0 },
|
||||
{ "label": "!", "x": 1, "y": 0 },
|
||||
{ "label": "@", "x": 2, "y": 0 },
|
||||
{ "label": "#", "x": 3, "y": 0 },
|
||||
{ "label": "$", "x": 4, "y": 0 },
|
||||
{ "label": "%", "x": 5, "y": 0 },
|
||||
{ "label": "^", "x": 6, "y": 0 },
|
||||
{ "label": "&", "x": 7, "y": 0 },
|
||||
{ "label": "*", "x": 8, "y": 0 },
|
||||
{ "label": "(", "x": 9, "y": 0 },
|
||||
{ "label": ")", "x": 10, "y": 0 },
|
||||
{ "label": "_", "x": 11, "y": 0 },
|
||||
{ "label": "+", "x": 12, "y": 0 },
|
||||
{ "label": "|", "x": 13, "y": 0 },
|
||||
{ "label": "~", "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "x": 12.5, "y": 1 },
|
||||
{ "label": "Delete", "x": 13.5, "y": 1, "w": 1.5 },
|
||||
{ "label": "Control", "x": 0, "y": 2, "w": 1.75 },
|
||||
{ "label": "A", "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "x": 11.75, "y": 2 },
|
||||
{ "label": "Return", "x": 12.75, "y": 2, "w": 2.25 },
|
||||
{ "label": "Shift", "x": 0, "y": 3, "w": 2.25 },
|
||||
{ "label": "Z", "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 },
|
||||
{ "label": "Fn", "x": 14, "y": 3 },
|
||||
{ "label": "", "x": 1.5, "y": 4 },
|
||||
{ "label": "", "x": 2.5, "y": 4, "w": 1.5 },
|
||||
{ "x": 4, "y": 4, "w": 6 },
|
||||
{ "label": "", "x": 10, "y": 4, "w": 1.5 },
|
||||
{ "label": "", "x": 11.5, "y": 4 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
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_BSLS, KC_GRV,
|
||||
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_BSPC,
|
||||
KC_LCTL, LT(LALTLEV, KC_A), LT(LGUILEV, KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RGUILEV, KC_L), LT(RALTLEV, KC_SCLN), KC_QUOT, KC_FN0,
|
||||
KC_LCTL, LT(LALTLEV, KC_A), LT(LGUILEV, KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RGUILEV, KC_L), LT(RALTLEV, KC_SCLN), KC_QUOT, MT(MOD_RCTL, KC_ENT),
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
|
||||
KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
|
||||
|
||||
|
@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
RGUI(KC_ESC), RGUI(KC_1), RGUI(KC_2), RGUI(KC_3), RGUI(KC_4), RGUI(KC_5), RGUI(KC_6), RGUI(KC_7), RGUI(KC_8), RGUI(KC_9), RGUI(KC_0), RGUI(KC_MINS), RGUI(KC_EQL), RGUI(KC_BSLS), RGUI(KC_GRV),
|
||||
RGUI(KC_TAB), RGUI(KC_Q), RGUI(KC_W), RGUI(KC_E), RGUI(KC_R), RGUI(KC_T), RGUI(KC_Y), RGUI(KC_U), RGUI(KC_I), RGUI(KC_O), RGUI(KC_P), RGUI(KC_LBRC), RGUI(KC_RBRC), RGUI(KC_BSPC),
|
||||
RGUI(KC_LCTL), RGUI(KC_A), RGUI(KC_S), RGUI(KC_D), RGUI(KC_F), RGUI(KC_G), RGUI(KC_H), RGUI(KC_J), RGUI(KC_K), KC_TRNS, KC_TRNS, RGUI(KC_QUOT), KC_FN0,
|
||||
RGUI(KC_LCTL), RGUI(KC_A), RGUI(KC_S), RGUI(KC_D), RGUI(KC_F), RGUI(KC_G), RGUI(KC_H), RGUI(KC_J), RGUI(KC_K), KC_TRNS, KC_TRNS, RGUI(KC_QUOT), MT(MOD_RCTL, KC_ENT),
|
||||
RGUI(KC_LSFT), RGUI(KC_Z), RGUI(KC_X), RGUI(KC_C), RGUI(KC_V), RGUI(KC_B), RGUI(KC_N), RGUI(KC_M), RGUI(KC_COMM), RGUI(KC_DOT), RGUI(KC_SLSH), RGUI(KC_RSFT), KC_TRNS,
|
||||
KC_LALT, KC_LGUI, RGUI(KC_SPC), KC_RGUI, KC_RALT),
|
||||
|
||||
|
@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
LGUI(KC_ESC), LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), LGUI(KC_0), LGUI(KC_MINS), LGUI(KC_EQL), LGUI(KC_BSLS), LGUI(KC_GRV),
|
||||
LGUI(KC_TAB), LGUI(KC_Q), LGUI(KC_W), LGUI(KC_E), LGUI(KC_R), LGUI(KC_T), LGUI(KC_Y), LGUI(KC_U), LGUI(KC_I), LGUI(KC_O), LGUI(KC_P), LGUI(KC_LBRC), LGUI(KC_RBRC), LGUI(KC_BSPC),
|
||||
LGUI(KC_LCTL), KC_TRNS, KC_TRNS, LGUI(KC_D), LGUI(KC_F), LGUI(KC_G), LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), LGUI(KC_SCLN), LGUI(KC_QUOT), KC_FN0,
|
||||
LGUI(KC_LCTL), KC_TRNS, KC_TRNS, LGUI(KC_D), LGUI(KC_F), LGUI(KC_G), LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), LGUI(KC_SCLN), LGUI(KC_QUOT), MT(MOD_RCTL, KC_ENT),
|
||||
KC_LSFT, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), LGUI(KC_B), LGUI(KC_N), LGUI(KC_M), LGUI(KC_COMM), LGUI(KC_DOT), LGUI(KC_SLSH), KC_RSFT, KC_TRNS,
|
||||
KC_LALT, KC_LGUI, LGUI(KC_SPC), KC_LGUI, KC_RALT),
|
||||
|
||||
|
@ -128,7 +128,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
RALT(KC_ESC), RALT(KC_1), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_5), RALT(KC_6), RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS), RALT(KC_EQL), RALT(KC_BSLS), RALT(KC_GRV),
|
||||
RALT(KC_TAB), RALT(KC_Q), RALT(KC_W), RALT(KC_E), RALT(KC_R), RALT(KC_T), RALT(KC_Y), RALT(KC_U), RALT(KC_I), RALT(KC_O), RALT(KC_P), RALT(KC_LBRC), RALT(KC_RBRC), RALT(KC_BSPC),
|
||||
RALT(KC_LCTL), RALT(KC_A), RALT(KC_S), RALT(KC_D), RALT(KC_F), RALT(KC_G), RALT(KC_H), RALT(KC_J), RALT(KC_K), KC_TRNS, KC_TRNS, RALT(KC_QUOT), KC_FN0,
|
||||
RALT(KC_LCTL), RALT(KC_A), RALT(KC_S), RALT(KC_D), RALT(KC_F), RALT(KC_G), RALT(KC_H), RALT(KC_J), RALT(KC_K), KC_TRNS, KC_TRNS, RALT(KC_QUOT), MT(MOD_RCTL, KC_ENT),
|
||||
RALT(KC_LSFT), RALT(KC_Z), RALT(KC_X), RALT(KC_C), RALT(KC_V), RALT(KC_B), RALT(KC_N), RALT(KC_M), RALT(KC_COMM), RALT(KC_DOT), RALT(KC_SLSH), RALT(KC_RSFT), KC_TRNS,
|
||||
KC_LALT, KC_LGUI, RALT(KC_SPC), KC_RGUI, KC_RALT),
|
||||
|
||||
|
@ -152,7 +152,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
LALT(KC_ESC), LALT(KC_1), LALT(KC_2), LALT(KC_3), LALT(KC_4), LALT(KC_5), LALT(KC_6), LALT(KC_7), LALT(KC_8), LALT(KC_9), LALT(KC_0), LALT(KC_MINS), LALT(KC_EQL), LALT(KC_BSLS), LALT(KC_GRV),
|
||||
LALT(KC_TAB), LALT(KC_Q), LALT(KC_W), LALT(KC_E), LALT(KC_R), LALT(KC_T), LALT(KC_Y), LALT(KC_U), LALT(KC_I), LALT(KC_O), LALT(KC_P), LALT(KC_LBRC), LALT(KC_RBRC), LALT(KC_BSPC),
|
||||
LALT(KC_LCTL), KC_TRNS, KC_TRNS, LALT(KC_D), LALT(KC_F), LALT(KC_G), LALT(KC_H), LALT(KC_J), LALT(KC_K), LALT(KC_L), LALT(KC_SCLN), LALT(KC_QUOT), KC_FN0,
|
||||
LALT(KC_LCTL), KC_TRNS, KC_TRNS, LALT(KC_D), LALT(KC_F), LALT(KC_G), LALT(KC_H), LALT(KC_J), LALT(KC_K), LALT(KC_L), LALT(KC_SCLN), LALT(KC_QUOT), MT(MOD_RCTL, KC_ENT),
|
||||
KC_LSFT, LALT(KC_Z), LALT(KC_X), LALT(KC_C), LALT(KC_V), LALT(KC_B), LALT(KC_N), LALT(KC_M), LALT(KC_COMM), LALT(KC_DOT), LALT(KC_SLSH), KC_RSFT, KC_TRNS,
|
||||
KC_LALT, KC_LGUI, LALT(KC_SPC), KC_LGUI, KC_RALT),
|
||||
|
||||
|
@ -176,14 +176,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
|
||||
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_BSLS, KC_GRV,
|
||||
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_BSPC,
|
||||
KC_LCTL, LT(LGUILEV, KC_A), LT(LALTLEV, KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RALTLEV, KC_L), LT(RGUILEV, KC_SCLN), KC_QUOT, KC_FN0,
|
||||
KC_LCTL, LT(LGUILEV, KC_A), LT(LALTLEV, KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RALTLEV, KC_L), LT(RGUILEV, KC_SCLN), KC_QUOT, MT(MOD_RCTL, KC_ENT),
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
|
||||
KC_RGUI, KC_RALT, KC_SPC, KC_RALT, KC_RGUI)};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
[0] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_ENT) // RControl with tap Enter*
|
||||
};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
// MACRODOWN only works in this function
|
|
@ -17,7 +17,6 @@ enum hhkb_keycodes
|
|||
DYNAMIC_MACRO_RANGE,
|
||||
};
|
||||
|
||||
#include "dynamic_macro.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
|
@ -104,7 +103,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
uint16_t macro_kc = (keycode == MO(DYN) ? DYN_REC_STOP : keycode);
|
||||
if (!process_record_dynamic_macro(macro_kc, record))
|
||||
if (!process_dynamic_macro(macro_kc, record))
|
||||
{
|
||||
return false;
|
||||
}
|
1
keyboards/hhkb/ansi/keymaps/mjt/rules.mk
Normal file
1
keyboards/hhkb/ansi/keymaps/mjt/rules.mk
Normal file
|
@ -0,0 +1 @@
|
|||
DYNAMIC_MACRO_ENABLE = yes
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue