From 62aacd06edf6f6377b406eaf5dd392b1b9565a77 Mon Sep 17 00:00:00 2001 From: Kenichi Sasaki Date: Sat, 18 Feb 2017 00:40:15 +0900 Subject: copied and Meta(ESC) --- keyboards/ergodox/keymaps/siroken3/default.png | Bin 0 -> 193672 bytes .../keymaps/siroken3/default_firmware_v1.2-2.png | Bin 0 -> 257921 bytes .../ergodox/keymaps/siroken3/default_highres.png | Bin 0 -> 1459389 bytes keyboards/ergodox/keymaps/siroken3/keymap.c | 223 +++++++++++++++++++++ keyboards/ergodox/keymaps/siroken3/readme.md | 15 ++ 5 files changed, 238 insertions(+) create mode 100644 keyboards/ergodox/keymaps/siroken3/default.png create mode 100644 keyboards/ergodox/keymaps/siroken3/default_firmware_v1.2-2.png create mode 100644 keyboards/ergodox/keymaps/siroken3/default_highres.png create mode 100644 keyboards/ergodox/keymaps/siroken3/keymap.c create mode 100644 keyboards/ergodox/keymaps/siroken3/readme.md diff --git a/keyboards/ergodox/keymaps/siroken3/default.png b/keyboards/ergodox/keymaps/siroken3/default.png new file mode 100644 index 0000000000..6575f7b5e3 Binary files /dev/null and b/keyboards/ergodox/keymaps/siroken3/default.png differ diff --git a/keyboards/ergodox/keymaps/siroken3/default_firmware_v1.2-2.png b/keyboards/ergodox/keymaps/siroken3/default_firmware_v1.2-2.png new file mode 100644 index 0000000000..e3c321cc09 Binary files /dev/null and b/keyboards/ergodox/keymaps/siroken3/default_firmware_v1.2-2.png differ diff --git a/keyboards/ergodox/keymaps/siroken3/default_highres.png b/keyboards/ergodox/keymaps/siroken3/default_highres.png new file mode 100644 index 0000000000..7d9f045f43 Binary files /dev/null and b/keyboards/ergodox/keymaps/siroken3/default_highres.png differ diff --git a/keyboards/ergodox/keymaps/siroken3/keymap.c b/keyboards/ergodox/keymaps/siroken3/keymap.c new file mode 100644 index 0000000000..14e6ba50c9 --- /dev/null +++ b/keyboards/ergodox/keymaps/siroken3/keymap.c @@ -0,0 +1,223 @@ +#include "ergodox.h" +#include "debug.h" +#include "action_layer.h" +#include "version.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +enum custom_keycodes { + PLACEHOLDER = SAFE_RANGE, // can always be here + EPRM, + VRSN, + RGB_SLD +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Ctrl | A | S | D | F | G |------| |------| H | J | K | L |; / L2|' / Cmd | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | App | LGui | | Alt |Ctrl/Esc| + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space|Backsp|------| |------| Tab |Enter | + * | |ace | End | | Esc | | | + * `--------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), + LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + ALT_T(KC_APP), KC_LGUI, + KC_HOME, + KC_SPC,KC_BSPC,KC_END, + // right hand + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, (KC_J), KC_K, KC_L, LT(MDIA, KC_SCLN),GUI_T(KC_QUOT), + MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, + KC_LALT, CTL_T(KC_ESC), + KC_PGUP, + KC_ESC, KC_TAB, KC_ENT + ), +/* Keymap 1: Symbol Layer + * + * ,---------------------------------------------------. ,--------------------------------------------------. + * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | EPRM | | | | | | | . | 0 | = | | + * `-----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * |Animat| | |Toggle|Solid | + * ,------|------|------| |------+------+------. + * |Bright|Bright| | | |Hue- |Hue+ | + * |ness- |ness+ |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, + KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, + EPRM,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + RGB_MOD,KC_TRNS, + KC_TRNS, + RGB_VAD,RGB_VAI,KC_TRNS, + // right hand + KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, + RGB_TOG, RGB_SLD, + KC_TRNS, + KC_TRNS, RGB_HUD, RGB_HUI +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +[MDIA] = KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + // right hand + 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_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); + } + break; + case 1: + if (record->event.pressed) { // For resetting EEPROM + eeconfig_init(); + } + break; + } + return MACRO_NONE; +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + // dynamically generate these. + case EPRM: + if (record->event.pressed) { + eeconfig_init(); + } + return false; + break; + case VRSN: + if (record->event.pressed) { + SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); + } + return false; + break; + case RGB_SLD: + if (record->event.pressed) { + #ifdef RGBLIGHT_ENABLE + rgblight_mode(1); + #endif + } + return false; + break; + } + return true; +} + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboards/ergodox/keymaps/siroken3/readme.md b/keyboards/ergodox/keymaps/siroken3/readme.md new file mode 100644 index 0000000000..979ce0f5b8 --- /dev/null +++ b/keyboards/ergodox/keymaps/siroken3/readme.md @@ -0,0 +1,15 @@ +# ErgoDox EZ Default Configuration + +## Changelog + +* Dec 2016: + * Added LED keys + * Refreshed layout graphic, comes from http://configure.ergodox-ez.com now. +* Sep 22, 2016: + * Created a new key in layer 1 (bottom-corner key) that resets the EEPROM. +* Feb 2, 2016 (V1.1): + * Made the right-hand quote key double as Cmd/Win on hold. So you get ' when you tap it, " when you tap it with Shift, and Cmd or Win when you hold it. You can then use it as a modifier, or just press and hold it for a moment (and then let go) to send a single Cmd or Win keystroke (handy for opening the Start menu on Windows). + +This is what we ship with out of the factory. :) The image says it all: + +![Default](default_firmware_v1.2-2.png) -- cgit v1.2.3 From e9b1958df2103fca4865db08ca22dfe22c05c07f Mon Sep 17 00:00:00 2001 From: Kenichi Sasaki Date: Sat, 18 Feb 2017 01:07:04 +0900 Subject: Added JIS keymap symbols --- keyboards/ergodox/keymaps/siroken3/keymap.c | 42 +++++++++++++++++------------ 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/keyboards/ergodox/keymaps/siroken3/keymap.c b/keyboards/ergodox/keymaps/siroken3/keymap.c index 14e6ba50c9..9a186b90c2 100644 --- a/keyboards/ergodox/keymaps/siroken3/keymap.c +++ b/keyboards/ergodox/keymaps/siroken3/keymap.c @@ -7,6 +7,14 @@ #define SYMB 1 // symbols #define MDIA 2 // media keys +#define JS_COLN KC_QUOT // : and + +#define JS_AT KC_LBRC // @ and ` +#define JS_HAT KC_EQL // ^ and ~ +#define JS_ENUN KC_RO // \ and _ +#define JS_ENVL KC_JYEN // \ and | +#define JS_LBRC KC_RBRC // [ and { +#define JS_RBRC KC_BSLS // ] and } + enum custom_keycodes { PLACEHOLDER = SAFE_RANGE, // can always be here EPRM, @@ -17,16 +25,16 @@ enum custom_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | Ctrl | A | S | D | F | G |------| |------| H | J | K | L |; / L2|' / Cmd | - * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| - * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | + * ,--------------------------------------------------. ,-----------------------------------------------------. + * | ^ | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | @ ` | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | Ctrl | A | S | D | F | G |------| |------| H | J | K | L |; / L2|: * / Cmd | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+-----------| + * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl|\ _ / Shift| + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * |Grv/L1| '" |AltShf| Left | Right| | [ | ] | | | \ | ~L1 | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | App | LGui | | Alt |Ctrl/Esc| @@ -40,20 +48,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Otherwise, it needs KC_* [BASE] = KEYMAP( // layer 0 : default // left hand - KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + JS_HAT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, ALT_T(KC_APP), KC_LGUI, KC_HOME, - KC_SPC,KC_BSPC,KC_END, + KC_SPC,KC_BSPC,KC_END, // right hand - KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, (KC_J), KC_K, KC_L, LT(MDIA, KC_SCLN),GUI_T(KC_QUOT), - MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, - KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, JS_AT, + KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), GUI_T(JS_COLN), + MEH_T(KC_NO),KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), SFT_T(JS_ENUN), + JS_LBRC, JS_RBRC, S(JS_ENVL), KC_RBRC, KC_FN1, KC_LALT, CTL_T(KC_ESC), KC_PGUP, KC_ESC, KC_TAB, KC_ENT -- cgit v1.2.3 From 6d16d282bf8e959b71e2d708b31b719fdc346e44 Mon Sep 17 00:00:00 2001 From: Kenichi Sasaki Date: Sat, 18 Feb 2017 01:27:12 +0900 Subject: remove reset key --- keyboards/ergodox/keymaps/siroken3/keymap.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/keyboards/ergodox/keymaps/siroken3/keymap.c b/keyboards/ergodox/keymaps/siroken3/keymap.c index 9a186b90c2..e81ef193c9 100644 --- a/keyboards/ergodox/keymaps/siroken3/keymap.c +++ b/keyboards/ergodox/keymaps/siroken3/keymap.c @@ -64,8 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { JS_LBRC, JS_RBRC, S(JS_ENVL), KC_RBRC, KC_FN1, KC_LALT, CTL_T(KC_ESC), KC_PGUP, - KC_ESC, KC_TAB, KC_ENT - ), + KC_ESC, KC_KANA, KC_ENT ), /* Keymap 1: Symbol Layer * * ,---------------------------------------------------. ,--------------------------------------------------. @@ -115,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | | | | MsUp | | | | | | | | | | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * | REST | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | | | | | | | | | | | Prev | Next | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' @@ -133,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MDIA] = KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, -- cgit v1.2.3 From ab5d4ae80326d526619ab0801f8d4276ec7b3b41 Mon Sep 17 00:00:00 2001 From: Kenichi Sasaki Date: Sat, 18 Feb 2017 02:19:56 +0900 Subject: fix --- keyboards/ergodox/keymaps/siroken3/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/ergodox/keymaps/siroken3/keymap.c b/keyboards/ergodox/keymaps/siroken3/keymap.c index e81ef193c9..3503d2aefd 100644 --- a/keyboards/ergodox/keymaps/siroken3/keymap.c +++ b/keyboards/ergodox/keymaps/siroken3/keymap.c @@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | EPRM | | | | | | | . | 0 | = | | + * | EPRM | | | | | | 0 | . |Enter | = | | * `-----------------------------------' `----------------------------------' * ,-------------. ,-------------. * |Animat| | |Toggle|Solid | @@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, - KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_0, KC_DOT, KC_ENTER,KC_EQL, KC_TRNS, RGB_TOG, RGB_SLD, KC_TRNS, KC_TRNS, RGB_HUD, RGB_HUI -- cgit v1.2.3 From c61b5d88a846083175fccd6b20fa2fd87a1417de Mon Sep 17 00:00:00 2001 From: Kenichi Sasaki Date: Sun, 19 Feb 2017 22:46:54 +0900 Subject: change bracket key posision --- keyboards/ergodox/keymaps/siroken3/keymap.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/keyboards/ergodox/keymaps/siroken3/keymap.c b/keyboards/ergodox/keymaps/siroken3/keymap.c index 3503d2aefd..e3717f726f 100644 --- a/keyboards/ergodox/keymaps/siroken3/keymap.c +++ b/keyboards/ergodox/keymaps/siroken3/keymap.c @@ -26,15 +26,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * * ,--------------------------------------------------. ,-----------------------------------------------------. - * | ^ | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | + * | ESC | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | [{ | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | @ ` | + * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | ]} | * |--------+------+------+------+------+------| | | |------+------+------+------+------+-----------| * | Ctrl | A | S | D | F | G |------| |------| H | J | K | L |; / L2|: * / Cmd | * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+-----------| - * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl|\ _ / Shift| + * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |/ Ctrl|\ _ / Shift| * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * |Grv/L1| '" |AltShf| Left | Right| | [ | ] | | | \ | ~L1 | + * | ^ ~ | '" |AltShf| Left | Right| | [ | ] | | | - | @ ` | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | App | LGui | | Alt |Ctrl/Esc| @@ -48,20 +48,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Otherwise, it needs KC_* [BASE] = KEYMAP( // layer 0 : default // left hand - JS_HAT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), - LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), + JS_HAT, KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, ALT_T(KC_APP), KC_LGUI, KC_HOME, KC_SPC,KC_BSPC,KC_END, // right hand - KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, JS_AT, - KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), GUI_T(JS_COLN), - MEH_T(KC_NO),KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), SFT_T(JS_ENUN), - JS_LBRC, JS_RBRC, S(JS_ENVL), KC_RBRC, KC_FN1, + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, JS_LBRC, + TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, JS_RBRC, + KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), GUI_T(JS_COLN), + MEH_T(KC_NO),KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), SFT_T(JS_ENUN), + JS_LBRC, JS_RBRC, S(JS_ENVL), KC_MINUS, JS_AT, KC_LALT, CTL_T(KC_ESC), KC_PGUP, KC_ESC, KC_KANA, KC_ENT ), -- cgit v1.2.3 From 7e518e1d8fc405934655264153486b9c61e4d93f Mon Sep 17 00:00:00 2001 From: Kenichi Sasaki Date: Sat, 4 Mar 2017 23:56:58 +0900 Subject: fix again --- keyboards/ergodox/keymaps/siroken3/keymap.c | 153 ++++++++++------------------ 1 file changed, 55 insertions(+), 98 deletions(-) diff --git a/keyboards/ergodox/keymaps/siroken3/keymap.c b/keyboards/ergodox/keymaps/siroken3/keymap.c index e3717f726f..c86c608449 100644 --- a/keyboards/ergodox/keymaps/siroken3/keymap.c +++ b/keyboards/ergodox/keymaps/siroken3/keymap.c @@ -1,111 +1,99 @@ +// Netable differences vs. the default firmware for the ErgoDox EZ: +// 1. The Cmd key is now on the right side, making Cmd+Space easier. +// 2. The media keys work on OSX (But not on Windows). #include "ergodox.h" #include "debug.h" #include "action_layer.h" -#include "version.h" #define BASE 0 // default layer #define SYMB 1 // symbols #define MDIA 2 // media keys -#define JS_COLN KC_QUOT // : and + -#define JS_AT KC_LBRC // @ and ` -#define JS_HAT KC_EQL // ^ and ~ -#define JS_ENUN KC_RO // \ and _ -#define JS_ENVL KC_JYEN // \ and | -#define JS_LBRC KC_RBRC // [ and { -#define JS_RBRC KC_BSLS // ] and } - -enum custom_keycodes { - PLACEHOLDER = SAFE_RANGE, // can always be here - EPRM, - VRSN, - RGB_SLD -}; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * - * ,--------------------------------------------------. ,-----------------------------------------------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | [{ | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | ]} | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | Ctrl | A | S | D | F | G |------| |------| H | J | K | L |; / L2|: * / Cmd | - * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+-----------| - * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |/ Ctrl|\ _ / Shift| - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | ^ ~ | '" |AltShf| Left | Right| | [ | ] | | | - | @ ` | + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | LCtl | A | S | D | F | G |------| |------| H | J | K | L |; / L2| LGui | + * |--------+------+------+------+------+------| BkSp | | Meh |------+------+------+------+------+--------| + * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. + * ,-------------. ,---------------. * | App | LGui | | Alt |Ctrl/Esc| * ,------|------|------| |------+--------+------. * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Tab |Enter | - * | |ace | End | | Esc | | | + * | Space|LANG1 |------| |------|LANG2 |Enter | + * | /LGui| | End | | PgDn | | | * `--------------------' `----------------------' */ // If it accepts an argument (i.e, is a function), it doesn't need KC_. // Otherwise, it needs KC_* [BASE] = KEYMAP( // layer 0 : default // left hand - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), - KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), - JS_HAT, KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), + KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_BSPC, + LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, ALT_T(KC_APP), KC_LGUI, KC_HOME, - KC_SPC,KC_BSPC,KC_END, + MT(MOD_LGUI, KC_SPC),KC_LANG1,KC_END, // right hand - KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, JS_LBRC, - TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, JS_RBRC, - KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN), GUI_T(JS_COLN), - MEH_T(KC_NO),KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH), SFT_T(JS_ENUN), - JS_LBRC, JS_RBRC, S(JS_ENVL), KC_MINUS, JS_AT, + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_LGUI, + MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, KC_LALT, CTL_T(KC_ESC), KC_PGUP, - KC_ESC, KC_KANA, KC_ENT ), + KC_PGDN,KC_LANG2, KC_ENT + ), /* Keymap 1: Symbol Layer * - * ,---------------------------------------------------. ,--------------------------------------------------. - * |Version | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | - * |---------+------+------+------+------+------+------| |------+------+------+------+------+------+--------| - * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | - * |---------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | - * `---------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | EPRM | | | | | | 0 | . |Enter | = | | - * `-----------------------------------' `----------------------------------' + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | . | 0 | = | | + * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. - * |Animat| | |Toggle|Solid | + * | | | | | | * ,------|------|------| |------+------+------. - * |Bright|Bright| | | |Hue- |Hue+ | - * |ness- |ness+ |------| |------| | | + * | | | | | | | | + * | | |------| |------| | | * | | | | | | | | * `--------------------' `--------------------' */ // SYMBOLS [SYMB] = KEYMAP( // left hand - VRSN, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,KC_TRNS, - EPRM,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - RGB_MOD,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS, KC_TRNS, - RGB_VAD,RGB_VAI,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS, // right hand KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, - KC_0, KC_DOT, KC_ENTER,KC_EQL, KC_TRNS, - RGB_TOG, RGB_SLD, + KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, RGB_HUD, RGB_HUI + KC_TRNS, KC_TRNS, KC_TRNS ), /* Keymap 2: Media and mouse keys * @@ -114,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | | | | MsUp | | | | | | | | | | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | REST | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | | | | | | | | | | | Prev | Next | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' @@ -132,7 +120,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MDIA] = KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, @@ -160,51 +148,20 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) switch(id) { case 0: if (record->event.pressed) { - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); - } - break; - case 1: - if (record->event.pressed) { // For resetting EEPROM - eeconfig_init(); + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); } break; } return MACRO_NONE; }; -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - // dynamically generate these. - case EPRM: - if (record->event.pressed) { - eeconfig_init(); - } - return false; - break; - case VRSN: - if (record->event.pressed) { - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); - } - return false; - break; - case RGB_SLD: - if (record->event.pressed) { - #ifdef RGBLIGHT_ENABLE - rgblight_mode(1); - #endif - } - return false; - break; - } - return true; -} - // Runs just one time when the keyboard initializes. void matrix_init_user(void) { }; - // Runs constantly in the background, in a loop. void matrix_scan_user(void) { -- cgit v1.2.3 From fec3b78d786ab5fe68c639029a38c713478759e7 Mon Sep 17 00:00:00 2001 From: Kenichi Sasaki Date: Sun, 5 Mar 2017 21:49:41 +0900 Subject: fix backspace key position. --- keyboards/ergodox/keymaps/siroken3/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/ergodox/keymaps/siroken3/keymap.c b/keyboards/ergodox/keymaps/siroken3/keymap.c index c86c608449..258f122b48 100644 --- a/keyboards/ergodox/keymaps/siroken3/keymap.c +++ b/keyboards/ergodox/keymaps/siroken3/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | * `----------------------------------' `----------------------------------' * ,-------------. ,---------------. - * | App | LGui | | Alt |Ctrl/Esc| + * | BkSp | LGui | | Alt |Ctrl/Esc| * ,------|------|------| |------+--------+------. * | | | Home | | PgUp | | | * | Space|LANG1 |------| |------|LANG2 |Enter | @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_BSPC, LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, - ALT_T(KC_APP), KC_LGUI, + KC_BSPC, KC_LGUI, KC_HOME, MT(MOD_LGUI, KC_SPC),KC_LANG1,KC_END, // right hand -- cgit v1.2.3 From 224fc8a20fc78927ed90326ca6c07370d33d00d5 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Sun, 9 Apr 2017 20:04:12 +0300 Subject: Add makefile option to break on errors --- Makefile | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 9d9c9629d5..297de0cafb 100644 --- a/Makefile +++ b/Makefile @@ -21,6 +21,8 @@ override SILENT := false ON_ERROR := error_occurred=1 +BREAK_ON_ERRORS = no + STARTING_MAKEFILE := $(firstword $(MAKEFILE_LIST)) ROOT_MAKEFILE := $(lastword $(MAKEFILE_LIST)) ROOT_DIR := $(dir $(ROOT_MAKEFILE)) @@ -462,20 +464,25 @@ endef include $(ROOT_DIR)/message.mk +ifeq ($(strip $(BREAK_ON_ERRORS)), yes) +HANDLE_ERROR = exit 1 +else +HANDLE_ERROR = echo $$error_occurred > $(ERROR_FILE) +endif + # The empty line is important here, as it will force a new shell to be created for each command # Otherwise the command line will become too long with a lot of keyboards and keymaps define RUN_COMMAND +error_occurred=0;\ $(COMMAND_$(SILENT_MODE)_$(COMMAND))\ -if [ $$error_occurred -gt 0 ]; then echo $$error_occurred > $(ERROR_FILE); fi; +if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi; endef define RUN_TEST +error_occurred=0;\ $($(TEST)_COMMAND)\ -if [ $$error_occurred -gt 0 ]; then echo $$error_occurred > $(ERROR_FILE); fi; - +if [ $$error_occurred -gt 0 ]; then $(HANDLE_ERROR); fi; endef # Allow specifying just the subproject, in the keyboard directory, which will compile all keymaps -- cgit v1.2.3 From f39e9928eb7f0c77c366721ff489bd5276dad7e2 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Sun, 9 Apr 2017 20:04:41 +0300 Subject: Enable warnings as errors --- tmk_core/rules.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index e4c8aecb2c..25993354f2 100644 --- a/tmk_core/rules.mk +++ b/tmk_core/rules.mk @@ -92,6 +92,7 @@ endif endif CFLAGS += -Wall CFLAGS += -Wstrict-prototypes +CFLAGS += -Werror #CFLAGS += -mshort-calls #CFLAGS += -fno-unit-at-a-time #CFLAGS += -Wundef @@ -115,6 +116,7 @@ CPPFLAGS += -O$(OPT) CPPFLAGS += -w CPPFLAGS += -Wall CPPFLAGS += -Wundef +CPPFLAGS += -Werror #CPPFLAGS += -mshort-calls #CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -Wstrict-prototypes -- cgit v1.2.3 From a4ef86034c328ed7db9b9f0e2e49c5019d5aabc8 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Sun, 9 Apr 2017 20:08:46 +0300 Subject: Fix undefined eeprom warnings in unicode processing --- quantum/process_keycode/process_unicode.c | 1 + quantum/process_keycode/process_unicode_common.c | 1 + 2 files changed, 2 insertions(+) diff --git a/quantum/process_keycode/process_unicode.c b/quantum/process_keycode/process_unicode.c index 678a15234d..fd008eca12 100644 --- a/quantum/process_keycode/process_unicode.c +++ b/quantum/process_keycode/process_unicode.c @@ -15,6 +15,7 @@ */ #include "process_unicode.h" #include "action_util.h" +#include "eeprom.h" static uint8_t first_flag = 0; diff --git a/quantum/process_keycode/process_unicode_common.c b/quantum/process_keycode/process_unicode_common.c index 1dbdec3e71..84b5d673dd 100644 --- a/quantum/process_keycode/process_unicode_common.c +++ b/quantum/process_keycode/process_unicode_common.c @@ -15,6 +15,7 @@ */ #include "process_unicode_common.h" +#include "eeprom.h" static uint8_t input_mode; uint8_t mods; -- cgit v1.2.3 From 653580477663f527f322650f6d39824cdf6cddc0 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Sun, 9 Apr 2017 21:00:42 +0300 Subject: Disable array bounds warning in keymap_function_id_to_action --- quantum/keymap_common.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index 6cf4f031ff..9dafc8b516 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -179,5 +179,12 @@ uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key) __attribute__ ((weak)) uint16_t keymap_function_id_to_action( uint16_t function_id ) { + // The compiler sees the empty (weak) fn_actions and generates a warning + // This function should not be called in that case, so the warning is too strict + // If this function is called however, the keymap should have overridden fn_actions, and then the compile + // is comparing against the wrong array + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Warray-bounds" return pgm_read_word(&fn_actions[function_id]); + #pragma GCC diagnostic pop } -- cgit v1.2.3 From db6d7207b5f9026f8d265b150cf45778545095ea Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Sun, 9 Apr 2017 21:02:45 +0300 Subject: Fix overflow warnings in dvorak_programmer --- keyboards/ergodox/keymaps/dvorak_programmer/keymap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/ergodox/keymaps/dvorak_programmer/keymap.c b/keyboards/ergodox/keymaps/dvorak_programmer/keymap.c index ae4fd444d1..d299d02c34 100644 --- a/keyboards/ergodox/keymaps/dvorak_programmer/keymap.c +++ b/keyboards/ergodox/keymaps/dvorak_programmer/keymap.c @@ -311,12 +311,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) break; case SWITCH_NDS: if (record->event.pressed) { - return MACRO( D(LSFT), T(F11), U(LSFT), W(500), D(LALT), T(TAB), U(LALT), END); + return MACRO( D(LSFT), T(F11), U(LSFT), W(255), D(LALT), T(TAB), U(LALT), END); } break; case OPEN_CLOSE_PAREN: if (record->event.pressed) { - return MACRO( D(LSFT), T(LPRN), T(RPRN), U(LSFT), T(LEFT), END); + return MACRO( D(LSFT), T(9), T(0), U(LSFT), T(LEFT), END); } break; case OPEN_CLOSE_BRACKET: @@ -326,7 +326,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) break; case OPEN_CLOSE_CURLY: if (record->event.pressed) { - return MACRO( D(LSFT), T(LCBR), T(RCBR), U(LSFT), T(LEFT), END); + return MACRO( D(LSFT), T(LBRC), T(RBRC), U(LSFT), T(LEFT), END); } break; case OPEN_CLOSE_SINGLE_QUOTE: -- cgit v1.2.3 From 12159e782cc6233b82760bf21631be730d42087b Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Sun, 9 Apr 2017 21:05:31 +0300 Subject: Fix overflow warning in ordinary keymap --- keyboards/ergodox/keymaps/ordinary/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/ergodox/keymaps/ordinary/keymap.c b/keyboards/ergodox/keymaps/ordinary/keymap.c index 1dfdf7e624..ac84df5701 100644 --- a/keyboards/ergodox/keymaps/ordinary/keymap.c +++ b/keyboards/ergodox/keymaps/ordinary/keymap.c @@ -392,7 +392,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) case NotEq: if (record->event.pressed) { - return MACRO( I(10), D(LSFT), T(EXLM), U(LSFT), T(EQL), END ); // != + return MACRO( I(10), D(LSFT), T(1), U(LSFT), T(EQL), END ); // != } break; -- cgit v1.2.3 From f7b59427faeaef210227017c8a173f1324fbc795 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Sun, 9 Apr 2017 21:17:32 +0300 Subject: Fix name collision between ChibiOS and keymap_german --- quantum/keymap_extras/keymap_german_ch.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/quantum/keymap_extras/keymap_german_ch.h b/quantum/keymap_extras/keymap_german_ch.h index 8332e00af3..67350d6602 100644 --- a/quantum/keymap_extras/keymap_german_ch.h +++ b/quantum/keymap_extras/keymap_german_ch.h @@ -33,6 +33,10 @@ #define CH_E KC_E #define CH_F KC_F #define CH_G KC_G +#ifdef CH_H +// The ChibiOS ch.h file defines this... +#undef CH_H +#endif #define CH_H KC_H #define CH_I KC_I #define CH_J KC_J -- cgit v1.2.3 From 2d1528c69f13258de9193d9099d196a60f3892d4 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Sun, 9 Apr 2017 22:02:37 +0300 Subject: Fix keymap yoruian on Infinity --- keyboards/ergodox/keymaps/yoruian/keymap.c | 4 ++-- keyboards/ergodox/keymaps/yoruian/yoruian.h | 31 ++++++++++------------------- 2 files changed, 12 insertions(+), 23 deletions(-) diff --git a/keyboards/ergodox/keymaps/yoruian/keymap.c b/keyboards/ergodox/keymaps/yoruian/keymap.c index d3635ddf3f..41dfda3c6d 100644 --- a/keyboards/ergodox/keymaps/yoruian/keymap.c +++ b/keyboards/ergodox/keymaps/yoruian/keymap.c @@ -17,7 +17,7 @@ #include "yoruian.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = KEYMAP\ +[0] = KEYMAP_YORUIAN\ (9, 7, 5, 3, 1, GRV, MINS, EQL, LBRC, 0, 2, 4, 6, 8, ES, RBRC, Y, O, R, BSLS, P3, P3, J, V, D, F, W, Q, LC, U, I, A, N, SCLN, M, H, T, S, C, RC, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { BSPC, RALT, P2, TAB, NO, NO, E, LSFT, NO, NO, ENT, SPC), -[1] = KEYMAP\ +[1] = KEYMAP_YORUIAN\ (TR, TR, TR, TR, TR, TR, TR, TR, TR, F5, F6, F7, F8, F9, TR, TR, TR, TR, TR, TR, TR, TR, TR, F1, F2, F3, F4, FT, TR, TR, TR, TR, TR, TR, PAUS, LEFT, DOWN, UP, RGHT, FE, diff --git a/keyboards/ergodox/keymaps/yoruian/yoruian.h b/keyboards/ergodox/keymaps/yoruian/yoruian.h index 1adcb7fd3f..b3b13073c5 100644 --- a/keyboards/ergodox/keymaps/yoruian/yoruian.h +++ b/keyboards/ergodox/keymaps/yoruian/yoruian.h @@ -18,9 +18,7 @@ #include "debug.h" #include "action_layer.h" -#undef KEYMAP -#define KEYMAP\ -( \ +#define KEYMAP_YORUIAN( \ /* Spacial positions. */ \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \ @@ -30,24 +28,15 @@ k55, k56, k57, k58, \ k54, k59, \ k53, k52, k51, k5C, k5B, k5A) \ - \ - /* Matrix positions. */ \ - { \ - { KC_##k00, KC_##k10, KC_##k20, KC_##k30, KC_##k40, KC_NO }, \ - { KC_##k01, KC_##k11, KC_##k21, KC_##k31, KC_##k41, KC_##k51 }, \ - { KC_##k02, KC_##k12, KC_##k22, KC_##k32, KC_##k42, KC_##k52 }, \ - { KC_##k03, KC_##k13, KC_##k23, KC_##k33, KC_##k43, KC_##k53 }, \ - { KC_##k04, KC_##k14, KC_##k24, KC_##k34, KC_##k44, KC_##k54 }, \ - { KC_##k05, KC_##k15, KC_##k25, KC_##k35, KC_NO, KC_##k55 }, \ - { KC_##k06, KC_##k16, KC_NO, KC_##k36, KC_NO, KC_##k56 }, \ - { KC_##k07, KC_##k17, KC_NO, KC_##k37, KC_NO, KC_##k57 }, \ - { KC_##k08, KC_##k18, KC_##k28, KC_##k38, KC_NO, KC_##k58 }, \ - { KC_##k09, KC_##k19, KC_##k29, KC_##k39, KC_##k49, KC_##k59 }, \ - { KC_##k0A, KC_##k1A, KC_##k2A, KC_##k3A, KC_##k4A, KC_##k5A }, \ - { KC_##k0B, KC_##k1B, KC_##k2B, KC_##k3B, KC_##k4B, KC_##k5B }, \ - { KC_##k0C, KC_##k1C, KC_##k2C, KC_##k3C, KC_##k4C, KC_##k5C }, \ - { KC_##k0D, KC_##k1D, KC_##k2D, KC_##k3D, KC_##k4D, KC_NO } \ - } + KEYMAP( \ + KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k0A, KC_##k0B, KC_##k0C, KC_##k0D, \ + KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k1A, KC_##k1B, KC_##k1C, KC_##k1D, \ + KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k28, KC_##k29, KC_##k2A, KC_##k2B, KC_##k2C, KC_##k2D, \ + KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##k36, KC_##k37, KC_##k38, KC_##k39, KC_##k3A, KC_##k3B, KC_##k3C, KC_##k3D, \ + KC_##k40, KC_##k41, KC_##k42, KC_##k43, KC_##k44, KC_##k49, KC_##k4A, KC_##k4B, KC_##k4C, KC_##k4D, \ + KC_##k55, KC_##k56, KC_##k57, KC_##k58, \ + KC_##k54, KC_##k59, \ + KC_##k53, KC_##k52, KC_##k51, KC_##k5C, KC_##k5B, KC_##k5A) #define KC_ES KC_ESC #define KC_LC KC_LCTL -- cgit v1.2.3 From e950d4e12fb92550b34ab7c2b48d45a11bf88026 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Sun, 9 Apr 2017 22:19:52 +0300 Subject: Fix frosty_flake warning when print is disabled --- keyboards/frosty_flake/matrix.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/keyboards/frosty_flake/matrix.c b/keyboards/frosty_flake/matrix.c index 05dffdb643..cde7f63b95 100644 --- a/keyboards/frosty_flake/matrix.c +++ b/keyboards/frosty_flake/matrix.c @@ -115,6 +115,7 @@ inline matrix_row_t matrix_get_row(uint8_t row) { } void matrix_print(void) { +#ifndef NO_PRINT print("\nr\\c ABCDEFGHIJKLMNOPQR\n"); for (uint8_t row = 0; row < MATRIX_ROWS; row++) { matrix_row_t matrix_row = matrix_get_row(row); @@ -125,6 +126,7 @@ void matrix_print(void) { } print("\n"); } +#endif } uint8_t matrix_key_count(void) { @@ -132,4 +134,4 @@ uint8_t matrix_key_count(void) { for (uint8_t row = 0; row < MATRIX_ROWS; row++) count += bitpop32(matrix[row]); return count; -} \ No newline at end of file +} -- cgit v1.2.3 From 738b8d2b9c458839d23f584843b251b1c8f29880 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Sun, 9 Apr 2017 22:48:35 +0300 Subject: Add SKIP_VERSION option to speed up compilation --- Makefile | 8 + .../handwired/MS-sculpt-mobile/MS-sculpt-mobile.c | 1 - .../handwired/MS-sculpt-mobile/MS-sculpt-mobile.h | 48 --- keyboards/handwired/MS-sculpt-mobile/Makefile | 3 - keyboards/handwired/MS-sculpt-mobile/babblePaste.c | 459 --------------------- keyboards/handwired/MS-sculpt-mobile/babblePaste.h | 238 ----------- .../handwired/MS-sculpt-mobile/babblePaste.txt | 123 ------ keyboards/handwired/MS-sculpt-mobile/config.h | 100 ----- .../MS-sculpt-mobile/keymaps/default/Makefile | 21 - .../MS-sculpt-mobile/keymaps/default/config.h | 8 - .../MS-sculpt-mobile/keymaps/default/keymap.c | 64 --- .../MS-sculpt-mobile/keymaps/default/readme.md | 1 - .../MS-sculpt-mobile/keymaps/milestogo/Makefile | 21 - .../MS-sculpt-mobile/keymaps/milestogo/config.h | 32 -- .../MS-sculpt-mobile/keymaps/milestogo/keymap.c | 272 ------------ .../MS-sculpt-mobile/keymaps/milestogo/readme.md | 1 - keyboards/handwired/MS-sculpt-mobile/readme.md | 58 --- keyboards/handwired/MS-sculpt-mobile/rules.mk | 48 --- .../handwired/MS_sculpt_mobile/MS_sculpt_mobile.c | 1 + .../handwired/MS_sculpt_mobile/MS_sculpt_mobile.h | 48 +++ keyboards/handwired/MS_sculpt_mobile/Makefile | 3 + keyboards/handwired/MS_sculpt_mobile/babblePaste.c | 459 +++++++++++++++++++++ keyboards/handwired/MS_sculpt_mobile/babblePaste.h | 238 +++++++++++ .../handwired/MS_sculpt_mobile/babblePaste.txt | 123 ++++++ keyboards/handwired/MS_sculpt_mobile/config.h | 100 +++++ .../MS_sculpt_mobile/keymaps/default/Makefile | 21 + .../MS_sculpt_mobile/keymaps/default/config.h | 8 + .../MS_sculpt_mobile/keymaps/default/keymap.c | 64 +++ .../MS_sculpt_mobile/keymaps/default/readme.md | 1 + .../MS_sculpt_mobile/keymaps/milestogo/Makefile | 21 + .../MS_sculpt_mobile/keymaps/milestogo/config.h | 32 ++ .../MS_sculpt_mobile/keymaps/milestogo/keymap.c | 272 ++++++++++++ .../MS_sculpt_mobile/keymaps/milestogo/readme.md | 1 + keyboards/handwired/MS_sculpt_mobile/readme.md | 58 +++ keyboards/handwired/MS_sculpt_mobile/rules.mk | 48 +++ 35 files changed, 1506 insertions(+), 1498 deletions(-) delete mode 100644 keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.c delete mode 100644 keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.h delete mode 100644 keyboards/handwired/MS-sculpt-mobile/Makefile delete mode 100644 keyboards/handwired/MS-sculpt-mobile/babblePaste.c delete mode 100644 keyboards/handwired/MS-sculpt-mobile/babblePaste.h delete mode 100644 keyboards/handwired/MS-sculpt-mobile/babblePaste.txt delete mode 100644 keyboards/handwired/MS-sculpt-mobile/config.h delete mode 100644 keyboards/handwired/MS-sculpt-mobile/keymaps/default/Makefile delete mode 100644 keyboards/handwired/MS-sculpt-mobile/keymaps/default/config.h delete mode 100644 keyboards/handwired/MS-sculpt-mobile/keymaps/default/keymap.c delete mode 100644 keyboards/handwired/MS-sculpt-mobile/keymaps/default/readme.md delete mode 100644 keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/Makefile delete mode 100644 keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/config.h delete mode 100644 keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/keymap.c delete mode 100644 keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/readme.md delete mode 100644 keyboards/handwired/MS-sculpt-mobile/readme.md delete mode 100644 keyboards/handwired/MS-sculpt-mobile/rules.mk create mode 100644 keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.c create mode 100644 keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.h create mode 100644 keyboards/handwired/MS_sculpt_mobile/Makefile create mode 100644 keyboards/handwired/MS_sculpt_mobile/babblePaste.c create mode 100644 keyboards/handwired/MS_sculpt_mobile/babblePaste.h create mode 100644 keyboards/handwired/MS_sculpt_mobile/babblePaste.txt create mode 100644 keyboards/handwired/MS_sculpt_mobile/config.h create mode 100644 keyboards/handwired/MS_sculpt_mobile/keymaps/default/Makefile create mode 100644 keyboards/handwired/MS_sculpt_mobile/keymaps/default/config.h create mode 100644 keyboards/handwired/MS_sculpt_mobile/keymaps/default/keymap.c create mode 100644 keyboards/handwired/MS_sculpt_mobile/keymaps/default/readme.md create mode 100644 keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/Makefile create mode 100644 keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/config.h create mode 100644 keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/keymap.c create mode 100644 keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/readme.md create mode 100644 keyboards/handwired/MS_sculpt_mobile/readme.md create mode 100644 keyboards/handwired/MS_sculpt_mobile/rules.mk diff --git a/Makefile b/Makefile index 297de0cafb..6a93692bf6 100644 --- a/Makefile +++ b/Makefile @@ -534,14 +534,22 @@ test: test-all .PHONY: test-clean test-clean: test-all-clean +ifdef SKIP_VERSION +SKIP_GIT := yes +endif + # Generate the version.h file ifndef SKIP_GIT GIT_VERSION := $(shell git describe --abbrev=6 --dirty --always --tags 2>/dev/null || date +"%Y-%m-%d-%H:%M:%S") else GIT_VERSION := NA endif +ifndef SKIP_VERSION BUILD_DATE := $(shell date +"%Y-%m-%d-%H:%M:%S") $(shell echo '#define QMK_VERSION "$(GIT_VERSION)"' > $(ROOT_DIR)/quantum/version.h) $(shell echo '#define QMK_BUILDDATE "$(BUILD_DATE)"' >> $(ROOT_DIR)/quantum/version.h) +else +BUILD_DATE := NA +endif include $(ROOT_DIR)/testlist.mk diff --git a/keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.c b/keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.c deleted file mode 100644 index 4c735a6c29..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.c +++ /dev/null @@ -1 +0,0 @@ -#include "MS-sculpt-mobile.h" diff --git a/keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.h b/keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.h deleted file mode 100644 index 1583dea6e8..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/MS-sculpt-mobile.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef MICROSOFT_SCULPT_MOBILE_H -#define MICROSOFT_SCULPT_MOBILE_H - -#include "quantum.h" - - -#define KEYMAP( \ - k7Q, k6O, k6P, k6Q, k5O, k5P, k5Q, k7A, k7B, k7C, k7D, k7E, k7F, k1O, k1K, k1L, \ - k5A, k5K, k5L, k5M, k5N, k5H, k5I, k2A, k2B, k2C, k2D, k5B, k5C, k5J, k2E, \ - k6R, k6D, k6E, k6F, k7I, k7J, k4A, k4B, k4C, k4D, k3A, k3B, k3C, k3D, \ - k0J, k6A, k6B, k6C, k7H, k1A, k1B, k5D, k5E, k5F, k5G, k1C, k7P, k2G, \ - k2P, k7K, k7L, k7M, k7O, k0A, k0B, k0C, k0D, k0E, k0F, k2L, k6G, k1P,\ - k1Q, k4N, k3O,k6N, k3K, k0R, k1M, k6H, k6I, k6J \ -) \ -{ \ - {k0A, k0B, k0C, k0D, k0E, k0F, KC_NO, KC_NO, KC_NO, k0J, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,KC_NO, KC_NO, k0R},\ - {k1A, k1B, k1C, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k1K, k1L, k1M, KC_NO, k1O, k1P, k1Q, KC_NO},\ - {k2A, k2B, k2C, k2D, k2E, KC_NO, k2G, KC_NO, KC_NO, KC_NO, KC_NO, k2L, KC_NO, KC_NO, KC_NO, k2P, KC_NO, KC_NO},\ - {k3A, k3B, k3C, k3D, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k3K, KC_NO, KC_NO, KC_NO, k3O, KC_NO, KC_NO, KC_NO},\ - {k4A, k4B, k4C, k4D, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k4N, KC_NO,KC_NO, KC_NO, KC_NO},\ - {k5A, k5B, k5C, k5D, k5E, k5F, k5G, k5H, k5I, k5J, k5K, k5L, k5M, k5N, k5O, k5P, k5Q, KC_NO },\ - {k6A, k6B, k6C, k6D, k6E, k6F, k6G, k6H, k6I, k6J, KC_NO, KC_NO, KC_NO, k6N, k6O, k6P, k6Q, k6R},\ - {k7A, k7B, k7C, k7D, k7E, k7F, KC_NO, k7H, k7I, k7J, k7K, k7L, k7M, KC_NO, k7O, k7P, k7Q, KC_NO},\ -} - - -#define MATRIX_TESTING_KEYMAP( \ - k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, k0I, k0, k0J, k0K, k0L, k0M, k0N, k0O, k0P, k0Q,\ - k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, k1, k1J, k1K, k1L, k1M, k1N, k1O, k1P, k1Q,\ - k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, k2, k2J, k2K, k2L, k2M, k2N, k2O, k2P, k2Q,\ - k3A, k3B, k3C, k3D, k3E, k3F, k3G, k3H, k3I, k3, k3J, k3K, k3L, k3M, k3N, k3O, k3P, k3Q,\ - k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, k4I, k4, k4J, k4K, k4L, k4M, k4N, k4O, k4P, k4Q,\ - k5A, k5B, k5C, k5D, k5E, k5F, k5G, k5H, k5I, k5, k5J, k5K, k5L, k5M, k5N, k5O, k5P, k5Q,\ - k6A, k6B, k6C, k6D, k6E, k6F, k6G, k6H, k6I, k6, k6J, k6K, k6L, k6M, k6N, k6O, k6P, k6Q,\ - k7A, k7B, k7C, k7D, k7E, k7F, k7G, k7H, k7I, k7, k7J, k7K, k7L, k7M, k7N, k7O, k7P, k7Q\ -) \ -{ \ - {k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, k0I, k0, k0J, k0K, k0L, k0M, k0N, k0O, k0P, k0Q},\ - {k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, k1, k1J, k1K, k1L, k1M, k1N, k1O, k1P, k1Q},\ - {k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, k2, k2J, k2K, k2L, k2M, k2N, k2O, k2P, k2Q},\ - {k3A, k3B, k3C, k3D, k3E, k3F, k3G, k3H, k3I, k3, k3J, k3K, k3L, k3M, k3N, k3O, k3P, k3Q},\ - {k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, k4I, k4, k4J, k4K, k4L, k4M, k4N, k4O, k4P, k4Q},\ - {k5A, k5B, k5C, k5D, k5E, k5F, k5G, k5H, k5I, k5, k5J, k5K, k5L, k5M, k5N, k5O, k5P, k5Q},\ - {k6A, k6B, k6C, k6D, k6E, k6F, k6G, k6H, k6I, k6, k6J, k6K, k6L, k6M, k6N, k6O, k6P, k6Q},\ - {k7A, k7B, k7C, k7D, k7E, k7F, k7G, k7H, k7I, k7, k7J, k7K, k7L, k7M, k7N, k7O, k7P, k7Q},\ -} - -#endif diff --git a/keyboards/handwired/MS-sculpt-mobile/Makefile b/keyboards/handwired/MS-sculpt-mobile/Makefile deleted file mode 100644 index bd09e5885d..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifndef MAKEFILE_INCLUDED - include ../../../Makefile -endif diff --git a/keyboards/handwired/MS-sculpt-mobile/babblePaste.c b/keyboards/handwired/MS-sculpt-mobile/babblePaste.c deleted file mode 100644 index 3a9b86997d..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/babblePaste.c +++ /dev/null @@ -1,459 +0,0 @@ -/* A library to output the right key shortcut in any common app. -Given a global variable babble_mode to show the environment and a -key that calls the paste macro, do the right type of paste. -Setting the context is done by another macro, or TBD interaction with the host. - -Huge thanks to https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts -and https://github.com/qmk/qmk_firmware/blob/master/keyboards/planck/keymaps/jeebak/keymap.c -*/ - -#include "babblePaste.h" -#include "action_macro.h" - -#ifdef USE_BABLPASTE - -// GLOBAL variable to determine mode. Sets startup default if no eeppom -uint8_t babble_mode =0 ; - -// small function that we might also want to call from a keymap. - -macro_t* switch_babble_mode( uint8_t id) { - babble_mode= id; - return MACRO_NONE; //less typing where called -} - - -// Today I learned that the preprocessor can not create a switch statement label from an argument -// And else statements have problems, see https://gcc.gnu.org/onlinedocs/gcc-3.0.1/cpp_3.html#SEC15 -#define BABLM(ent, macro...) \ - if ( ent == shortcut ) \ - { action_macro_play( MACRO(macro)); return MACRO_NONE; } - - -/* this function runs the appropriate babblepaste macro, given -the global babble_mode, and a shortcut from the ENUM in babblePaste.h -TODO, the pointers in this function should be stored in a PROGMEM array, not ram. -But that requires even more clever preprocessor foo. -*/ -const macro_t *babblePaste (keyrecord_t *record, uint8_t shortcut) { -/* - if ( shortcut < BABL_START_NUM || \ - shortcut >= (BABL_START_NUM + BABL_NUM_MACROS ) ) { - return MACRO_NONE; - } -*/ - - -#ifdef MS_MODE - if ( BABL_WINDOWS == shortcut ) { return switch_babble_mode(MS_MODE); } -#endif -#ifdef MAC_MODE - if ( BABL_MAC == shortcut) { return switch_babble_mode(MAC_MODE); } -#endif -#ifdef LINUX_MODE - if ( BABL_LINUX == shortcut ) { return switch_babble_mode(LINUX_MODE); } -#endif - #ifdef READMUX_MODE - if ( BABL_READLINE == shortcut ) { switch_babble_mode(READMUX_MODE); return MACRO_NONE; } -#endif -#ifdef VI_MODE - if ( BABL_VI == shortcut ) { return switch_babble_mode(VI_MODE); } -#endif -#ifdef EMACS_MODE - if ( BABL_EMACS == shortcut ) { return switch_babble_mode(EMACS_MODE); } -#endif - - - - switch(babble_mode) { - -#ifdef MS_MODE - - case MS_MODE: - BABLM( BABL_GO_LEFT_1C, T(LEFT), END ); - BABLM( BABL_GO_RIGHT_1C , T(RIGHT), END ); - BABLM( BABL_GO_LEFT_WORD, D(LCTL), T(LEFT), U(LCTL), END ); - BABLM( BABL_GO_RIGHT_WORD, D(LCTL), T(RIGHT), U(LCTL), END ); - BABLM( BABL_GO_START_LINE, T(HOME), END ); - BABLM( BABL_GO_END_LINE, T(END), END ); - BABLM( BABL_GO_START_DOC, D(LCTL),T(HOME), U(LCTL),END ); - BABLM( BABL_GO_END_DOC, D(LCTL),T(END), U(LCTL),END ); - BABLM( BABL_GO_NEXT_LINE, T(DOWN), END ); - BABLM( BABL_GO_PREV_LINE, T(UP), END ); - BABLM( BABL_PGDN, T(PGDN), END ); - BABLM( BABL_PGUP, T(PGUP), END ); - BABLM( BABL_DEL_RIGHT_1C, T(DEL), END ); - BABLM( BABL_DEL_LEFT_WORD, D(LCTL), T(BSPACE), U(LCTL), END ); - BABLM( BABL_DEL_RIGHT_WORD, D(LCTL), T(DEL), U(LCTL), END ); - BABLM( BABL_DEL_TO_LINE_END, D(RSFT), T(HOME), U(RSFT), T(DEL), END); - BABLM( BABL_DEL_TO_LINE_START, D(RSFT), T(END), U(RSFT), T(DEL), END ); -#ifndef BABL_MOVEMENTONLY - BABLM( BABL_UNDO, D(LCTL), T(Z), U(LCTL), END ); - BABLM( BABL_REDO, D(LCTL), T(Y), U(LCTL), END ); - BABLM( BABL_CUT, D(LCTL), T(X), U(LCTL), END ); - BABLM( BABL_COPY, D(LCTL), T(C), U(LCTL), END ); - BABLM( BABL_PASTE, D(LCTL), T(V), U(LCTL), END ); - BABLM( BABL_SELECT_ALL, D(LCTL), T(A), U(LCTL), END ); - BABLM( BABL_FIND, D(LCTL),T(F), U(LCTL),END ); - BABLM( BABL_FIND_NEXT, T(F3),END ); - BABLM( BABL_FIND_REPLACE, D(LCTL),T(H), U(LCTL),END ); - BABLM( BABL_RUNAPP, D(LGUI),T(R), U(LGUI),END ); - BABLM( BABL_SWITCH_APP_NEXT, D(LALT),T(TAB), U(LALT),END ); - BABLM( BABL_SWITCH_APP_LAST, D(LSFT),D(LALT),T(TAB), U(LALT), U(LSFT),END ); - BABLM( BABL_CLOSE_APP, D(LALT),T(F4), U(LALT),END ); - BABLM( BABL_HELP, T(F1),END ); -#ifndef BABL_NOBROWSER - BABLM( BABL_BROWSER_NEW_TAB, D(LCTL), T(T), U(LCTL),END ); - BABLM( BABL_BROWSER_CLOSE_TAB, D(LCTL), T(W), U(LCTL),END ); - BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LCTL), D(RSFT),T(T), U(RSFT),U(LCTL),END ); - BABLM( BABL_BROWSER_NEXT_TAB, D(LCTL), T(TAB), U(LCTL),END ); - BABLM( BABL_BROWSER_PREV_TAB, D(LCTL), D(RSFT), T(TAB), U(RSFT), U(LCTL),END ); - BABLM( BABL_BROWSER_URL_BAR, D(LCTL), T(L), U(LCTL),END ); - BABLM( BABL_BROWSER_FORWARD, D(LALT), T(RIGHT), U(LALT),END ); - BABLM( BABL_BROWSER_BACK, D(LALT), T(LEFT), U(LALT),END ); - BABLM( BABL_BROWSER_FIND, D(LCTL), T(F), U(LCTL),END ); - BABLM( BABL_BROWSER_BOOKMARK, D(LCTL), T(D), U(LCTL),END ); - //BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LCTL),END ); // EDGE - BABLM( BABL_BROWSER_DEV_TOOLS, D(LCTL), T(T), U(LCTL),END ); // Chrome - // Chrome - BABLM( BABL_BROWSER_RELOAD, D(LCTL), T(F5), U(LCTL),END ); // hard reload w/o cache - BABLM( BABL_BROWSER_FULLSCREEN, T(F11),END ); //command shift F - BABLM( BABL_BROWSER_ZOOM_IN, D(LCTL), D(RSFT), T(EQL), U(RSFT), U(LCTL),END ); // ctr+ + - BABLM( BABL_BROWSER_ZOOM_OUT, D(LCTL), T(MINS), U(LCTL),END ); -#endif -#endif - - // Todo, ring bell, flash light, show user this isn't supported - return MACRO_NONE; - - -#endif /* MS_MODE*/ - - -#ifdef LINUX_MODE - - case LINUX_MODE: - BABLM( BABL_GO_LEFT_1C , T(LEFT), END ); - BABLM( BABL_GO_RIGHT_1C , T(RIGHT), END ); - BABLM( BABL_GO_LEFT_WORD , D(LCTL), T(LEFT), U(LCTL), END ); - BABLM( BABL_GO_RIGHT_WORD , D(LCTL), T(RIGHT), U(LCTL), END ); - BABLM( BABL_GO_START_LINE , T(HOME), END ); - BABLM( BABL_GO_END_LINE , T(END), END ); - BABLM( BABL_GO_START_DOC , D(LCTL),T(HOME), U(LCTL),END ); - BABLM( BABL_GO_END_DOC , D(LCTL),T(END), U(LCTL),END ); - BABLM( BABL_GO_NEXT_LINE , T(DOWN), END ); - BABLM( BABL_GO_PREV_LINE , T(UP), END ); - BABLM( BABL_PGDN , T(PGDN), END ); - BABLM( BABL_PGUP , T(PGUP), END ); - BABLM( BABL_DEL_RIGHT_1C , D(DEL), END ); - BABLM( BABL_DEL_LEFT_WORD , D(LCTL), T(BSPACE), U(LCTL), END ); - BABLM( BABL_DEL_RIGHT_WORD , D(LCTL), T(DEL), U(LCTL), END ); - BABLM( BABL_DEL_TO_LINE_END, D(RSFT), T(HOME), U(RSFT), T(DEL), END); - BABLM( BABL_DEL_TO_LINE_START, D(RSFT), T(END), U(RSFT), T(DEL), END ); -#ifndef BABL_MOVEMENTONLY - BABLM( BABL_UNDO , D(LCTL), T(Z), U(LCTL), END ); - BABLM( BABL_REDO , D(LCTL), T(Y), U(LCTL), END ); - BABLM( BABL_CUT , D(LCTL), T(X), U(LCTL), END ); - BABLM( BABL_COPY , D(LCTL), T(C), U(LCTL), END ); - BABLM( BABL_PASTE , D(LCTL), T(V), U(LCTL), END ); - BABLM( BABL_SELECT_ALL, D(LCTL), T(A), U(LCTL), END ); - BABLM( BABL_FIND, D(LCTL),T(F), U(LCTL),END ); - /* BABLM(BABL_FIND_NEXT , T(F3),END ); KDE */ - BABLM( BABL_FIND_NEXT, D(LCTL),T(G), U(LCTL),END ); // Gnome*/ - /* BABLM( , D(LCTL),T(R), U(LCTL),END ); KDE */ - BABLM( BABL_FIND_REPLACE, D(LCTL),T(H), U(LCTL),END ); // Gnome*/ - BABLM( BABL_RUNAPP, D(LALT),T(F2), U(LALT),END ); - BABLM( BABL_SWITCH_APP_NEXT, D(LCTL),T(TAB), U(LCTL),END ); - BABLM( BABL_SWITCH_APP_LAST, D(LSFT),D(LCTL),T(TAB), U(LCTL), U(LSFT),END ); - BABLM( BABL_CLOSE_APP, D(LALT),T(F4), U(LALT),END ); - //BABLM( BABL_HELP, END ); - -#ifndef BABL_NOBROWSER - BABLM( BABL_BROWSER_NEW_TAB, D(LCTL), T(T), U(LCTL),END ); - BABLM( BABL_BROWSER_CLOSE_TAB, D(LCTL), T(W), U(LCTL),END ); - BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LCTL), D(RSFT),T(T), U(RSFT),U(LCTL),END ); - BABLM( BABL_BROWSER_NEXT_TAB, D(LCTL), T(TAB), U(LCTL),END ); - BABLM( BABL_BROWSER_PREV_TAB, D(LCTL), D(RSFT), T(TAB), U(RSFT), U(LCTL),END ); - BABLM( BABL_BROWSER_URL_BAR, D(LCTL), T(L), U(LCTL),END ); - BABLM( BABL_BROWSER_FORWARD, D(LALT), T(RIGHT), U(LALT),END ); - BABLM( BABL_BROWSER_BACK, D(LALT), T(LEFT), U(LALT),END ); - BABLM( BABL_BROWSER_FIND, D(LCTL), T(F), U(LCTL),END ); - BABLM( BABL_BROWSER_BOOKMARK, D(LCTL), T(D), U(LCTL),END ); - BABLM( BABL_BROWSER_DEV_TOOLS, D(LCTL), T(T), U(LCTL),END ); // Chrome - BABLM( BABL_BROWSER_RELOAD, D(LCTL), T(F5), U(LCTL),END ); // hard reload w/o cache - BABLM( BABL_BROWSER_FULLSCREEN, T(F11),END ); //command shift F - BABLM( BABL_BROWSER_ZOOM_IN, D(LCTL), T(PLUS), U(LCTL),END ); - BABLM( BABL_BROWSER_ZOOM_OUT, D(LCTL), T(MINS), U(LCTL),END ); -#endif -#endif - return MACRO_NONE; - -#endif - -#ifdef MAC_MODE - - case MAC_MODE: - BABLM( BABL_GO_LEFT_1C , T(LEFT), END ); - BABLM( BABL_GO_RIGHT_1C, T(RIGHT), END ); - BABLM( BABL_GO_LEFT_WORD , D(LALT), T(LEFT), U(LALT), END ); - BABLM( BABL_GO_RIGHT_WORD , D(LALT), T(RIGHT), U(LALT), END ); - BABLM( BABL_GO_START_LINE , D(LGUI), T(LEFT), U(LGUI), END ); - BABLM( BABL_GO_END_LINE , D(LGUI), T(RIGHT), U(LGUI), END ); - BABLM( BABL_GO_START_DOC , D(LGUI),T(UP), U(LGUI),END ); - BABLM( BABL_GO_END_DOC , D(LGUI),T(DOWN), U(LGUI),END ); - BABLM( BABL_GO_NEXT_LINE , T(DOWN), END ); - BABLM( BABL_GO_PREV_LINE , T(UP), END ); - BABLM( BABL_PGDN , D(LALT),T(DOWN), U(LALT), END ); - BABLM( BABL_PGUP , D(LALT),T(UP), U(LALT), END ); - BABLM( BABL_DEL_RIGHT_1C , D(DEL), END ); - BABLM( BABL_DEL_LEFT_WORD , D(LALT), T(BSPACE), U(LALT), END ); - BABLM( BABL_DEL_RIGHT_WORD, D(LALT), T(DEL), U(LALT), END ); - BABLM( BABL_DEL_TO_LINE_END, D(LCTL), T(K), U(LCTL), END );// there must be another way - BABLM( BABL_DEL_TO_LINE_START, D(LGUI), T(BSPACE), U(LGUI), END ); -#ifndef BABL_MOVEMENTONLY - BABLM( BABL_UNDO , D(1), D(LGUI), T(Z), U(LGUI), END ); - BABLM( BABL_REDO , D(LSFT),D(LGUI), T(Z), U(LSFT),U(LGUI), END ); - BABLM( BABL_CUT , D(LGUI), T(X), U(LGUI), END ); - BABLM( BABL_COPY , D(LGUI), T(C), U(LGUI), END ); - BABLM( BABL_PASTE , D(LGUI), T(V), U(LGUI), END ); - BABLM( BABL_SELECT_ALL , D(LGUI), T(A), U(LGUI), END ); - BABLM( BABL_FIND , D(LGUI),T(F), U(LGUI),END ); - BABLM( BABL_FIND_NEXT, D(LGUI),T(G), U(LGUI),END ); - BABLM( BABL_FIND_REPLACE, D(LGUI),T(F), U(LGUI),END ); - BABLM( BABL_RUNAPP , D(LGUI),T(R), U(LGUI),END ); - BABLM( BABL_SWITCH_APP_NEXT , D(LGUI),T(TAB), U(LGUI),END ); - BABLM( BABL_SWITCH_APP_LAST , D(LSFT),D(LGUI),T(TAB), U(LGUI), U(LSFT),END ); - BABLM( BABL_CLOSE_APP , D(LGUI),T(Q), U(LGUI),END ); - BABLM( BABL_HELP , D(LSFT),D(LGUI),T(SLASH), U(LGUI), U(LSFT),END ); - -#ifndef BABL_NOBROWSER - BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END ); - BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END ); - BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END ); - BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END ); - BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END ); - BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END ); - BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END ); - BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END ); - BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END ); - BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END ); - //BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE - BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome - // Chrome - BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache - BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F - BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), D(RSFT), T(EQL), U(RSFT), U(LGUI),END ); // ctr+ + - BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END ); -#endif -#endif - - return MACRO_NONE; -#endif - -#ifdef EMACS_MODE - - case EMACS_MODE: - switch(shortcut) { -//probably should allow meta to not be ALT - - BABLM( BABL_GO_LEFT_1C, T(LEFT), END ); - BABLM( BABL_GO_RIGHT_1C, T(RIGHT), END ); - BABLM( BABL_GO_LEFT_WORD, D(LALT), T(B), U(LALT), END ); - BABLM( BABL_GO_RIGHT_WORD , D(LALT), T(F), U(LALT), END ); - BABLM( BABL_GO_START_LINE , D(LCTL), T(A), U(LCTL), END ); - BABLM( BABL_GO_END_LINE , D(LCTL), T(E), U(LCTL), END ); - BABLM( BABL_GO_START_DOC , D(LALT), D(LSFT), T(COMM),U(LSFT), U(LALT) ,END ); - BABLM( BABL_GO_END_DOC , D(LALT), D(LSFT), T(DOT), U(LSFT), U(LALT) ,END ); - BABLM( BABL_GO_NEXT_LINE , D(LCTL), T(N), U(LCTL), END ); - BABLM( BABL_GO_PREV_LINE , D(LCTL), T(P), U(LCTL), END ); - BABLM( BABL_PGDN , D(LCTL), T(V), U(LCTL), END ); - BABLM( BABL_PGUP , D(LALT), T(V), U(LALT), END ); - BABLM( BABL_DEL_RIGHT_1C, D(LCTL), T(D), U(LCTL),END ); - BABLM( BABL_DEL_LEFT_WORD , D(LCTL), T(BSPACE), U(LCTL), END ); - BABLM( BABL_DEL_RIGHT_WORD , D(LALT), T(D), U(LALT), END ); - BABLM( BABL_DEL_TO_LINE_END, D(LCTL), T(K), U(LCTL), END ); - BABLM( BABL_DEL_TO_LINE_START, T(ESC), T(0), D(LCTL), T(K), U(LCTL), END ); -#ifndef BABL_MOVEMENTONLY - BABLM( BABL_UNDO , D(LCTL), T(X), U(LCTL),T(C), END ); - BABLM( BABL_REDO , D(LCTL), T(X), U(LCTL),T(C), END ); // arguably - BABLM( BABL_CUT , D(LCTL), T(W), U(LCTL), END ); - BABLM( BABL_COPY , D(LALT), T(W), U(LALT), END ); //really? - BABLM( BABL_PASTE , D(LCTL), T(Y), U(LCTL), END ); - BABLM( BABL_SELECT_ALL ,D(LCTL), T(X), U(LCTL),T(H), END ); - BABLM( BABL_FIND , D(LCTL), T(S), U(LCTL),END ); - BABLM( BABL_FIND_NEXT , D(LCTL), T(S), U(LCTL),END ); - BABLM( BABL_FIND_REPLACE , D(LALT),D(LSFT), T(5),U(LSFT), U(LALT), END ); - BABLM( BABL_RUNAPP , D(LALT), T(X), U(LALT),T(S),T(H),T(E),T(L),T(L),END );// arguably - BABLM( BABL_SWITCH_APP_NEXT , D(LCTL), T(X), U(LCTL),T(RIGHT), END ); // arguably - BABLM( BABL_SWITCH_APP_LAST , D(LCTL), T(X), U(LCTL),T(LEFT), END ); // arguably - BABLM( BABL_CLOSE_APP , D(LCTL), T(X), U(LCTL),T(C),END ); - BABLM( BABL_HELP , D(LCTL),T(H), U(LCTL),T(A),END); // start search in help -#ifndef BABL_NOBROWSER -/* you get to figure w3 out - BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END ); - BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END ); - BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END ); - BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END ); - BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END ); - BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END ); - BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END ); - BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END ); - BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END ); - BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END ); - //BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE - BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome - // Chrome - BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache - BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F - BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), D(RSFT), T(EQL), U(RSFT), U(LGUI),END ); // ctr+ + - BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END ); -*/ -#endif -#endif - break; - - return MACRO_NONE; - } - -#endif - - -#ifdef VI_MODE - case VI_MODE: -// you have to track the modes yourself. Otherwise motion is awful (bell, bell, bell) - - - BABLM( BABL_GO_LEFT_1C , T(H), END ); - BABLM( BABL_GO_RIGHT_1C , T(L), END ); - BABLM( BABL_GO_LEFT_WORD , T(B),END ); - BABLM( BABL_GO_RIGHT_WORD , T(W), END ); - BABLM( BABL_GO_START_LINE , D(LSFT), T(6),U(LSFT), END ); //^ - BABLM( BABL_GO_END_LINE , D(LSFT), T(4),U(LSFT) , END ); //$ - BABLM( BABL_GO_START_DOC , T(G),T(G) ,END ); - BABLM( BABL_GO_END_DOC , D(LSFT), T(G),U(LSFT),END ); - BABLM( BABL_GO_NEXT_LINE , T(J), END ); - BABLM( BABL_GO_PREV_LINE, T(K), END ); - BABLM( BABL_PGDN ,D(LCTL), T(F), U(LCTL), END ); - BABLM( BABL_PGUP , D(LCTL), T(B), U(LCTL), END ); - BABLM( BABL_DEL_RIGHT_1C , T(X),END ); - BABLM( BABL_DEL_LEFT_WORD , T(D),T(G),T(E),END ); - BABLM( BABL_DEL_RIGHT_WORD , T(D),T(W),END ); - BABLM( BABL_DEL_TO_LINE_END, T(D),D(LSFT), T(4),U(LSFT) ,END ); // d$ - BABLM( BABL_DEL_TO_LINE_START, T(D),D(LSFT), T(6),U(LSFT) ,END ); -#ifndef BABL_MOVEMENTONLY - BABLM( BABL_UNDO , T(U), END ); - BABLM( BABL_REDO , D(LCTL), T(R), U(LCTL), END ); - BABLM( BABL_CUT , T(X), END ); - BABLM( BABL_COPY , T(Y),END ); - BABLM( BABL_PASTE , T(P), END ); - BABLM( BABL_SELECT_ALL , D(LSFT), T(SCLN),U(LSFT),D(LSFT), T(5),U(LSFT),T(Y), END ); // wrong but helpful? - BABLM( BABL_FIND , T(SLASH),END ); - BABLM( BABL_FIND_NEXT , T(N),END ); - BABLM( BABL_FIND_REPLACE , D(LALT),D(LSFT), T(5),U(LSFT), U(LALT), END ); - BABLM( BABL_RUNAPP,END ); - BABLM( BABL_SWITCH_APP_NEXT ,END ); - BABLM( BABL_SWITCH_APP_LAST ,END ); - BABLM(BABL_CLOSE_APP, D(LSFT), T(SCLN),U(LSFT), T(Q), D(RSFT), T(1),U(RSFT), END ); - BABLM(BABL_HELP, D(LSFT), T(SCLN),U(LSFT),T(H),END); // start search in help -#ifndef BABL_NOBROWSER -/* you get to figure this out - BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END ); - BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END ); - BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END ); - BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END ); - BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END ); - BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END ); - BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END ); - BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END ); - BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END ); - BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END ); - //BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE - BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome - // Chrome - BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache - BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F - BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), T(PLUS), U(LGUI),END ); - BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END ); -*/ -#endif -#endif - return MACRO_NONE; -#endif - - - - -#ifdef READMUX_MODE -// Readline command line editing + tmux windowing -// I havent decided how much to do readline and how much tmux - - - case READMUX_MODE: - - BABLM( BABL_GO_LEFT_1C , T(LEFT), END ); - BABLM( BABL_GO_RIGHT_1C , T(RIGHT), END ); - BABLM( BABL_GO_LEFT_WORD , D(LALT), T(B), U(LALT), END ); - BABLM( BABL_GO_RIGHT_WORD , D(LALT), T(F), U(LALT), END ); - BABLM( BABL_GO_START_LINE , D(LCTL), T(A), U(LCTL), END ); - BABLM( BABL_GO_END_LINE , D(LCTL), T(E), U(LCTL), END ); - //BABLM( BABL_GO_START_DOC ,END );// tmux? - //BABLM( BABL_GO_END_DOC ,END ); // tmux? - BABLM( BABL_GO_NEXT_LINE , D(LCTL), T(N), U(LCTL), END ); - BABLM( BABL_GO_PREV_LINE , D(LCTL), T(P), U(LCTL), END ); - BABLM( BABL_PGDN , T(PGDN), END ); - BABLM( BABL_PGUP , T(PGUP), END ); - BABLM( BABL_DEL_RIGHT_1C , D(LCTL), T(D), U(LCTL),END ); - BABLM( BABL_DEL_LEFT_WORD , D(LCTL), T(W), U(LCTL), END ); - BABLM( BABL_DEL_RIGHT_WORD , D(LALT), T(D), U(LALT), END ); - BABLM( BABL_DEL_TO_LINE_END, D(LCTL), T(K), U(LCTL), END ); - BABLM( BABL_DEL_TO_LINE_START, D(LCTL), T(U), U(LCTL), END ); -#ifndef BABL_MOVEMENTONLY - BABLM( BABL_UNDO , D(LALT), T(R), U(LALT) , END ); - BABLM( BABL_REDO , D(LCTL), T(X), U(LCTL),T(C), END ); // arguably - BABLM( BABL_CUT , D(LCTL), T(K), U(LCTL), END ); // wrong half the time - //BABLM( BABL_COPY ,END ); - BABLM( BABL_PASTE , D(LCTL), T(Y), U(LCTL), END ); - BABLM( BABL_SELECT_ALL , D(LCTL), T(A), T(K), T(Y), U(LCTL) , END ); - BABLM( BABL_FIND , D(LCTL), T(R), U(LCTL), END ); // search history - BABLM(BABL_FIND_NEXT, D(LCTL), T(S), U(LCTL), END ); - //BABLM( BABL_FIND_REPLACE ,END ); - BABLM( BABL_RUNAPP , D(LCTL), T(B), U(LCTL), T(C),END ); //tmux - BABLM( BABL_SWITCH_APP_NEXT , D(LCTL), T(B), U(LCTL), T(N),END ); //tmux - BABLM( BABL_SWITCH_APP_LAST , D(LCTL), T(B), U(LCTL), T(P),END ); //tmux - BABLM( BABL_CLOSE_APP , D(LCTL), T(B), U(LCTL), T(D),END); // usually what I want - // BABLM( BABL_HELP ,END ); -#ifndef BABL_NOBROWSER -/* Add lynx shortcuts? - BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END ); - BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END ); - BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END ); - BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END ); - BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END ); - BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END ); - BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END ); - BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END ); - BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END ); - BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END ); - //BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE - BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome - // Chrome - BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache - BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F - BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), T(PLUS), U(LGUI),END ); - BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END ); -*/ -#endif -#endif - - return MACRO_NONE; - -#endif - - default: - return MACRO_NONE; - } - -} - - -#endif \ No newline at end of file diff --git a/keyboards/handwired/MS-sculpt-mobile/babblePaste.h b/keyboards/handwired/MS-sculpt-mobile/babblePaste.h deleted file mode 100644 index 3067c854de..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/babblePaste.h +++ /dev/null @@ -1,238 +0,0 @@ -/* A library to output the right key shortcut in any common app. -Given a global variable babble_mode to show the environment and a -key that calls the paste macro, do the right type of paste. - -Setting the bable_mode is done by another macro, or TBD interaction with the host. - -Huge thanks to https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts -and jeebak & algernon's keymap -*/ -#ifndef _babblePaste_h_included__ -#define _babblePaste_h_included__ -#include "action_layer.h" -#include "quantum_keycodes.h" -#include "config.h" - -#ifdef USE_BABLPASTE - -/* *************************** - -// Uncomment any modes you want. Whatever mode = 0 will be the default on boot -// Expect to get errors if you comment a feature out and leave it in your keymap. - -#define USE_BABLPASTE - -//#define MS_MODE 0 // Windows. -//#define MAC_MODE 1 -//#define LINUX_MODE 2 //aka gnome+KDE -//#define EMACS_MODE 3 -//#define VI_MODE 4 -//#define WORDSTAR_MODE 5 -//#define READMUX 6 // Readline and tmux - -// This removes everything but cursor movement -//#define BABL_MOVEMENTONLY -// and this just removes browser shortcuts -//#define BABL_NOBROWSER -****************************/ - - -// Uncomment if you need more free flash space -// It removes everything but cursor movement -//#define BABL_MOVEMENTONLY - - -// Define starting number for BABL macros in the macro range. -// Probably can start the default even lower -#define BABL_START_NUM 50 - -/* Macros handled by babblepaste. Most should be available for all platforms. -Whatever isn't defined will NOP */ -enum { -// Movement macros - // left & right - BABL_GO_LEFT_1C= BABL_START_NUM, - BABL_GO_RIGHT_1C, - BABL_GO_LEFT_WORD, - BABL_GO_RIGHT_WORD, - BABL_GO_START_LINE, - BABL_GO_END_LINE, - // now up & down - BABL_GO_START_DOC, - BABL_GO_END_DOC, - BABL_GO_NEXT_LINE, - BABL_GO_PREV_LINE, - BABL_PGDN, - BABL_PGUP, - // And the delete options - //BABL_DEL_LEFT_1C == backspace, so why bother. - BABL_DEL_RIGHT_1C, // usually = Del - BABL_DEL_LEFT_WORD, - BABL_DEL_RIGHT_WORD, - BABL_DEL_TO_LINE_END, // delete from cursor to end of line - BABL_DEL_TO_LINE_START, // delete from cursor to begining line -#ifndef BABL_MOVEMENTONLY - // Cut & Paste - BABL_UNDO, - BABL_REDO, - BABL_CUT, - BABL_COPY, - BABL_PASTE, - BABL_SELECT_ALL, - /* not yet implemented - BABL_SWAP_LAST2C // swap last characters before the cursor - BABL_SWAP_LAST2W // Swap the last two words before the cursor - */ - // find & replace - BABL_FIND, - BABL_FIND_NEXT, - BABL_FIND_REPLACE, - // GUI or app - BABL_RUNAPP, - BABL_SWITCH_APP_NEXT, - BABL_SWITCH_APP_LAST, // previous - BABL_CLOSE_APP, - BABL_HELP, - -#ifndef BABL_NOBROWSER - BABL_BROWSER_NEW_TAB, - BABL_BROWSER_CLOSE_TAB, - BABL_BROWSER_REOPEN_LAST_TAB, - BABL_BROWSER_NEXT_TAB, - BABL_BROWSER_PREV_TAB, - BABL_BROWSER_URL_BAR, - BABL_BROWSER_FORWARD, - BABL_BROWSER_BACK, - BABL_BROWSER_FIND, - BABL_BROWSER_BOOKMARK, - BABL_BROWSER_DEV_TOOLS, // hard one to remember - BABL_BROWSER_RELOAD, - BABL_BROWSER_FULLSCREEN, - BABL_BROWSER_ZOOM_IN, - BABL_BROWSER_ZOOM_OUT, - -#endif - -#endif -// Macros for mode switching -#ifdef MS_MODE - BABL_WINDOWS, -#endif -#ifdef MAC_MODE - BABL_MAC, -#endif -#ifdef LINUX_MODE - BABL_LINUX, -#endif -#ifdef EMACS_MODE - BABL_EMACS, -#endif -#ifdef VI_MODE - BABL_VI, -#endif -#ifdef READMUX_MODE - BABL_READLINE, -#endif - - -}; - -// BUG, used to jump to babble functiion. Surely there is a way to calculate size of enum? -#define BABL_NUM_MACROS 48+4 // 48 + # of defined modes. - -/* And all the shorthand keymap ready versions */ -// First the mode switching macros -#ifdef MS_MODE -#define B_WIN M(BABL_WINDOWS) -#endif -#ifdef MAC_MODE -#define B_MAC M(BABL_MAC) -#endif -#ifdef LINUX_MODE -#define B_LNX M(BABL_LINUX) -#endif -#ifdef EMACS_MODE -#define B_EMAX M(BABL_EMACS) -#endif -#ifdef VI_MODE -#define B_VI M(BABL_VI) -#endif -#ifdef READMUX_MODE -#define B_READ M(BABL_READLINE) -#endif - -// and all the movement & action. - -#define B_L1C M(BABL_GO_LEFT_1C) -#define B_R1C M(BABL_GO_RIGHT_1C) -#define B_L1W M(BABL_GO_LEFT_WORD) -#define B_R1W M(BABL_GO_RIGHT_WORD) -#define B_GSOL M(BABL_GO_START_LINE) -#define B_GEOL M(BABL_GO_END_LINE) -#define B_GTOP M(BABL_GO_START_DOC) -#define B_GEND M(BABL_GO_END_DOC) -#define B_DOWN M(BABL_GO_NEXT_LINE) -#define B_UP M(BABL_GO_PREV_LINE) -#define B_PGDN M(BABL_PGDN) -#define B_PGUP M(BABL_PGUP) -//#define B_BKSP M(BABL_DEL_LEFT_1C) == backspace so why bother. -#define B_DEL M(BABL_DEL_RIGHT_1C) // usually = Del -#define B_DLW M(BABL_DEL_LEFT_WORD) -#define B_DRW M(BABL_DEL_RIGHT_WORD) -#define B_DEOL M(BABL_DEL_TO_LINE_END) // delete from cursor to end of line -#define B_DSOL M(BABL_DEL_TO_LINE_START) // delete from cursor to begining line -#define B_UNDO M(BABL_UNDO) -#define B_REDO M(BABL_REDO) -#define B_CUT M(BABL_CUT) -#define B_COPY M(BABL_COPY) -#define B_PAST M(BABL_PASTE) -#define B_SELA M(BABL_SELECT_ALL) -#define B_FIND M(BABL_FIND) -#define B_FINDN M(BABL_FIND_NEXT) -#define B_FINDR M(BABL_FIND_REPLACE) -#define B_RAPP M(BABL_RUNAPP) -#define B_NAPP M(BABL_SWITCH_APP_NEXT) -#define B_PAPP M(BABL_SWITCH_APP_LAST) // previous -#define B_CAPP M(BABL_CLOSE_APP) -#define B_HELP M(BABL_HELP) -#define B_NTAB M(BABL_BROWSER_NEW_TAB) -#define B_CTAB M(BABL_BROWSER_CLOSE_TAB) -#define B_ROTB M(BABL_BROWSER_REOPEN_LAST_TAB) -#define B_NXTB M(BABL_BROWSER_NEXT_TAB) -#define B_PTAB M(BABL_BROWSER_PREV_TAB) -#define B_NURL M(BABL_BROWSER_URL_BAR) -#define B_BFWD M(BABL_BROWSER_FORWARD) -#define B_BBAK M(BABL_BROWSER_BACK) -#define B_BFND M(BABL_BROWSER_FIND) -#define B_BOOK M(BABL_BROWSER_BOOKMARK) -#define B_BDEV M(BABL_BROWSER_DEV_TOOLS) // hard one to remember -#define B_BRLD M(BABL_BROWSER_RELOAD) -#define B_BFUlL M(BABL_BROWSER_FULLSCREEN) -#define B_ZMIN M(BABL_BROWSER_ZOOM_IN) -#define B_ZMOT M(BABL_BROWSER_ZOOM_OUT) - - - - - - - -/* from action_macro.h -typedef uint8_t macro_t; - -#define MACRO_NONE (macro_t*)0 -#define MACRO(...) ({ static const macro_t __m[] PROGMEM = { __VA_ARGS__ }; &__m[0]; }) -#define MACRO_GET(p) pgm_read_byte(p) - -#define BABL_MSTART (entry, os, macro...) ( const macro_t bablDict[entry][os] PROGMEM = { macro... }; ) - -*/ - -const macro_t *babblePaste(keyrecord_t *record, uint8_t shortcut); - -macro_t* switch_babble_mode( uint8_t id); - - -#endif -#endif - diff --git a/keyboards/handwired/MS-sculpt-mobile/babblePaste.txt b/keyboards/handwired/MS-sculpt-mobile/babblePaste.txt deleted file mode 100644 index cf75e153e8..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/babblePaste.txt +++ /dev/null @@ -1,123 +0,0 @@ - BabblePaste is a library of common macros used to make sure that -you can have one "paste" button on one layer, and it will do the -right thing on any OS or app. Windows=Ctrl-V. Mac = Command-V and so on. - -The babblepaste library looks for the current status in a babble_mode global variable. -To switch modes, run the switch_babble_mode() function, or a pre defined macro. -Currently supported are Windows, OS X, Gnome/kde, Emacs, VI and readline, -across 42+ common macro actions. - - -###To use the library -1) Paste the following into your config.h. - -//////Begin////// -#define USE_BABLPASTE 1 - -#ifdef USE_BABLPASTE -/* define BabblePaste maps. Whatever = 0 will be the default. */ -// MAC_MODE 0 -// MS_MODE 1 -// LINUX_MODE 2 -// EMACS_MODE 3 -// VI_MODE 3 -// Readline and tmux -// READMUX_MODE 2 -// WORDSTAR_MODE 5 -#endif - -// Uncomment these to remove options an free up flash space - -// This removes everything but cursor movement -// BABL_MOVEMENTONLY -// and this just removes browser shortcuts -// BABL_NOBROWSER -///////End/////// - -2) Add the following to your keymap in the action_get_macro - -//////Begin////// -#ifdef USE_BABLPASTE - - if( id >= BABL_START_NUM && id < (BABL_START_NUM + BABL_NUM_MACROS ) ) { - if (record->event.pressed) { // is there a case where this isn't desired? - - babblePaste ( record, id ); - return MACRO_NONE; - } - } -#endif -///////End/////// - -3) add Babbelpaste actions to your keymap. See the full list in babblePaste.h, or the -list below -B_L1C // go left 1 char -B_R1C // go Right 1 char - B_L1W //GO_LEFT_1 WORD - B_R1W //BABL_GO_RIGHT_1 WORD - B_GSOL // BABL_GOTO_START of _LINE - B_GEOL // BABL_GOTO_END_LINE - B_GTOP //BABL_GOTO_START_DOC - B_GEND //BABL_GO_END_DOC - B_DOWN //BABL_GO_NEXT_LINE - B_UP // BABL_GO_PREV_LINE - B_PGDN //PGDN - B_PGUP //PGUP -// B_BKSP //backspace so why bother. - B_DEL // DEL_RIGHT_1 Char // usually = Del - B_DLW // DEL_LEFT_ 1 WORD) - B_DRW //DEL_RIGHT_1 WORD - B_DEOL // delete from cursor to end of line - B_DSOL // delete from cursor to begining line - B_UNDO //UNDO - B_REDO // REDO - B_CUT // CUT) - B_COPY // COPY) - B_PAST // PASTE) - B_SELA // SELECT_ALL - B_FIND // FIND) - B_FINDN //FIND_NEXT) - B_FINDR // FIND_REPLACE) - B_RAPP // open application launcher - B_NAPP // switch to next app - B_PAPP // switch to previous app - B_CAPP // CLOSE_APP) - B_HELP // HELP) - B_NTAB // BROWSER_NEW_TAB) - B_CTAB //BROWSER_CLOSE_TAB) - B_ROTB //BROWSER_REOPEN_LAST_TAB) - B_NXTB //BROWSER_NEXT_TAB) - B_PTAB //BROWSER_PREV_TAB) - B_NURL //BROWSER_jump to URL_BAR) - B_BFWD // BROWSER_FORWARD (in history) - B_BBAK //BROWSER_BACK (in history) - B_BFND // BROWSER_FIND) - B_BOOK //BROWSER_New BOOKMARK) - B_BDEV //BROWSER_ Open DEV_TOOLS) // hard one to remember - B_BRLD // BROWSER_RELOAD Page - B_BFUlL // BROWSER_FULLSCREEN) - B_ZMIN // BROWSER_ZOOM_IN) - B_ZMOT //BROWSER_ZOOM_OUT) - - -#### Development notes --Why a new function? Because it would make the keymap too ugly to put it there. --Why not return the macro to action_get_macro? Because I kept running into scope problems -and pointers to the wrong type. --Why not an array of arrays as a lookup instead of a function? That would allow you -to store the lookup table in PROGMEM. True, but that takes more pre-processor skill -than I had. - --Have you tested this on every platform? No. Submit a patch. - - -### Next steps for someone. -Make it easier to pair macros with modifiers. So key foo will jump to start of line, and -Shift(foo) will jump to the first tab in a browser. - -## Thanks - -Thanks to https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts -and https://github.com/qmk/qmk_firmware/blob/master/keyboards/planck/keymaps/jeebak/keymap.c -And of course QMK... - diff --git a/keyboards/handwired/MS-sculpt-mobile/config.h b/keyboards/handwired/MS-sculpt-mobile/config.h deleted file mode 100644 index f89514278d..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/config.h +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright 2012 Jun Wako - -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 . -*/ - -#ifndef CONFIG_H -#define CONFIG_H - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Microsoftplus -#define DESCRIPTION 6000 - -/* key matrix size */ -#define MATRIX_ROWS 8 -#define MATRIX_COLS 18 - -#ifdef ASTAR -#define PRODUCT sculpt mobile astar - /*0 1 2 3 4 5 6 7 8 */ -#define MATRIX_ROW_PINS {D7, C6, D4, D0, D1, D3, D2, E2} -/* A B C D E F G H I J K L M N O P Q R */ -#define MATRIX_COL_PINS {B4, B5, E6, B7, B6, D6, C7, F7, F6, F4,F5, F1,F0, D5, B0, B1, B2, B3} - -#else -#define PRODUCT sculpt mobile teensypp -/* 0 1 2 3 4 5 6 7 */ -#define MATRIX_ROW_PINS { F7,F6,F4,F5,F3,F2,F1,F0} -/* A B C D E F G H I J K L M N O P Q R */ -#define MATRIX_COL_PINS { B7, D0, D1, D2, D3, D4, D5, D6, D7, E0,E1,C1, C0, C3, C2, C5, C4,C7} -#define UNUSED_PINS { B6,B5,B4,B3,B2,B1,B0 } - - -#endif - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION ROW2COL - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCING_DELAY 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - - -/* - * Magic Key Options - * - * Magic keys are hotkey commands that allow control over firmware functions of - * the keyboard. They are best used in combination with the HID Listen program, - * found here: https://www.pjrc.com/teensy/hid_listen.html - * - * The options below allow the magic key functionality to be changed. This is - * useful if your keyboard/keypad is missing keys and you want magic key support. - * - */ - -/* key combination for magic key command */ -#define IS_COMMAND() ( \ - keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ -) - - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - -#define PREVENT_STUCK_MODIFIERS - -#endif diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/Makefile b/keyboards/handwired/MS-sculpt-mobile/keymaps/default/Makefile deleted file mode 100644 index 8b829218b2..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -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 = no # Enable keyboard backlight functionality -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. Do not enable this with audio at the same time. -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -ifndef QUANTUM_DIR - include ../../../../../Makefile -endif diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/config.h b/keyboards/handwired/MS-sculpt-mobile/keymaps/default/config.h deleted file mode 100644 index 8893d122e0..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/config.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -// place overrides here - -#endif diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/keymap.c b/keyboards/handwired/MS-sculpt-mobile/keymaps/default/keymap.c deleted file mode 100644 index ab09dcdd1c..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/keymap.c +++ /dev/null @@ -1,64 +0,0 @@ -#include "MS-sculpt-mobile.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* -* -* |ESC | F1 | F2 | F3 | F4 | F5 | F6 | f7 | F8 | F9 | F10| F11| F12|Vol-|Vol+|Mute| -* -------------------------------------------------------------------------------' -* | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bakspace| Del | -* -------------------------------------------------------------------------- -* | tab | q | w | e | r | t | y | u | i | o | p | [ | ] | \ | | -* -------------------------------------------------------------------------------' -* | caps | a | s | d | f | g | h | j | k | l | ; | ' | enter |PgUp| -* -------------------------------------------------------------------------------- -* |Lsft | z | x | c | v | b | n | m | , | . | / | Rsft| Up| PgDn| -* --------------------------------------------------------------------------------- -* |Lctl |Lgui |Lalt | Space |Ralt | FN | Rctl |Left|Down|Rght| -* --------------------------------------------------------------------------------- -*/ - -[0] = KEYMAP( \ - 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_VOLD, KC_VOLU, KC_MUTE,\ - KC_GRAVE, KC_1, KC_2, KC_3 ,KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, 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_PGUP,\ - 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_PGDN,\ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, RSFT(KC_1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT -) - -}; -const uint16_t PROGMEM fn_actions[] = { - -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - // MACRODOWN only works in this function - switch(id) { - case 0: - if (record->event.pressed) { - register_code(KC_RSFT); - } else { - unregister_code(KC_RSFT); - } - break; - } - return MACRO_NONE; -}; - - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/readme.md b/keyboards/handwired/MS-sculpt-mobile/keymaps/default/readme.md deleted file mode 100644 index e67ddc6fec..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/keymaps/default/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for microsoft-sculpt-mobile diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/Makefile b/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/Makefile deleted file mode 100644 index 1209ad7814..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = yes # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) -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 = no # Enable keyboard backlight functionality -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. Do not enable this with audio at the same time. -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -ifndef QUANTUM_DIR - include ../../../../../Makefile -endif diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/config.h b/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/config.h deleted file mode 100644 index 8cf4202cda..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/config.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -#define USE_BABLPASTE - -// Expect to get errors if you comment a feature out and leave it in your keymap. - -#ifdef USE_BABLPASTE -//define BabblePaste maps -// Windows. -#define MAC_MODE 0 -#define MS_MODE 1 -//aka gnome+KDE -//#define LINUX_MODE 2 -//#define EMACS_MODE 3 -#define VI_MODE 3 -// Readline and tmux -#define READMUX_MODE 2 -//#define WORDSTAR_MODE 5 -#endif - -// Uncomment if you need more free flash space - -// This removes everything but cursor movement -//#define BABL_MOVEMENTONLY -// and this just removes browser shortcuts -//#define BABL_NOBROWSER - -// place overrides here -#endif diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/keymap.c b/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/keymap.c deleted file mode 100644 index 395a9fb470..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/keymap.c +++ /dev/null @@ -1,272 +0,0 @@ -#include "MS-sculpt-mobile.h" -#include "action_layer.h" -#include "action_util.h" -#include "babblePaste.h" - -#ifdef AUDIO_ENABLE - #include "audio.h" -#endif - -#define _QWR 0 -#define _CDH 2 -#define _SYM 3 -#define _MOV 4 -#define _TRAN 5 - - -enum layer_keycodes { -QWR, -CDH, -SYM, -MOV, -NUM, -TRAN -}; - - -// Shorter spacing -#define XXXX KC_NO -#define ____ KC_TRNS - -// Custom macros - -/* Fn Keys */ -#define TT_SYM MO(_SYM) -#define TT_MOV KC_FN2 -#define TT_NUM MO(_NUM) -#define SSFT ACTION_MODS_ONESHOT(MOD_LSFT) - -enum macro_keycodes { -DHPASTE=1, -VIBRK, -}; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* QWERTY -* -* |ESC | F1 | F2 | F3 | F4 | F5 | F6 | f7 | F8 | F9 | F10| F11| F12|Vol-|Vol+|_CDH| -* -------------------------------------------------------------------------------' -* | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bakspace| Del| -* --------------------------------------------------------------------------- -* | tab | q | w | e | r | t | y | u | i | o | p | [ | ] | \ | | -* -------------------------------------------------------------------------------' -* |Bak/Mov| a | s | d | f | g | h | j | k | l | ; | ' | enter |PgUp| -* -------------------------------------------------------------------------------- -* |Lsft | z | x | c | v | b | n | m | , | . | / | Rsft| Up| PgDn| -* --------------------------------------------------------------------------------- -* |Lctl |Lgui |Lalt | Space/Sym | GUI | Sym | Rctl |Left|Down|Rght| -* --------------------------------------------------------------------------------- -*/ - -[_QWR] = KEYMAP( \ - 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_VOLD, KC_VOLU, CDH,\ - KC_ESC, KC_1, KC_2, KC_3 ,KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, 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,\ - TT_MOV, 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_PGUP,\ - 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_PGDN,\ - KC_LCTL, KC_LGUI, KC_LALT, KC_FN1, KC_RGUI,TT_SYM,KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT -), - -[_CDH] = KEYMAP (\ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, QWR, \ - KC_ESC, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, ____, ____, ____,\ - TT_MOV, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_2,\ - KC_LSFT, KC_Z, KC_X, KC_C, M(DHPASTE), KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, ____, KC_1,\ - ____, ____, ____ , KC_FN1, ____, ____, ____, ____, ____, ____ - -), - - -/* SYM -* -* |ESC | F1 | F2 | F3 | F4 | F5 | F6 | f7 | F8 | F9 | F10| F11| F12|Vol-|Vol+|_CDH| -* -------------------------------------------------------------------------------' -* | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bakspace|Del | -* -------------------------------------------------------------------------- -* | ESC: | ^ | { | } | @ | % | | [ | ( | ) | _ | [ | ] | \ | | -* -------------------------------------------------------------------------------' -* |Bak/Mov| ! | # | 0 | = | { | } | - | 1 | + | ] | ` | enter |PgUp| -* -------------------------------------------------------------------------------- -* |Lsft | ; | ~ | : | ~ | "|"| $ | * | | . | / | Rsft| Up| PgDn| -* --------------------------------------------------------------------------------- -* |Lctl |Lgui |Lalt | Space/Sym | GUI | Sym | Rctl |Left|Down|Rght| -* --------------------------------------------------------------------------------- -*/ - -[_SYM] = KEYMAP (\ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - M(VIBRK), KC_CIRC, KC_LCBR, KC_RCBR,KC_AT, KC_PERC, ____, KC_LBRC,KC_LPRN,KC_RPRN,KC_UNDS, ____, ____, ____,\ - ____, KC_EXLM, KC_HASH, KC_0, KC_EQL, KC_LCBR, KC_RCBR,KC_MINS,KC_1, KC_PLUS,KC_RBRC, KC_GRV, ____, ____,\ - ____, KC_SCLN, KC_TILDE, KC_COLN, KC_TILDE, KC_PIPE, KC_DLR, KC_ASTR, ____, KC_DOT , KC_SLSH, ____, ____, ____,\ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____ -), -/* -* |ESC | MAC| Win|RdLn| VI | | | | | | | | | | | | -* -------------------------------------------------------------------------------' -* | | | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bakspace| Del| -* --------------------------------------------------------------------------- -* | tab | | |Find| |pTab |DSOL|DelW| Up |DelW|DEOL| [ | ] | \ | | -* -------------------------------------------------------------------------------' -* |Bak/Mov| | | | |nTab |GSOL| <- | Dwn | -> | EOL | ' | enter |PgUp| -* -------------------------------------------------------------------------------- -* |Lsft |Undo| Cut|Copy|Pste| | | | | | / | Rsft| Up| PgDn| -* --------------------------------------------------------------------------------- -* |Lctl |Lgui |Lalt | Space/Sym | GUI | Sym | Rctl |Left|Down|Rght| -* --------------------------------------------------------------------------------- -*/ - -[_MOV] = KEYMAP (\ - ____, B_MAC,B_WIN,B_READ, B_VI, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, B_PAPP, B_NAPP, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, B_UNDO, ____, B_BFND, ____, B_PTAB, B_DSOL, B_DLW, B_UP, B_DRW, B_DEOL, ____, ____, ____, \ - ____, B_SELA, B_BRLD, ____, ____, B_NXTB, B_GSOL, B_L1C, B_DOWN, B_R1C,B_GEOL, ____, ____, ____,\ - ____, B_UNDO,B_CUT, B_COPY, B_PAST, B_PAST, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____ -), - -[_TRAN] = KEYMAP (\ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ - ____, ____, ____, ____, ____, ____, ____, ____, ____, ____ -) -}; - -const uint16_t PROGMEM fn_actions[] = { -[1] = ACTION_LAYER_TAP_KEY(_SYM,KC_SPACE), -[2] = ACTION_LAYER_TAP_KEY(_MOV,KC_BSPC) -}; - -#ifdef AUDIO_ENABLE - -float tone_startup[][2] = SONG(STARTUP_SOUND); -float tone_qwerty[][2] = SONG(QWERTY_SOUND); -float tone_colemak[][2] = SONG(COLEMAK_SOUND); -#endif - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QWR: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_NOTE_ARRAY(tone_qwerty, false, 0); - #endif - layer_off(_CDH); - } - return false; - break; - - case CDH: - if (record->event.pressed) { - #ifdef AUDIO_ENABLE - PLAY_NOTE_ARRAY(tone_colemak, false, 0); - #endif - layer_on(_CDH); - } - return false; - break; - - case SYM: - if (record->event.pressed) { - layer_on(_SYM); - } else { - layer_off(_SYM); - } - return false; - break; - - } - return true; - -} - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - -/* If id is in the range of BABL macros, call the babl function */ -/* Any clever remapping with modifiers should happen here e.g. shift bablkey does opposite*/ -#ifdef USE_BABLPASTE - - if( id >= BABL_START_NUM && id < (BABL_START_NUM + BABL_NUM_MACROS ) ) { - if (record->event.pressed) { // is there a case where this isn't desired? - - babblePaste ( record, id ); - return MACRO_NONE; - } - } -#endif - - - // MACRODOWN only works in this function - switch(id) { - case 0: - if (record->event.pressed) { - register_code(KC_RSFT); - } else { - unregister_code(KC_RSFT); - } - break; - - /* Colemak mod-dh moves the D key to the qwerty V position - This hack makes apple-V_position do what I mean */ - case DHPASTE: - if(keyboard_report->mods & MOD_BIT(KC_LGUI) ) { - if (record->event.pressed) { - clear_keyboard_but_mods(); - register_code(KC_V); - } else { - unregister_code(KC_V); - } - } else { - if (record->event.pressed) { - register_code(KC_D); - } else { - unregister_code(KC_D); - } - } - break; - - case VIBRK: // vi esc: - if (record->event.pressed) { - return MACRO( T(ESC),D(LSFT),T(SCLN),U(LSFT), END ); - } - break; - - - - - default: - return MACRO_NONE; - } - - -return MACRO_NONE; -}; - - - - - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { - -} - - -void led_set_user(uint8_t usb_led) { - -} - - - - - - diff --git a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/readme.md b/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/readme.md deleted file mode 100644 index 96ee0e77a5..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/keymaps/milestogo/readme.md +++ /dev/null @@ -1 +0,0 @@ -# A more programmer oriented keymap for microsoft-sculpt-mobile diff --git a/keyboards/handwired/MS-sculpt-mobile/readme.md b/keyboards/handwired/MS-sculpt-mobile/readme.md deleted file mode 100644 index d435b449fb..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/readme.md +++ /dev/null @@ -1,58 +0,0 @@ - -This is a way to take a Microsoft ergonomic bluetooth keyboard, and make it -into a hard-wired keyboard running QMK. - -The keyboard is known under several different names: -Mobile Bluetooth 5000, Mobile 6000, Sculpt mobile, and Asus rebranded - -I had a stack of them,since they're cheap on ebay, travel well, and are just ergo enough. - -The ribbon cable is 1mm pitch, which is hard to hand solder. I bought a cheap set of -"pitch adapter" boards https://www.amazon.com/Double-Sided-0-4mm-1-0-Adapter-60mmx38mm/dp/B00OK42118 - -Cut the original ribbon cable sockets off the bluetooth board using a razor, they're hard to desolder. -They're also allow the cable to be inserted on top or bottom. - -If I was going to do it again, I'd make the MCU connection come out the top of the keyboard -and avoid the wires dangling out the bottom. - -As I was debugging the matrix, I started to get random failures. In desparation I tried a second MCU, -but had the same problems. It turns out that the ribbon cable connections can get worn. Shave a -half millimeter off the end of the ribbon cable & the errors go away. - -My method for discovering the matrix was to set up a KEYMAP macro that included all pins. -See MATRIX_TESTING_KEYMAP if you need it. Then set up a keymap that has all printable symbols -in the first 4 rows. test each key & record output. Then switch the printable symbols to the -bottom 4 rows & repeat. This was enough to show the matrix. - - -The full original keymap for the sculpt is - A B C D E F G H ---> -0 b n m , . / -1 g h " -2 7 8 9 0 Del PgUp -3 p [ ] \ -4 y u i o -5 ~ - += j k l ; 5 -6 a s d q w e, Up left -7 F7 F8 F9 F10 F11 F12 f - ------> I J K L M N O P Q R -0 Caps FN -1 Vol+ mute Rctl vol- pgdn LCTL -2 Rshift LShift -3 Ralt LAlt -4 LGUI -5 6 bakspc 1 2 3 4 F4 F5 F6 -6 Down right spc F1 F2 F3 tab -7 r t z x c v enter Esc - -This works with 18 cols + 8 rows on a Teensy++, or Arm based Teensy. - -The Astar mini has all pins exposed , so you can do 18x8 -If you want a speaker, LEDs &etc, you'll need to free up a pin. I recommend joining columns -R and L to the same pin. - -Building - add ASTAR=1 to the compile line or leave out for teensy2++ - - diff --git a/keyboards/handwired/MS-sculpt-mobile/rules.mk b/keyboards/handwired/MS-sculpt-mobile/rules.mk deleted file mode 100644 index 680389c846..0000000000 --- a/keyboards/handwired/MS-sculpt-mobile/rules.mk +++ /dev/null @@ -1,48 +0,0 @@ - -## Project specific files -SRC= babblePaste.c - - -ifdef ASTAR - CFLAGS=-D ASTAR - OPT_DEFS += -DBOOTLOADER_SIZE=4096 - MCU = atmega32u4 - OPT_DEFS += -DCATERINA_BOOTLOADER - SCULPT_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done ; \ - avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB) - -else - MCU = at90usb1286 - OPT_DEFS += -DBOOTLOADER_SIZE=2048 - SCULPT_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex -endif - -F_CPU = 16000000 -ARCH = AVR8 -F_USB = $(F_CPU) -# Interrupt driven control endpoint task(+60) -OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT - -# -BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE ?= no # Mouse keys(+4700) -EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) -CONSOLE_ENABLE ?= yes # Console for debug(+400) -COMMAND_ENABLE ?= yes # Commands for debug and configuration -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE ?= no # USB Nkey Rollover -BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default -MIDI_ENABLE ?= no # MIDI controls -UNICODE_ENABLE ?= no # Unicode -BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE ?= no # Audio output on port C6 - - -USB ?= /dev/cu.usbmodem14141 - - - -upload: build - $(SCULPT_UPLOAD_COMMAND) diff --git a/keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.c b/keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.c new file mode 100644 index 0000000000..4c735a6c29 --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.c @@ -0,0 +1 @@ +#include "MS-sculpt-mobile.h" diff --git a/keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.h b/keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.h new file mode 100644 index 0000000000..1583dea6e8 --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.h @@ -0,0 +1,48 @@ +#ifndef MICROSOFT_SCULPT_MOBILE_H +#define MICROSOFT_SCULPT_MOBILE_H + +#include "quantum.h" + + +#define KEYMAP( \ + k7Q, k6O, k6P, k6Q, k5O, k5P, k5Q, k7A, k7B, k7C, k7D, k7E, k7F, k1O, k1K, k1L, \ + k5A, k5K, k5L, k5M, k5N, k5H, k5I, k2A, k2B, k2C, k2D, k5B, k5C, k5J, k2E, \ + k6R, k6D, k6E, k6F, k7I, k7J, k4A, k4B, k4C, k4D, k3A, k3B, k3C, k3D, \ + k0J, k6A, k6B, k6C, k7H, k1A, k1B, k5D, k5E, k5F, k5G, k1C, k7P, k2G, \ + k2P, k7K, k7L, k7M, k7O, k0A, k0B, k0C, k0D, k0E, k0F, k2L, k6G, k1P,\ + k1Q, k4N, k3O,k6N, k3K, k0R, k1M, k6H, k6I, k6J \ +) \ +{ \ + {k0A, k0B, k0C, k0D, k0E, k0F, KC_NO, KC_NO, KC_NO, k0J, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,KC_NO, KC_NO, k0R},\ + {k1A, k1B, k1C, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k1K, k1L, k1M, KC_NO, k1O, k1P, k1Q, KC_NO},\ + {k2A, k2B, k2C, k2D, k2E, KC_NO, k2G, KC_NO, KC_NO, KC_NO, KC_NO, k2L, KC_NO, KC_NO, KC_NO, k2P, KC_NO, KC_NO},\ + {k3A, k3B, k3C, k3D, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k3K, KC_NO, KC_NO, KC_NO, k3O, KC_NO, KC_NO, KC_NO},\ + {k4A, k4B, k4C, k4D, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k4N, KC_NO,KC_NO, KC_NO, KC_NO},\ + {k5A, k5B, k5C, k5D, k5E, k5F, k5G, k5H, k5I, k5J, k5K, k5L, k5M, k5N, k5O, k5P, k5Q, KC_NO },\ + {k6A, k6B, k6C, k6D, k6E, k6F, k6G, k6H, k6I, k6J, KC_NO, KC_NO, KC_NO, k6N, k6O, k6P, k6Q, k6R},\ + {k7A, k7B, k7C, k7D, k7E, k7F, KC_NO, k7H, k7I, k7J, k7K, k7L, k7M, KC_NO, k7O, k7P, k7Q, KC_NO},\ +} + + +#define MATRIX_TESTING_KEYMAP( \ + k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, k0I, k0, k0J, k0K, k0L, k0M, k0N, k0O, k0P, k0Q,\ + k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, k1, k1J, k1K, k1L, k1M, k1N, k1O, k1P, k1Q,\ + k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, k2, k2J, k2K, k2L, k2M, k2N, k2O, k2P, k2Q,\ + k3A, k3B, k3C, k3D, k3E, k3F, k3G, k3H, k3I, k3, k3J, k3K, k3L, k3M, k3N, k3O, k3P, k3Q,\ + k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, k4I, k4, k4J, k4K, k4L, k4M, k4N, k4O, k4P, k4Q,\ + k5A, k5B, k5C, k5D, k5E, k5F, k5G, k5H, k5I, k5, k5J, k5K, k5L, k5M, k5N, k5O, k5P, k5Q,\ + k6A, k6B, k6C, k6D, k6E, k6F, k6G, k6H, k6I, k6, k6J, k6K, k6L, k6M, k6N, k6O, k6P, k6Q,\ + k7A, k7B, k7C, k7D, k7E, k7F, k7G, k7H, k7I, k7, k7J, k7K, k7L, k7M, k7N, k7O, k7P, k7Q\ +) \ +{ \ + {k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, k0I, k0, k0J, k0K, k0L, k0M, k0N, k0O, k0P, k0Q},\ + {k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, k1, k1J, k1K, k1L, k1M, k1N, k1O, k1P, k1Q},\ + {k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, k2, k2J, k2K, k2L, k2M, k2N, k2O, k2P, k2Q},\ + {k3A, k3B, k3C, k3D, k3E, k3F, k3G, k3H, k3I, k3, k3J, k3K, k3L, k3M, k3N, k3O, k3P, k3Q},\ + {k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, k4I, k4, k4J, k4K, k4L, k4M, k4N, k4O, k4P, k4Q},\ + {k5A, k5B, k5C, k5D, k5E, k5F, k5G, k5H, k5I, k5, k5J, k5K, k5L, k5M, k5N, k5O, k5P, k5Q},\ + {k6A, k6B, k6C, k6D, k6E, k6F, k6G, k6H, k6I, k6, k6J, k6K, k6L, k6M, k6N, k6O, k6P, k6Q},\ + {k7A, k7B, k7C, k7D, k7E, k7F, k7G, k7H, k7I, k7, k7J, k7K, k7L, k7M, k7N, k7O, k7P, k7Q},\ +} + +#endif diff --git a/keyboards/handwired/MS_sculpt_mobile/Makefile b/keyboards/handwired/MS_sculpt_mobile/Makefile new file mode 100644 index 0000000000..bd09e5885d --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/Makefile @@ -0,0 +1,3 @@ +ifndef MAKEFILE_INCLUDED + include ../../../Makefile +endif diff --git a/keyboards/handwired/MS_sculpt_mobile/babblePaste.c b/keyboards/handwired/MS_sculpt_mobile/babblePaste.c new file mode 100644 index 0000000000..3a9b86997d --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/babblePaste.c @@ -0,0 +1,459 @@ +/* A library to output the right key shortcut in any common app. +Given a global variable babble_mode to show the environment and a +key that calls the paste macro, do the right type of paste. +Setting the context is done by another macro, or TBD interaction with the host. + +Huge thanks to https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts +and https://github.com/qmk/qmk_firmware/blob/master/keyboards/planck/keymaps/jeebak/keymap.c +*/ + +#include "babblePaste.h" +#include "action_macro.h" + +#ifdef USE_BABLPASTE + +// GLOBAL variable to determine mode. Sets startup default if no eeppom +uint8_t babble_mode =0 ; + +// small function that we might also want to call from a keymap. + +macro_t* switch_babble_mode( uint8_t id) { + babble_mode= id; + return MACRO_NONE; //less typing where called +} + + +// Today I learned that the preprocessor can not create a switch statement label from an argument +// And else statements have problems, see https://gcc.gnu.org/onlinedocs/gcc-3.0.1/cpp_3.html#SEC15 +#define BABLM(ent, macro...) \ + if ( ent == shortcut ) \ + { action_macro_play( MACRO(macro)); return MACRO_NONE; } + + +/* this function runs the appropriate babblepaste macro, given +the global babble_mode, and a shortcut from the ENUM in babblePaste.h +TODO, the pointers in this function should be stored in a PROGMEM array, not ram. +But that requires even more clever preprocessor foo. +*/ +const macro_t *babblePaste (keyrecord_t *record, uint8_t shortcut) { +/* + if ( shortcut < BABL_START_NUM || \ + shortcut >= (BABL_START_NUM + BABL_NUM_MACROS ) ) { + return MACRO_NONE; + } +*/ + + +#ifdef MS_MODE + if ( BABL_WINDOWS == shortcut ) { return switch_babble_mode(MS_MODE); } +#endif +#ifdef MAC_MODE + if ( BABL_MAC == shortcut) { return switch_babble_mode(MAC_MODE); } +#endif +#ifdef LINUX_MODE + if ( BABL_LINUX == shortcut ) { return switch_babble_mode(LINUX_MODE); } +#endif + #ifdef READMUX_MODE + if ( BABL_READLINE == shortcut ) { switch_babble_mode(READMUX_MODE); return MACRO_NONE; } +#endif +#ifdef VI_MODE + if ( BABL_VI == shortcut ) { return switch_babble_mode(VI_MODE); } +#endif +#ifdef EMACS_MODE + if ( BABL_EMACS == shortcut ) { return switch_babble_mode(EMACS_MODE); } +#endif + + + + switch(babble_mode) { + +#ifdef MS_MODE + + case MS_MODE: + BABLM( BABL_GO_LEFT_1C, T(LEFT), END ); + BABLM( BABL_GO_RIGHT_1C , T(RIGHT), END ); + BABLM( BABL_GO_LEFT_WORD, D(LCTL), T(LEFT), U(LCTL), END ); + BABLM( BABL_GO_RIGHT_WORD, D(LCTL), T(RIGHT), U(LCTL), END ); + BABLM( BABL_GO_START_LINE, T(HOME), END ); + BABLM( BABL_GO_END_LINE, T(END), END ); + BABLM( BABL_GO_START_DOC, D(LCTL),T(HOME), U(LCTL),END ); + BABLM( BABL_GO_END_DOC, D(LCTL),T(END), U(LCTL),END ); + BABLM( BABL_GO_NEXT_LINE, T(DOWN), END ); + BABLM( BABL_GO_PREV_LINE, T(UP), END ); + BABLM( BABL_PGDN, T(PGDN), END ); + BABLM( BABL_PGUP, T(PGUP), END ); + BABLM( BABL_DEL_RIGHT_1C, T(DEL), END ); + BABLM( BABL_DEL_LEFT_WORD, D(LCTL), T(BSPACE), U(LCTL), END ); + BABLM( BABL_DEL_RIGHT_WORD, D(LCTL), T(DEL), U(LCTL), END ); + BABLM( BABL_DEL_TO_LINE_END, D(RSFT), T(HOME), U(RSFT), T(DEL), END); + BABLM( BABL_DEL_TO_LINE_START, D(RSFT), T(END), U(RSFT), T(DEL), END ); +#ifndef BABL_MOVEMENTONLY + BABLM( BABL_UNDO, D(LCTL), T(Z), U(LCTL), END ); + BABLM( BABL_REDO, D(LCTL), T(Y), U(LCTL), END ); + BABLM( BABL_CUT, D(LCTL), T(X), U(LCTL), END ); + BABLM( BABL_COPY, D(LCTL), T(C), U(LCTL), END ); + BABLM( BABL_PASTE, D(LCTL), T(V), U(LCTL), END ); + BABLM( BABL_SELECT_ALL, D(LCTL), T(A), U(LCTL), END ); + BABLM( BABL_FIND, D(LCTL),T(F), U(LCTL),END ); + BABLM( BABL_FIND_NEXT, T(F3),END ); + BABLM( BABL_FIND_REPLACE, D(LCTL),T(H), U(LCTL),END ); + BABLM( BABL_RUNAPP, D(LGUI),T(R), U(LGUI),END ); + BABLM( BABL_SWITCH_APP_NEXT, D(LALT),T(TAB), U(LALT),END ); + BABLM( BABL_SWITCH_APP_LAST, D(LSFT),D(LALT),T(TAB), U(LALT), U(LSFT),END ); + BABLM( BABL_CLOSE_APP, D(LALT),T(F4), U(LALT),END ); + BABLM( BABL_HELP, T(F1),END ); +#ifndef BABL_NOBROWSER + BABLM( BABL_BROWSER_NEW_TAB, D(LCTL), T(T), U(LCTL),END ); + BABLM( BABL_BROWSER_CLOSE_TAB, D(LCTL), T(W), U(LCTL),END ); + BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LCTL), D(RSFT),T(T), U(RSFT),U(LCTL),END ); + BABLM( BABL_BROWSER_NEXT_TAB, D(LCTL), T(TAB), U(LCTL),END ); + BABLM( BABL_BROWSER_PREV_TAB, D(LCTL), D(RSFT), T(TAB), U(RSFT), U(LCTL),END ); + BABLM( BABL_BROWSER_URL_BAR, D(LCTL), T(L), U(LCTL),END ); + BABLM( BABL_BROWSER_FORWARD, D(LALT), T(RIGHT), U(LALT),END ); + BABLM( BABL_BROWSER_BACK, D(LALT), T(LEFT), U(LALT),END ); + BABLM( BABL_BROWSER_FIND, D(LCTL), T(F), U(LCTL),END ); + BABLM( BABL_BROWSER_BOOKMARK, D(LCTL), T(D), U(LCTL),END ); + //BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LCTL),END ); // EDGE + BABLM( BABL_BROWSER_DEV_TOOLS, D(LCTL), T(T), U(LCTL),END ); // Chrome + // Chrome + BABLM( BABL_BROWSER_RELOAD, D(LCTL), T(F5), U(LCTL),END ); // hard reload w/o cache + BABLM( BABL_BROWSER_FULLSCREEN, T(F11),END ); //command shift F + BABLM( BABL_BROWSER_ZOOM_IN, D(LCTL), D(RSFT), T(EQL), U(RSFT), U(LCTL),END ); // ctr+ + + BABLM( BABL_BROWSER_ZOOM_OUT, D(LCTL), T(MINS), U(LCTL),END ); +#endif +#endif + + // Todo, ring bell, flash light, show user this isn't supported + return MACRO_NONE; + + +#endif /* MS_MODE*/ + + +#ifdef LINUX_MODE + + case LINUX_MODE: + BABLM( BABL_GO_LEFT_1C , T(LEFT), END ); + BABLM( BABL_GO_RIGHT_1C , T(RIGHT), END ); + BABLM( BABL_GO_LEFT_WORD , D(LCTL), T(LEFT), U(LCTL), END ); + BABLM( BABL_GO_RIGHT_WORD , D(LCTL), T(RIGHT), U(LCTL), END ); + BABLM( BABL_GO_START_LINE , T(HOME), END ); + BABLM( BABL_GO_END_LINE , T(END), END ); + BABLM( BABL_GO_START_DOC , D(LCTL),T(HOME), U(LCTL),END ); + BABLM( BABL_GO_END_DOC , D(LCTL),T(END), U(LCTL),END ); + BABLM( BABL_GO_NEXT_LINE , T(DOWN), END ); + BABLM( BABL_GO_PREV_LINE , T(UP), END ); + BABLM( BABL_PGDN , T(PGDN), END ); + BABLM( BABL_PGUP , T(PGUP), END ); + BABLM( BABL_DEL_RIGHT_1C , D(DEL), END ); + BABLM( BABL_DEL_LEFT_WORD , D(LCTL), T(BSPACE), U(LCTL), END ); + BABLM( BABL_DEL_RIGHT_WORD , D(LCTL), T(DEL), U(LCTL), END ); + BABLM( BABL_DEL_TO_LINE_END, D(RSFT), T(HOME), U(RSFT), T(DEL), END); + BABLM( BABL_DEL_TO_LINE_START, D(RSFT), T(END), U(RSFT), T(DEL), END ); +#ifndef BABL_MOVEMENTONLY + BABLM( BABL_UNDO , D(LCTL), T(Z), U(LCTL), END ); + BABLM( BABL_REDO , D(LCTL), T(Y), U(LCTL), END ); + BABLM( BABL_CUT , D(LCTL), T(X), U(LCTL), END ); + BABLM( BABL_COPY , D(LCTL), T(C), U(LCTL), END ); + BABLM( BABL_PASTE , D(LCTL), T(V), U(LCTL), END ); + BABLM( BABL_SELECT_ALL, D(LCTL), T(A), U(LCTL), END ); + BABLM( BABL_FIND, D(LCTL),T(F), U(LCTL),END ); + /* BABLM(BABL_FIND_NEXT , T(F3),END ); KDE */ + BABLM( BABL_FIND_NEXT, D(LCTL),T(G), U(LCTL),END ); // Gnome*/ + /* BABLM( , D(LCTL),T(R), U(LCTL),END ); KDE */ + BABLM( BABL_FIND_REPLACE, D(LCTL),T(H), U(LCTL),END ); // Gnome*/ + BABLM( BABL_RUNAPP, D(LALT),T(F2), U(LALT),END ); + BABLM( BABL_SWITCH_APP_NEXT, D(LCTL),T(TAB), U(LCTL),END ); + BABLM( BABL_SWITCH_APP_LAST, D(LSFT),D(LCTL),T(TAB), U(LCTL), U(LSFT),END ); + BABLM( BABL_CLOSE_APP, D(LALT),T(F4), U(LALT),END ); + //BABLM( BABL_HELP, END ); + +#ifndef BABL_NOBROWSER + BABLM( BABL_BROWSER_NEW_TAB, D(LCTL), T(T), U(LCTL),END ); + BABLM( BABL_BROWSER_CLOSE_TAB, D(LCTL), T(W), U(LCTL),END ); + BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LCTL), D(RSFT),T(T), U(RSFT),U(LCTL),END ); + BABLM( BABL_BROWSER_NEXT_TAB, D(LCTL), T(TAB), U(LCTL),END ); + BABLM( BABL_BROWSER_PREV_TAB, D(LCTL), D(RSFT), T(TAB), U(RSFT), U(LCTL),END ); + BABLM( BABL_BROWSER_URL_BAR, D(LCTL), T(L), U(LCTL),END ); + BABLM( BABL_BROWSER_FORWARD, D(LALT), T(RIGHT), U(LALT),END ); + BABLM( BABL_BROWSER_BACK, D(LALT), T(LEFT), U(LALT),END ); + BABLM( BABL_BROWSER_FIND, D(LCTL), T(F), U(LCTL),END ); + BABLM( BABL_BROWSER_BOOKMARK, D(LCTL), T(D), U(LCTL),END ); + BABLM( BABL_BROWSER_DEV_TOOLS, D(LCTL), T(T), U(LCTL),END ); // Chrome + BABLM( BABL_BROWSER_RELOAD, D(LCTL), T(F5), U(LCTL),END ); // hard reload w/o cache + BABLM( BABL_BROWSER_FULLSCREEN, T(F11),END ); //command shift F + BABLM( BABL_BROWSER_ZOOM_IN, D(LCTL), T(PLUS), U(LCTL),END ); + BABLM( BABL_BROWSER_ZOOM_OUT, D(LCTL), T(MINS), U(LCTL),END ); +#endif +#endif + return MACRO_NONE; + +#endif + +#ifdef MAC_MODE + + case MAC_MODE: + BABLM( BABL_GO_LEFT_1C , T(LEFT), END ); + BABLM( BABL_GO_RIGHT_1C, T(RIGHT), END ); + BABLM( BABL_GO_LEFT_WORD , D(LALT), T(LEFT), U(LALT), END ); + BABLM( BABL_GO_RIGHT_WORD , D(LALT), T(RIGHT), U(LALT), END ); + BABLM( BABL_GO_START_LINE , D(LGUI), T(LEFT), U(LGUI), END ); + BABLM( BABL_GO_END_LINE , D(LGUI), T(RIGHT), U(LGUI), END ); + BABLM( BABL_GO_START_DOC , D(LGUI),T(UP), U(LGUI),END ); + BABLM( BABL_GO_END_DOC , D(LGUI),T(DOWN), U(LGUI),END ); + BABLM( BABL_GO_NEXT_LINE , T(DOWN), END ); + BABLM( BABL_GO_PREV_LINE , T(UP), END ); + BABLM( BABL_PGDN , D(LALT),T(DOWN), U(LALT), END ); + BABLM( BABL_PGUP , D(LALT),T(UP), U(LALT), END ); + BABLM( BABL_DEL_RIGHT_1C , D(DEL), END ); + BABLM( BABL_DEL_LEFT_WORD , D(LALT), T(BSPACE), U(LALT), END ); + BABLM( BABL_DEL_RIGHT_WORD, D(LALT), T(DEL), U(LALT), END ); + BABLM( BABL_DEL_TO_LINE_END, D(LCTL), T(K), U(LCTL), END );// there must be another way + BABLM( BABL_DEL_TO_LINE_START, D(LGUI), T(BSPACE), U(LGUI), END ); +#ifndef BABL_MOVEMENTONLY + BABLM( BABL_UNDO , D(1), D(LGUI), T(Z), U(LGUI), END ); + BABLM( BABL_REDO , D(LSFT),D(LGUI), T(Z), U(LSFT),U(LGUI), END ); + BABLM( BABL_CUT , D(LGUI), T(X), U(LGUI), END ); + BABLM( BABL_COPY , D(LGUI), T(C), U(LGUI), END ); + BABLM( BABL_PASTE , D(LGUI), T(V), U(LGUI), END ); + BABLM( BABL_SELECT_ALL , D(LGUI), T(A), U(LGUI), END ); + BABLM( BABL_FIND , D(LGUI),T(F), U(LGUI),END ); + BABLM( BABL_FIND_NEXT, D(LGUI),T(G), U(LGUI),END ); + BABLM( BABL_FIND_REPLACE, D(LGUI),T(F), U(LGUI),END ); + BABLM( BABL_RUNAPP , D(LGUI),T(R), U(LGUI),END ); + BABLM( BABL_SWITCH_APP_NEXT , D(LGUI),T(TAB), U(LGUI),END ); + BABLM( BABL_SWITCH_APP_LAST , D(LSFT),D(LGUI),T(TAB), U(LGUI), U(LSFT),END ); + BABLM( BABL_CLOSE_APP , D(LGUI),T(Q), U(LGUI),END ); + BABLM( BABL_HELP , D(LSFT),D(LGUI),T(SLASH), U(LGUI), U(LSFT),END ); + +#ifndef BABL_NOBROWSER + BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END ); + BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END ); + BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END ); + BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END ); + BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END ); + BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END ); + BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END ); + BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END ); + BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END ); + BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END ); + //BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE + BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome + // Chrome + BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache + BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F + BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), D(RSFT), T(EQL), U(RSFT), U(LGUI),END ); // ctr+ + + BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END ); +#endif +#endif + + return MACRO_NONE; +#endif + +#ifdef EMACS_MODE + + case EMACS_MODE: + switch(shortcut) { +//probably should allow meta to not be ALT + + BABLM( BABL_GO_LEFT_1C, T(LEFT), END ); + BABLM( BABL_GO_RIGHT_1C, T(RIGHT), END ); + BABLM( BABL_GO_LEFT_WORD, D(LALT), T(B), U(LALT), END ); + BABLM( BABL_GO_RIGHT_WORD , D(LALT), T(F), U(LALT), END ); + BABLM( BABL_GO_START_LINE , D(LCTL), T(A), U(LCTL), END ); + BABLM( BABL_GO_END_LINE , D(LCTL), T(E), U(LCTL), END ); + BABLM( BABL_GO_START_DOC , D(LALT), D(LSFT), T(COMM),U(LSFT), U(LALT) ,END ); + BABLM( BABL_GO_END_DOC , D(LALT), D(LSFT), T(DOT), U(LSFT), U(LALT) ,END ); + BABLM( BABL_GO_NEXT_LINE , D(LCTL), T(N), U(LCTL), END ); + BABLM( BABL_GO_PREV_LINE , D(LCTL), T(P), U(LCTL), END ); + BABLM( BABL_PGDN , D(LCTL), T(V), U(LCTL), END ); + BABLM( BABL_PGUP , D(LALT), T(V), U(LALT), END ); + BABLM( BABL_DEL_RIGHT_1C, D(LCTL), T(D), U(LCTL),END ); + BABLM( BABL_DEL_LEFT_WORD , D(LCTL), T(BSPACE), U(LCTL), END ); + BABLM( BABL_DEL_RIGHT_WORD , D(LALT), T(D), U(LALT), END ); + BABLM( BABL_DEL_TO_LINE_END, D(LCTL), T(K), U(LCTL), END ); + BABLM( BABL_DEL_TO_LINE_START, T(ESC), T(0), D(LCTL), T(K), U(LCTL), END ); +#ifndef BABL_MOVEMENTONLY + BABLM( BABL_UNDO , D(LCTL), T(X), U(LCTL),T(C), END ); + BABLM( BABL_REDO , D(LCTL), T(X), U(LCTL),T(C), END ); // arguably + BABLM( BABL_CUT , D(LCTL), T(W), U(LCTL), END ); + BABLM( BABL_COPY , D(LALT), T(W), U(LALT), END ); //really? + BABLM( BABL_PASTE , D(LCTL), T(Y), U(LCTL), END ); + BABLM( BABL_SELECT_ALL ,D(LCTL), T(X), U(LCTL),T(H), END ); + BABLM( BABL_FIND , D(LCTL), T(S), U(LCTL),END ); + BABLM( BABL_FIND_NEXT , D(LCTL), T(S), U(LCTL),END ); + BABLM( BABL_FIND_REPLACE , D(LALT),D(LSFT), T(5),U(LSFT), U(LALT), END ); + BABLM( BABL_RUNAPP , D(LALT), T(X), U(LALT),T(S),T(H),T(E),T(L),T(L),END );// arguably + BABLM( BABL_SWITCH_APP_NEXT , D(LCTL), T(X), U(LCTL),T(RIGHT), END ); // arguably + BABLM( BABL_SWITCH_APP_LAST , D(LCTL), T(X), U(LCTL),T(LEFT), END ); // arguably + BABLM( BABL_CLOSE_APP , D(LCTL), T(X), U(LCTL),T(C),END ); + BABLM( BABL_HELP , D(LCTL),T(H), U(LCTL),T(A),END); // start search in help +#ifndef BABL_NOBROWSER +/* you get to figure w3 out + BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END ); + BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END ); + BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END ); + BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END ); + BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END ); + BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END ); + BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END ); + BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END ); + BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END ); + BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END ); + //BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE + BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome + // Chrome + BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache + BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F + BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), D(RSFT), T(EQL), U(RSFT), U(LGUI),END ); // ctr+ + + BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END ); +*/ +#endif +#endif + break; + + return MACRO_NONE; + } + +#endif + + +#ifdef VI_MODE + case VI_MODE: +// you have to track the modes yourself. Otherwise motion is awful (bell, bell, bell) + + + BABLM( BABL_GO_LEFT_1C , T(H), END ); + BABLM( BABL_GO_RIGHT_1C , T(L), END ); + BABLM( BABL_GO_LEFT_WORD , T(B),END ); + BABLM( BABL_GO_RIGHT_WORD , T(W), END ); + BABLM( BABL_GO_START_LINE , D(LSFT), T(6),U(LSFT), END ); //^ + BABLM( BABL_GO_END_LINE , D(LSFT), T(4),U(LSFT) , END ); //$ + BABLM( BABL_GO_START_DOC , T(G),T(G) ,END ); + BABLM( BABL_GO_END_DOC , D(LSFT), T(G),U(LSFT),END ); + BABLM( BABL_GO_NEXT_LINE , T(J), END ); + BABLM( BABL_GO_PREV_LINE, T(K), END ); + BABLM( BABL_PGDN ,D(LCTL), T(F), U(LCTL), END ); + BABLM( BABL_PGUP , D(LCTL), T(B), U(LCTL), END ); + BABLM( BABL_DEL_RIGHT_1C , T(X),END ); + BABLM( BABL_DEL_LEFT_WORD , T(D),T(G),T(E),END ); + BABLM( BABL_DEL_RIGHT_WORD , T(D),T(W),END ); + BABLM( BABL_DEL_TO_LINE_END, T(D),D(LSFT), T(4),U(LSFT) ,END ); // d$ + BABLM( BABL_DEL_TO_LINE_START, T(D),D(LSFT), T(6),U(LSFT) ,END ); +#ifndef BABL_MOVEMENTONLY + BABLM( BABL_UNDO , T(U), END ); + BABLM( BABL_REDO , D(LCTL), T(R), U(LCTL), END ); + BABLM( BABL_CUT , T(X), END ); + BABLM( BABL_COPY , T(Y),END ); + BABLM( BABL_PASTE , T(P), END ); + BABLM( BABL_SELECT_ALL , D(LSFT), T(SCLN),U(LSFT),D(LSFT), T(5),U(LSFT),T(Y), END ); // wrong but helpful? + BABLM( BABL_FIND , T(SLASH),END ); + BABLM( BABL_FIND_NEXT , T(N),END ); + BABLM( BABL_FIND_REPLACE , D(LALT),D(LSFT), T(5),U(LSFT), U(LALT), END ); + BABLM( BABL_RUNAPP,END ); + BABLM( BABL_SWITCH_APP_NEXT ,END ); + BABLM( BABL_SWITCH_APP_LAST ,END ); + BABLM(BABL_CLOSE_APP, D(LSFT), T(SCLN),U(LSFT), T(Q), D(RSFT), T(1),U(RSFT), END ); + BABLM(BABL_HELP, D(LSFT), T(SCLN),U(LSFT),T(H),END); // start search in help +#ifndef BABL_NOBROWSER +/* you get to figure this out + BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END ); + BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END ); + BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END ); + BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END ); + BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END ); + BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END ); + BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END ); + BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END ); + BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END ); + BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END ); + //BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE + BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome + // Chrome + BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache + BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F + BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), T(PLUS), U(LGUI),END ); + BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END ); +*/ +#endif +#endif + return MACRO_NONE; +#endif + + + + +#ifdef READMUX_MODE +// Readline command line editing + tmux windowing +// I havent decided how much to do readline and how much tmux + + + case READMUX_MODE: + + BABLM( BABL_GO_LEFT_1C , T(LEFT), END ); + BABLM( BABL_GO_RIGHT_1C , T(RIGHT), END ); + BABLM( BABL_GO_LEFT_WORD , D(LALT), T(B), U(LALT), END ); + BABLM( BABL_GO_RIGHT_WORD , D(LALT), T(F), U(LALT), END ); + BABLM( BABL_GO_START_LINE , D(LCTL), T(A), U(LCTL), END ); + BABLM( BABL_GO_END_LINE , D(LCTL), T(E), U(LCTL), END ); + //BABLM( BABL_GO_START_DOC ,END );// tmux? + //BABLM( BABL_GO_END_DOC ,END ); // tmux? + BABLM( BABL_GO_NEXT_LINE , D(LCTL), T(N), U(LCTL), END ); + BABLM( BABL_GO_PREV_LINE , D(LCTL), T(P), U(LCTL), END ); + BABLM( BABL_PGDN , T(PGDN), END ); + BABLM( BABL_PGUP , T(PGUP), END ); + BABLM( BABL_DEL_RIGHT_1C , D(LCTL), T(D), U(LCTL),END ); + BABLM( BABL_DEL_LEFT_WORD , D(LCTL), T(W), U(LCTL), END ); + BABLM( BABL_DEL_RIGHT_WORD , D(LALT), T(D), U(LALT), END ); + BABLM( BABL_DEL_TO_LINE_END, D(LCTL), T(K), U(LCTL), END ); + BABLM( BABL_DEL_TO_LINE_START, D(LCTL), T(U), U(LCTL), END ); +#ifndef BABL_MOVEMENTONLY + BABLM( BABL_UNDO , D(LALT), T(R), U(LALT) , END ); + BABLM( BABL_REDO , D(LCTL), T(X), U(LCTL),T(C), END ); // arguably + BABLM( BABL_CUT , D(LCTL), T(K), U(LCTL), END ); // wrong half the time + //BABLM( BABL_COPY ,END ); + BABLM( BABL_PASTE , D(LCTL), T(Y), U(LCTL), END ); + BABLM( BABL_SELECT_ALL , D(LCTL), T(A), T(K), T(Y), U(LCTL) , END ); + BABLM( BABL_FIND , D(LCTL), T(R), U(LCTL), END ); // search history + BABLM(BABL_FIND_NEXT, D(LCTL), T(S), U(LCTL), END ); + //BABLM( BABL_FIND_REPLACE ,END ); + BABLM( BABL_RUNAPP , D(LCTL), T(B), U(LCTL), T(C),END ); //tmux + BABLM( BABL_SWITCH_APP_NEXT , D(LCTL), T(B), U(LCTL), T(N),END ); //tmux + BABLM( BABL_SWITCH_APP_LAST , D(LCTL), T(B), U(LCTL), T(P),END ); //tmux + BABLM( BABL_CLOSE_APP , D(LCTL), T(B), U(LCTL), T(D),END); // usually what I want + // BABLM( BABL_HELP ,END ); +#ifndef BABL_NOBROWSER +/* Add lynx shortcuts? + BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END ); + BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END ); + BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END ); + BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END ); + BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END ); + BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END ); + BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END ); + BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END ); + BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END ); + BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END ); + //BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE + BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome + // Chrome + BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache + BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F + BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), T(PLUS), U(LGUI),END ); + BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END ); +*/ +#endif +#endif + + return MACRO_NONE; + +#endif + + default: + return MACRO_NONE; + } + +} + + +#endif \ No newline at end of file diff --git a/keyboards/handwired/MS_sculpt_mobile/babblePaste.h b/keyboards/handwired/MS_sculpt_mobile/babblePaste.h new file mode 100644 index 0000000000..3067c854de --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/babblePaste.h @@ -0,0 +1,238 @@ +/* A library to output the right key shortcut in any common app. +Given a global variable babble_mode to show the environment and a +key that calls the paste macro, do the right type of paste. + +Setting the bable_mode is done by another macro, or TBD interaction with the host. + +Huge thanks to https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts +and jeebak & algernon's keymap +*/ +#ifndef _babblePaste_h_included__ +#define _babblePaste_h_included__ +#include "action_layer.h" +#include "quantum_keycodes.h" +#include "config.h" + +#ifdef USE_BABLPASTE + +/* *************************** + +// Uncomment any modes you want. Whatever mode = 0 will be the default on boot +// Expect to get errors if you comment a feature out and leave it in your keymap. + +#define USE_BABLPASTE + +//#define MS_MODE 0 // Windows. +//#define MAC_MODE 1 +//#define LINUX_MODE 2 //aka gnome+KDE +//#define EMACS_MODE 3 +//#define VI_MODE 4 +//#define WORDSTAR_MODE 5 +//#define READMUX 6 // Readline and tmux + +// This removes everything but cursor movement +//#define BABL_MOVEMENTONLY +// and this just removes browser shortcuts +//#define BABL_NOBROWSER +****************************/ + + +// Uncomment if you need more free flash space +// It removes everything but cursor movement +//#define BABL_MOVEMENTONLY + + +// Define starting number for BABL macros in the macro range. +// Probably can start the default even lower +#define BABL_START_NUM 50 + +/* Macros handled by babblepaste. Most should be available for all platforms. +Whatever isn't defined will NOP */ +enum { +// Movement macros + // left & right + BABL_GO_LEFT_1C= BABL_START_NUM, + BABL_GO_RIGHT_1C, + BABL_GO_LEFT_WORD, + BABL_GO_RIGHT_WORD, + BABL_GO_START_LINE, + BABL_GO_END_LINE, + // now up & down + BABL_GO_START_DOC, + BABL_GO_END_DOC, + BABL_GO_NEXT_LINE, + BABL_GO_PREV_LINE, + BABL_PGDN, + BABL_PGUP, + // And the delete options + //BABL_DEL_LEFT_1C == backspace, so why bother. + BABL_DEL_RIGHT_1C, // usually = Del + BABL_DEL_LEFT_WORD, + BABL_DEL_RIGHT_WORD, + BABL_DEL_TO_LINE_END, // delete from cursor to end of line + BABL_DEL_TO_LINE_START, // delete from cursor to begining line +#ifndef BABL_MOVEMENTONLY + // Cut & Paste + BABL_UNDO, + BABL_REDO, + BABL_CUT, + BABL_COPY, + BABL_PASTE, + BABL_SELECT_ALL, + /* not yet implemented + BABL_SWAP_LAST2C // swap last characters before the cursor + BABL_SWAP_LAST2W // Swap the last two words before the cursor + */ + // find & replace + BABL_FIND, + BABL_FIND_NEXT, + BABL_FIND_REPLACE, + // GUI or app + BABL_RUNAPP, + BABL_SWITCH_APP_NEXT, + BABL_SWITCH_APP_LAST, // previous + BABL_CLOSE_APP, + BABL_HELP, + +#ifndef BABL_NOBROWSER + BABL_BROWSER_NEW_TAB, + BABL_BROWSER_CLOSE_TAB, + BABL_BROWSER_REOPEN_LAST_TAB, + BABL_BROWSER_NEXT_TAB, + BABL_BROWSER_PREV_TAB, + BABL_BROWSER_URL_BAR, + BABL_BROWSER_FORWARD, + BABL_BROWSER_BACK, + BABL_BROWSER_FIND, + BABL_BROWSER_BOOKMARK, + BABL_BROWSER_DEV_TOOLS, // hard one to remember + BABL_BROWSER_RELOAD, + BABL_BROWSER_FULLSCREEN, + BABL_BROWSER_ZOOM_IN, + BABL_BROWSER_ZOOM_OUT, + +#endif + +#endif +// Macros for mode switching +#ifdef MS_MODE + BABL_WINDOWS, +#endif +#ifdef MAC_MODE + BABL_MAC, +#endif +#ifdef LINUX_MODE + BABL_LINUX, +#endif +#ifdef EMACS_MODE + BABL_EMACS, +#endif +#ifdef VI_MODE + BABL_VI, +#endif +#ifdef READMUX_MODE + BABL_READLINE, +#endif + + +}; + +// BUG, used to jump to babble functiion. Surely there is a way to calculate size of enum? +#define BABL_NUM_MACROS 48+4 // 48 + # of defined modes. + +/* And all the shorthand keymap ready versions */ +// First the mode switching macros +#ifdef MS_MODE +#define B_WIN M(BABL_WINDOWS) +#endif +#ifdef MAC_MODE +#define B_MAC M(BABL_MAC) +#endif +#ifdef LINUX_MODE +#define B_LNX M(BABL_LINUX) +#endif +#ifdef EMACS_MODE +#define B_EMAX M(BABL_EMACS) +#endif +#ifdef VI_MODE +#define B_VI M(BABL_VI) +#endif +#ifdef READMUX_MODE +#define B_READ M(BABL_READLINE) +#endif + +// and all the movement & action. + +#define B_L1C M(BABL_GO_LEFT_1C) +#define B_R1C M(BABL_GO_RIGHT_1C) +#define B_L1W M(BABL_GO_LEFT_WORD) +#define B_R1W M(BABL_GO_RIGHT_WORD) +#define B_GSOL M(BABL_GO_START_LINE) +#define B_GEOL M(BABL_GO_END_LINE) +#define B_GTOP M(BABL_GO_START_DOC) +#define B_GEND M(BABL_GO_END_DOC) +#define B_DOWN M(BABL_GO_NEXT_LINE) +#define B_UP M(BABL_GO_PREV_LINE) +#define B_PGDN M(BABL_PGDN) +#define B_PGUP M(BABL_PGUP) +//#define B_BKSP M(BABL_DEL_LEFT_1C) == backspace so why bother. +#define B_DEL M(BABL_DEL_RIGHT_1C) // usually = Del +#define B_DLW M(BABL_DEL_LEFT_WORD) +#define B_DRW M(BABL_DEL_RIGHT_WORD) +#define B_DEOL M(BABL_DEL_TO_LINE_END) // delete from cursor to end of line +#define B_DSOL M(BABL_DEL_TO_LINE_START) // delete from cursor to begining line +#define B_UNDO M(BABL_UNDO) +#define B_REDO M(BABL_REDO) +#define B_CUT M(BABL_CUT) +#define B_COPY M(BABL_COPY) +#define B_PAST M(BABL_PASTE) +#define B_SELA M(BABL_SELECT_ALL) +#define B_FIND M(BABL_FIND) +#define B_FINDN M(BABL_FIND_NEXT) +#define B_FINDR M(BABL_FIND_REPLACE) +#define B_RAPP M(BABL_RUNAPP) +#define B_NAPP M(BABL_SWITCH_APP_NEXT) +#define B_PAPP M(BABL_SWITCH_APP_LAST) // previous +#define B_CAPP M(BABL_CLOSE_APP) +#define B_HELP M(BABL_HELP) +#define B_NTAB M(BABL_BROWSER_NEW_TAB) +#define B_CTAB M(BABL_BROWSER_CLOSE_TAB) +#define B_ROTB M(BABL_BROWSER_REOPEN_LAST_TAB) +#define B_NXTB M(BABL_BROWSER_NEXT_TAB) +#define B_PTAB M(BABL_BROWSER_PREV_TAB) +#define B_NURL M(BABL_BROWSER_URL_BAR) +#define B_BFWD M(BABL_BROWSER_FORWARD) +#define B_BBAK M(BABL_BROWSER_BACK) +#define B_BFND M(BABL_BROWSER_FIND) +#define B_BOOK M(BABL_BROWSER_BOOKMARK) +#define B_BDEV M(BABL_BROWSER_DEV_TOOLS) // hard one to remember +#define B_BRLD M(BABL_BROWSER_RELOAD) +#define B_BFUlL M(BABL_BROWSER_FULLSCREEN) +#define B_ZMIN M(BABL_BROWSER_ZOOM_IN) +#define B_ZMOT M(BABL_BROWSER_ZOOM_OUT) + + + + + + + +/* from action_macro.h +typedef uint8_t macro_t; + +#define MACRO_NONE (macro_t*)0 +#define MACRO(...) ({ static const macro_t __m[] PROGMEM = { __VA_ARGS__ }; &__m[0]; }) +#define MACRO_GET(p) pgm_read_byte(p) + +#define BABL_MSTART (entry, os, macro...) ( const macro_t bablDict[entry][os] PROGMEM = { macro... }; ) + +*/ + +const macro_t *babblePaste(keyrecord_t *record, uint8_t shortcut); + +macro_t* switch_babble_mode( uint8_t id); + + +#endif +#endif + diff --git a/keyboards/handwired/MS_sculpt_mobile/babblePaste.txt b/keyboards/handwired/MS_sculpt_mobile/babblePaste.txt new file mode 100644 index 0000000000..cf75e153e8 --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/babblePaste.txt @@ -0,0 +1,123 @@ + BabblePaste is a library of common macros used to make sure that +you can have one "paste" button on one layer, and it will do the +right thing on any OS or app. Windows=Ctrl-V. Mac = Command-V and so on. + +The babblepaste library looks for the current status in a babble_mode global variable. +To switch modes, run the switch_babble_mode() function, or a pre defined macro. +Currently supported are Windows, OS X, Gnome/kde, Emacs, VI and readline, +across 42+ common macro actions. + + +###To use the library +1) Paste the following into your config.h. + +//////Begin////// +#define USE_BABLPASTE 1 + +#ifdef USE_BABLPASTE +/* define BabblePaste maps. Whatever = 0 will be the default. */ +// MAC_MODE 0 +// MS_MODE 1 +// LINUX_MODE 2 +// EMACS_MODE 3 +// VI_MODE 3 +// Readline and tmux +// READMUX_MODE 2 +// WORDSTAR_MODE 5 +#endif + +// Uncomment these to remove options an free up flash space + +// This removes everything but cursor movement +// BABL_MOVEMENTONLY +// and this just removes browser shortcuts +// BABL_NOBROWSER +///////End/////// + +2) Add the following to your keymap in the action_get_macro + +//////Begin////// +#ifdef USE_BABLPASTE + + if( id >= BABL_START_NUM && id < (BABL_START_NUM + BABL_NUM_MACROS ) ) { + if (record->event.pressed) { // is there a case where this isn't desired? + + babblePaste ( record, id ); + return MACRO_NONE; + } + } +#endif +///////End/////// + +3) add Babbelpaste actions to your keymap. See the full list in babblePaste.h, or the +list below +B_L1C // go left 1 char +B_R1C // go Right 1 char + B_L1W //GO_LEFT_1 WORD + B_R1W //BABL_GO_RIGHT_1 WORD + B_GSOL // BABL_GOTO_START of _LINE + B_GEOL // BABL_GOTO_END_LINE + B_GTOP //BABL_GOTO_START_DOC + B_GEND //BABL_GO_END_DOC + B_DOWN //BABL_GO_NEXT_LINE + B_UP // BABL_GO_PREV_LINE + B_PGDN //PGDN + B_PGUP //PGUP +// B_BKSP //backspace so why bother. + B_DEL // DEL_RIGHT_1 Char // usually = Del + B_DLW // DEL_LEFT_ 1 WORD) + B_DRW //DEL_RIGHT_1 WORD + B_DEOL // delete from cursor to end of line + B_DSOL // delete from cursor to begining line + B_UNDO //UNDO + B_REDO // REDO + B_CUT // CUT) + B_COPY // COPY) + B_PAST // PASTE) + B_SELA // SELECT_ALL + B_FIND // FIND) + B_FINDN //FIND_NEXT) + B_FINDR // FIND_REPLACE) + B_RAPP // open application launcher + B_NAPP // switch to next app + B_PAPP // switch to previous app + B_CAPP // CLOSE_APP) + B_HELP // HELP) + B_NTAB // BROWSER_NEW_TAB) + B_CTAB //BROWSER_CLOSE_TAB) + B_ROTB //BROWSER_REOPEN_LAST_TAB) + B_NXTB //BROWSER_NEXT_TAB) + B_PTAB //BROWSER_PREV_TAB) + B_NURL //BROWSER_jump to URL_BAR) + B_BFWD // BROWSER_FORWARD (in history) + B_BBAK //BROWSER_BACK (in history) + B_BFND // BROWSER_FIND) + B_BOOK //BROWSER_New BOOKMARK) + B_BDEV //BROWSER_ Open DEV_TOOLS) // hard one to remember + B_BRLD // BROWSER_RELOAD Page + B_BFUlL // BROWSER_FULLSCREEN) + B_ZMIN // BROWSER_ZOOM_IN) + B_ZMOT //BROWSER_ZOOM_OUT) + + +#### Development notes +-Why a new function? Because it would make the keymap too ugly to put it there. +-Why not return the macro to action_get_macro? Because I kept running into scope problems +and pointers to the wrong type. +-Why not an array of arrays as a lookup instead of a function? That would allow you +to store the lookup table in PROGMEM. True, but that takes more pre-processor skill +than I had. + +-Have you tested this on every platform? No. Submit a patch. + + +### Next steps for someone. +Make it easier to pair macros with modifiers. So key foo will jump to start of line, and +Shift(foo) will jump to the first tab in a browser. + +## Thanks + +Thanks to https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts +and https://github.com/qmk/qmk_firmware/blob/master/keyboards/planck/keymaps/jeebak/keymap.c +And of course QMK... + diff --git a/keyboards/handwired/MS_sculpt_mobile/config.h b/keyboards/handwired/MS_sculpt_mobile/config.h new file mode 100644 index 0000000000..f89514278d --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/config.h @@ -0,0 +1,100 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Microsoftplus +#define DESCRIPTION 6000 + +/* key matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 18 + +#ifdef ASTAR +#define PRODUCT sculpt mobile astar + /*0 1 2 3 4 5 6 7 8 */ +#define MATRIX_ROW_PINS {D7, C6, D4, D0, D1, D3, D2, E2} +/* A B C D E F G H I J K L M N O P Q R */ +#define MATRIX_COL_PINS {B4, B5, E6, B7, B6, D6, C7, F7, F6, F4,F5, F1,F0, D5, B0, B1, B2, B3} + +#else +#define PRODUCT sculpt mobile teensypp +/* 0 1 2 3 4 5 6 7 */ +#define MATRIX_ROW_PINS { F7,F6,F4,F5,F3,F2,F1,F0} +/* A B C D E F G H I J K L M N O P Q R */ +#define MATRIX_COL_PINS { B7, D0, D1, D2, D3, D4, D5, D6, D7, E0,E1,C1, C0, C3, C2, C5, C4,C7} +#define UNUSED_PINS { B6,B5,B4,B3,B2,B1,B0 } + + +#endif + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCING_DELAY 5 + +/* define if matrix has ghost (lacks anti-ghosting diodes) */ +//#define MATRIX_HAS_GHOST + + +/* + * Magic Key Options + * + * Magic keys are hotkey commands that allow control over firmware functions of + * the keyboard. They are best used in combination with the HID Listen program, + * found here: https://www.pjrc.com/teensy/hid_listen.html + * + * The options below allow the magic key functionality to be changed. This is + * useful if your keyboard/keypad is missing keys and you want magic key support. + * + */ + +/* key combination for magic key command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +#define PREVENT_STUCK_MODIFIERS + +#endif diff --git a/keyboards/handwired/MS_sculpt_mobile/keymaps/default/Makefile b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/Makefile new file mode 100644 index 0000000000..8b829218b2 --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/Makefile @@ -0,0 +1,21 @@ +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +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 = no # Enable keyboard backlight functionality +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. Do not enable this with audio at the same time. +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../../Makefile +endif diff --git a/keyboards/handwired/MS_sculpt_mobile/keymaps/default/config.h b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/config.h new file mode 100644 index 0000000000..8893d122e0 --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/config.h @@ -0,0 +1,8 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +// place overrides here + +#endif diff --git a/keyboards/handwired/MS_sculpt_mobile/keymaps/default/keymap.c b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/keymap.c new file mode 100644 index 0000000000..ab09dcdd1c --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/keymap.c @@ -0,0 +1,64 @@ +#include "MS-sculpt-mobile.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* +* +* |ESC | F1 | F2 | F3 | F4 | F5 | F6 | f7 | F8 | F9 | F10| F11| F12|Vol-|Vol+|Mute| +* -------------------------------------------------------------------------------' +* | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bakspace| Del | +* -------------------------------------------------------------------------- +* | tab | q | w | e | r | t | y | u | i | o | p | [ | ] | \ | | +* -------------------------------------------------------------------------------' +* | caps | a | s | d | f | g | h | j | k | l | ; | ' | enter |PgUp| +* -------------------------------------------------------------------------------- +* |Lsft | z | x | c | v | b | n | m | , | . | / | Rsft| Up| PgDn| +* --------------------------------------------------------------------------------- +* |Lctl |Lgui |Lalt | Space |Ralt | FN | Rctl |Left|Down|Rght| +* --------------------------------------------------------------------------------- +*/ + +[0] = KEYMAP( \ + 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_VOLD, KC_VOLU, KC_MUTE,\ + KC_GRAVE, KC_1, KC_2, KC_3 ,KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, 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_PGUP,\ + 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_PGDN,\ + KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, RSFT(KC_1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT +) + +}; +const uint16_t PROGMEM fn_actions[] = { + +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + + +void matrix_init_user(void) { + +} + +void matrix_scan_user(void) { + +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + return true; +} + +void led_set_user(uint8_t usb_led) { + +} diff --git a/keyboards/handwired/MS_sculpt_mobile/keymaps/default/readme.md b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/readme.md new file mode 100644 index 0000000000..e67ddc6fec --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/readme.md @@ -0,0 +1 @@ +# The default keymap for microsoft-sculpt-mobile diff --git a/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/Makefile b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/Makefile new file mode 100644 index 0000000000..1209ad7814 --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/Makefile @@ -0,0 +1,21 @@ +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +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 = no # Enable keyboard backlight functionality +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. Do not enable this with audio at the same time. +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../../Makefile +endif diff --git a/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/config.h b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/config.h new file mode 100644 index 0000000000..8cf4202cda --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/config.h @@ -0,0 +1,32 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +#define USE_BABLPASTE + +// Expect to get errors if you comment a feature out and leave it in your keymap. + +#ifdef USE_BABLPASTE +//define BabblePaste maps +// Windows. +#define MAC_MODE 0 +#define MS_MODE 1 +//aka gnome+KDE +//#define LINUX_MODE 2 +//#define EMACS_MODE 3 +#define VI_MODE 3 +// Readline and tmux +#define READMUX_MODE 2 +//#define WORDSTAR_MODE 5 +#endif + +// Uncomment if you need more free flash space + +// This removes everything but cursor movement +//#define BABL_MOVEMENTONLY +// and this just removes browser shortcuts +//#define BABL_NOBROWSER + +// place overrides here +#endif diff --git a/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/keymap.c b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/keymap.c new file mode 100644 index 0000000000..395a9fb470 --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/keymap.c @@ -0,0 +1,272 @@ +#include "MS-sculpt-mobile.h" +#include "action_layer.h" +#include "action_util.h" +#include "babblePaste.h" + +#ifdef AUDIO_ENABLE + #include "audio.h" +#endif + +#define _QWR 0 +#define _CDH 2 +#define _SYM 3 +#define _MOV 4 +#define _TRAN 5 + + +enum layer_keycodes { +QWR, +CDH, +SYM, +MOV, +NUM, +TRAN +}; + + +// Shorter spacing +#define XXXX KC_NO +#define ____ KC_TRNS + +// Custom macros + +/* Fn Keys */ +#define TT_SYM MO(_SYM) +#define TT_MOV KC_FN2 +#define TT_NUM MO(_NUM) +#define SSFT ACTION_MODS_ONESHOT(MOD_LSFT) + +enum macro_keycodes { +DHPASTE=1, +VIBRK, +}; + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* QWERTY +* +* |ESC | F1 | F2 | F3 | F4 | F5 | F6 | f7 | F8 | F9 | F10| F11| F12|Vol-|Vol+|_CDH| +* -------------------------------------------------------------------------------' +* | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bakspace| Del| +* --------------------------------------------------------------------------- +* | tab | q | w | e | r | t | y | u | i | o | p | [ | ] | \ | | +* -------------------------------------------------------------------------------' +* |Bak/Mov| a | s | d | f | g | h | j | k | l | ; | ' | enter |PgUp| +* -------------------------------------------------------------------------------- +* |Lsft | z | x | c | v | b | n | m | , | . | / | Rsft| Up| PgDn| +* --------------------------------------------------------------------------------- +* |Lctl |Lgui |Lalt | Space/Sym | GUI | Sym | Rctl |Left|Down|Rght| +* --------------------------------------------------------------------------------- +*/ + +[_QWR] = KEYMAP( \ + 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_VOLD, KC_VOLU, CDH,\ + KC_ESC, KC_1, KC_2, KC_3 ,KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, 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,\ + TT_MOV, 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_PGUP,\ + 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_PGDN,\ + KC_LCTL, KC_LGUI, KC_LALT, KC_FN1, KC_RGUI,TT_SYM,KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT +), + +[_CDH] = KEYMAP (\ + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, QWR, \ + KC_ESC, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, ____, ____, ____,\ + TT_MOV, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_2,\ + KC_LSFT, KC_Z, KC_X, KC_C, M(DHPASTE), KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, ____, KC_1,\ + ____, ____, ____ , KC_FN1, ____, ____, ____, ____, ____, ____ + +), + + +/* SYM +* +* |ESC | F1 | F2 | F3 | F4 | F5 | F6 | f7 | F8 | F9 | F10| F11| F12|Vol-|Vol+|_CDH| +* -------------------------------------------------------------------------------' +* | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bakspace|Del | +* -------------------------------------------------------------------------- +* | ESC: | ^ | { | } | @ | % | | [ | ( | ) | _ | [ | ] | \ | | +* -------------------------------------------------------------------------------' +* |Bak/Mov| ! | # | 0 | = | { | } | - | 1 | + | ] | ` | enter |PgUp| +* -------------------------------------------------------------------------------- +* |Lsft | ; | ~ | : | ~ | "|"| $ | * | | . | / | Rsft| Up| PgDn| +* --------------------------------------------------------------------------------- +* |Lctl |Lgui |Lalt | Space/Sym | GUI | Sym | Rctl |Left|Down|Rght| +* --------------------------------------------------------------------------------- +*/ + +[_SYM] = KEYMAP (\ + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ + M(VIBRK), KC_CIRC, KC_LCBR, KC_RCBR,KC_AT, KC_PERC, ____, KC_LBRC,KC_LPRN,KC_RPRN,KC_UNDS, ____, ____, ____,\ + ____, KC_EXLM, KC_HASH, KC_0, KC_EQL, KC_LCBR, KC_RCBR,KC_MINS,KC_1, KC_PLUS,KC_RBRC, KC_GRV, ____, ____,\ + ____, KC_SCLN, KC_TILDE, KC_COLN, KC_TILDE, KC_PIPE, KC_DLR, KC_ASTR, ____, KC_DOT , KC_SLSH, ____, ____, ____,\ + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____ +), +/* +* |ESC | MAC| Win|RdLn| VI | | | | | | | | | | | | +* -------------------------------------------------------------------------------' +* | | | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bakspace| Del| +* --------------------------------------------------------------------------- +* | tab | | |Find| |pTab |DSOL|DelW| Up |DelW|DEOL| [ | ] | \ | | +* -------------------------------------------------------------------------------' +* |Bak/Mov| | | | |nTab |GSOL| <- | Dwn | -> | EOL | ' | enter |PgUp| +* -------------------------------------------------------------------------------- +* |Lsft |Undo| Cut|Copy|Pste| | | | | | / | Rsft| Up| PgDn| +* --------------------------------------------------------------------------------- +* |Lctl |Lgui |Lalt | Space/Sym | GUI | Sym | Rctl |Left|Down|Rght| +* --------------------------------------------------------------------------------- +*/ + +[_MOV] = KEYMAP (\ + ____, B_MAC,B_WIN,B_READ, B_VI, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ + ____, ____, B_PAPP, B_NAPP, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ + ____, B_UNDO, ____, B_BFND, ____, B_PTAB, B_DSOL, B_DLW, B_UP, B_DRW, B_DEOL, ____, ____, ____, \ + ____, B_SELA, B_BRLD, ____, ____, B_NXTB, B_GSOL, B_L1C, B_DOWN, B_R1C,B_GEOL, ____, ____, ____,\ + ____, B_UNDO,B_CUT, B_COPY, B_PAST, B_PAST, ____, ____, ____, ____, ____, ____, ____, ____, \ + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____ +), + +[_TRAN] = KEYMAP (\ + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____ +) +}; + +const uint16_t PROGMEM fn_actions[] = { +[1] = ACTION_LAYER_TAP_KEY(_SYM,KC_SPACE), +[2] = ACTION_LAYER_TAP_KEY(_MOV,KC_BSPC) +}; + +#ifdef AUDIO_ENABLE + +float tone_startup[][2] = SONG(STARTUP_SOUND); +float tone_qwerty[][2] = SONG(QWERTY_SOUND); +float tone_colemak[][2] = SONG(COLEMAK_SOUND); +#endif + + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWR: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_qwerty, false, 0); + #endif + layer_off(_CDH); + } + return false; + break; + + case CDH: + if (record->event.pressed) { + #ifdef AUDIO_ENABLE + PLAY_NOTE_ARRAY(tone_colemak, false, 0); + #endif + layer_on(_CDH); + } + return false; + break; + + case SYM: + if (record->event.pressed) { + layer_on(_SYM); + } else { + layer_off(_SYM); + } + return false; + break; + + } + return true; + +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + +/* If id is in the range of BABL macros, call the babl function */ +/* Any clever remapping with modifiers should happen here e.g. shift bablkey does opposite*/ +#ifdef USE_BABLPASTE + + if( id >= BABL_START_NUM && id < (BABL_START_NUM + BABL_NUM_MACROS ) ) { + if (record->event.pressed) { // is there a case where this isn't desired? + + babblePaste ( record, id ); + return MACRO_NONE; + } + } +#endif + + + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + + /* Colemak mod-dh moves the D key to the qwerty V position + This hack makes apple-V_position do what I mean */ + case DHPASTE: + if(keyboard_report->mods & MOD_BIT(KC_LGUI) ) { + if (record->event.pressed) { + clear_keyboard_but_mods(); + register_code(KC_V); + } else { + unregister_code(KC_V); + } + } else { + if (record->event.pressed) { + register_code(KC_D); + } else { + unregister_code(KC_D); + } + } + break; + + case VIBRK: // vi esc: + if (record->event.pressed) { + return MACRO( T(ESC),D(LSFT),T(SCLN),U(LSFT), END ); + } + break; + + + + + default: + return MACRO_NONE; + } + + +return MACRO_NONE; +}; + + + + + +void matrix_init_user(void) { +} + +void matrix_scan_user(void) { + +} + + +void led_set_user(uint8_t usb_led) { + +} + + + + + + diff --git a/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/readme.md b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/readme.md new file mode 100644 index 0000000000..96ee0e77a5 --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/readme.md @@ -0,0 +1 @@ +# A more programmer oriented keymap for microsoft-sculpt-mobile diff --git a/keyboards/handwired/MS_sculpt_mobile/readme.md b/keyboards/handwired/MS_sculpt_mobile/readme.md new file mode 100644 index 0000000000..d435b449fb --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/readme.md @@ -0,0 +1,58 @@ + +This is a way to take a Microsoft ergonomic bluetooth keyboard, and make it +into a hard-wired keyboard running QMK. + +The keyboard is known under several different names: +Mobile Bluetooth 5000, Mobile 6000, Sculpt mobile, and Asus rebranded + +I had a stack of them,since they're cheap on ebay, travel well, and are just ergo enough. + +The ribbon cable is 1mm pitch, which is hard to hand solder. I bought a cheap set of +"pitch adapter" boards https://www.amazon.com/Double-Sided-0-4mm-1-0-Adapter-60mmx38mm/dp/B00OK42118 + +Cut the original ribbon cable sockets off the bluetooth board using a razor, they're hard to desolder. +They're also allow the cable to be inserted on top or bottom. + +If I was going to do it again, I'd make the MCU connection come out the top of the keyboard +and avoid the wires dangling out the bottom. + +As I was debugging the matrix, I started to get random failures. In desparation I tried a second MCU, +but had the same problems. It turns out that the ribbon cable connections can get worn. Shave a +half millimeter off the end of the ribbon cable & the errors go away. + +My method for discovering the matrix was to set up a KEYMAP macro that included all pins. +See MATRIX_TESTING_KEYMAP if you need it. Then set up a keymap that has all printable symbols +in the first 4 rows. test each key & record output. Then switch the printable symbols to the +bottom 4 rows & repeat. This was enough to show the matrix. + + +The full original keymap for the sculpt is + A B C D E F G H ---> +0 b n m , . / +1 g h " +2 7 8 9 0 Del PgUp +3 p [ ] \ +4 y u i o +5 ~ - += j k l ; 5 +6 a s d q w e, Up left +7 F7 F8 F9 F10 F11 F12 f + +-----> I J K L M N O P Q R +0 Caps FN +1 Vol+ mute Rctl vol- pgdn LCTL +2 Rshift LShift +3 Ralt LAlt +4 LGUI +5 6 bakspc 1 2 3 4 F4 F5 F6 +6 Down right spc F1 F2 F3 tab +7 r t z x c v enter Esc + +This works with 18 cols + 8 rows on a Teensy++, or Arm based Teensy. + +The Astar mini has all pins exposed , so you can do 18x8 +If you want a speaker, LEDs &etc, you'll need to free up a pin. I recommend joining columns +R and L to the same pin. + +Building - add ASTAR=1 to the compile line or leave out for teensy2++ + + diff --git a/keyboards/handwired/MS_sculpt_mobile/rules.mk b/keyboards/handwired/MS_sculpt_mobile/rules.mk new file mode 100644 index 0000000000..680389c846 --- /dev/null +++ b/keyboards/handwired/MS_sculpt_mobile/rules.mk @@ -0,0 +1,48 @@ + +## Project specific files +SRC= babblePaste.c + + +ifdef ASTAR + CFLAGS=-D ASTAR + OPT_DEFS += -DBOOTLOADER_SIZE=4096 + MCU = atmega32u4 + OPT_DEFS += -DCATERINA_BOOTLOADER + SCULPT_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done ; \ + avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB) + +else + MCU = at90usb1286 + OPT_DEFS += -DBOOTLOADER_SIZE=2048 + SCULPT_UPLOAD_COMMAND = teensy_loader_cli -w -mmcu=$(MCU) $(TARGET).hex +endif + +F_CPU = 16000000 +ARCH = AVR8 +F_USB = $(F_CPU) +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + +# +BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= no # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= yes # Console for debug(+400) +COMMAND_ENABLE ?= yes # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE ?= no # USB Nkey Rollover +BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default +MIDI_ENABLE ?= no # MIDI controls +UNICODE_ENABLE ?= no # Unicode +BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE ?= no # Audio output on port C6 + + +USB ?= /dev/cu.usbmodem14141 + + + +upload: build + $(SCULPT_UPLOAD_COMMAND) -- cgit v1.2.3 From bbe8876c8df3d37c7fd2b85bd2ef9a1a60ad5fe1 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Sun, 9 Apr 2017 22:49:07 +0300 Subject: Rename MS-sculpt-mobile to MS_scuplpt_mobile Subprojects with "-" have problems, since the build system creates a define containing the subproject name, and "-" is illegal in macro names. --- keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.c | 2 +- keyboards/handwired/MS_sculpt_mobile/babblePaste.c | 7 ++++--- keyboards/handwired/MS_sculpt_mobile/babblePaste.h | 2 +- keyboards/handwired/MS_sculpt_mobile/keymaps/default/config.h | 2 +- keyboards/handwired/MS_sculpt_mobile/keymaps/default/keymap.c | 2 +- keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/config.h | 2 +- keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/keymap.c | 4 ++-- 7 files changed, 11 insertions(+), 10 deletions(-) diff --git a/keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.c b/keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.c index 4c735a6c29..64982fb62d 100644 --- a/keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.c +++ b/keyboards/handwired/MS_sculpt_mobile/MS_sculpt_mobile.c @@ -1 +1 @@ -#include "MS-sculpt-mobile.h" +#include "MS_sculpt_mobile.h" diff --git a/keyboards/handwired/MS_sculpt_mobile/babblePaste.c b/keyboards/handwired/MS_sculpt_mobile/babblePaste.c index 3a9b86997d..22394cc7d2 100644 --- a/keyboards/handwired/MS_sculpt_mobile/babblePaste.c +++ b/keyboards/handwired/MS_sculpt_mobile/babblePaste.c @@ -7,7 +7,8 @@ Huge thanks to https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts and https://github.com/qmk/qmk_firmware/blob/master/keyboards/planck/keymaps/jeebak/keymap.c */ -#include "babblePaste.h" +#include "../MS_sculpt_mobile/babblePaste.h" + #include "action_macro.h" #ifdef USE_BABLPASTE @@ -27,7 +28,7 @@ macro_t* switch_babble_mode( uint8_t id) { // And else statements have problems, see https://gcc.gnu.org/onlinedocs/gcc-3.0.1/cpp_3.html#SEC15 #define BABLM(ent, macro...) \ if ( ent == shortcut ) \ - { action_macro_play( MACRO(macro)); return MACRO_NONE; } + { action_macro_play( MACRO(macro)); return MACRO_NONE; } /* this function runs the appropriate babblepaste macro, given @@ -456,4 +457,4 @@ const macro_t *babblePaste (keyrecord_t *record, uint8_t shortcut) { } -#endif \ No newline at end of file +#endif diff --git a/keyboards/handwired/MS_sculpt_mobile/babblePaste.h b/keyboards/handwired/MS_sculpt_mobile/babblePaste.h index 3067c854de..cedd7d92ba 100644 --- a/keyboards/handwired/MS_sculpt_mobile/babblePaste.h +++ b/keyboards/handwired/MS_sculpt_mobile/babblePaste.h @@ -9,9 +9,9 @@ and jeebak & algernon's keymap */ #ifndef _babblePaste_h_included__ #define _babblePaste_h_included__ +#include "../MS_sculpt_mobile/config.h" #include "action_layer.h" #include "quantum_keycodes.h" -#include "config.h" #ifdef USE_BABLPASTE diff --git a/keyboards/handwired/MS_sculpt_mobile/keymaps/default/config.h b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/config.h index 8893d122e0..4f3a425b7e 100644 --- a/keyboards/handwired/MS_sculpt_mobile/keymaps/default/config.h +++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/config.h @@ -1,7 +1,7 @@ #ifndef CONFIG_USER_H #define CONFIG_USER_H -#include "../../config.h" +#include "../../../MS_sculpt_mobile/config.h" // place overrides here diff --git a/keyboards/handwired/MS_sculpt_mobile/keymaps/default/keymap.c b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/keymap.c index ab09dcdd1c..a8802c99a4 100644 --- a/keyboards/handwired/MS_sculpt_mobile/keymaps/default/keymap.c +++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -#include "MS-sculpt-mobile.h" +#include "../../MS_sculpt_mobile.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* diff --git a/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/config.h b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/config.h index 8cf4202cda..5c04f647c3 100644 --- a/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/config.h +++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/config.h @@ -1,7 +1,7 @@ #ifndef CONFIG_USER_H #define CONFIG_USER_H -#include "../../config.h" +#include "../../../MS_sculpt_mobile/config.h" #define USE_BABLPASTE diff --git a/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/keymap.c b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/keymap.c index 395a9fb470..c9a8ccdb69 100644 --- a/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/keymap.c +++ b/keyboards/handwired/MS_sculpt_mobile/keymaps/milestogo/keymap.c @@ -1,7 +1,7 @@ -#include "MS-sculpt-mobile.h" +#include "../../../MS_sculpt_mobile/babblePaste.h" +#include "../../MS_sculpt_mobile.h" #include "action_layer.h" #include "action_util.h" -#include "babblePaste.h" #ifdef AUDIO_ENABLE #include "audio.h" -- cgit v1.2.3 From 737c1fe641dd018c9f8a0e333480825d6337ddd1 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Mon, 10 Apr 2017 09:51:00 +0300 Subject: Make MOUSEKEY_MOVE_MAX and MOUSEKEY_WHEEL_MAX configurable Kitten_paw/ickerwx was doing that --- tmk_core/common/mousekey.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tmk_core/common/mousekey.h b/tmk_core/common/mousekey.h index 6eede06b44..9338d0af77 100644 --- a/tmk_core/common/mousekey.h +++ b/tmk_core/common/mousekey.h @@ -23,8 +23,17 @@ along with this program. If not, see . /* max value on report descriptor */ -#define MOUSEKEY_MOVE_MAX 127 -#define MOUSEKEY_WHEEL_MAX 127 +#ifndef MOUSEKEY_MOVE_MAX + #define MOUSEKEY_MOVE_MAX 127 +#elif MOUSEKEY_MOVE_MAX > 127 + #error MOUSEKEY_MOVE_MAX needs to be smaller than 127 +#endif + +#ifndef MOUSEKEY_WHEEL_MAX + #define MOUSEKEY_WHEEL_MAX 127 +#elif MOUSEKEY_WHEEL_MAX > 127 + #error MOUSEKEY_WHEEL_MAX needs to be smaller than 127 +#endif #ifndef MOUSEKEY_MOVE_DELTA #define MOUSEKEY_MOVE_DELTA 5 -- cgit v1.2.3 From df30d18458b018d6b87c01678037767ddec3e9f4 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Mon, 10 Apr 2017 09:52:10 +0300 Subject: Fix warnings in kitten_paw/ickerwx keymap --- keyboards/kitten_paw/keymaps/ickerwx/config.h | 2 +- keyboards/kitten_paw/keymaps/ickerwx/keymap.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/kitten_paw/keymaps/ickerwx/config.h b/keyboards/kitten_paw/keymaps/ickerwx/config.h index 04a2d253c7..142aba8909 100644 --- a/keyboards/kitten_paw/keymaps/ickerwx/config.h +++ b/keyboards/kitten_paw/keymaps/ickerwx/config.h @@ -22,7 +22,7 @@ #undef MOUSEKEY_WHEEL_MAX_SPEED #define MOUSEKEY_WHEEL_MAX_SPEED 3 #undef MOUSEKEY_WHEEL_TIME_TO_MAX -#define MOUSEKEY_WHEEL_TIME_TO_MAX 1000 +#define MOUSEKEY_WHEEL_TIME_TO_MAX 255 #undef ONESHOT_TIMEOUT #define ONESHOT_TIMEOUT 500 #undef TAPPING_TOGGLE diff --git a/keyboards/kitten_paw/keymaps/ickerwx/keymap.c b/keyboards/kitten_paw/keymaps/ickerwx/keymap.c index 9a00c80dc8..9dffbb272c 100644 --- a/keyboards/kitten_paw/keymaps/ickerwx/keymap.c +++ b/keyboards/kitten_paw/keymaps/ickerwx/keymap.c @@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,S(NUBS),_______,_______,_______,_______,_______,_______,_______,KC_NUBS,S(NUBS),S(MINS), _______, _______, _______,_______,_______,_______, \ _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______, _______,_______), /* Layer 3: media layer */ - [MEDIA] = KEYMAP(\ + [MEDIA] = KEYMAP(\ KC_PWR,KC_SLEP,KC_WAKE,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX, \ XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, KC_MPRV,KC_MPLY,KC_MNXT, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, \ XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, KC_VOLD,KC_MUTE,KC_VOLU, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, \ -- cgit v1.2.3 From a619b93e38c9d8dff86d5276ff9e549797045f3a Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Mon, 10 Apr 2017 10:12:41 +0300 Subject: Fix warnings in planck/lucas keymap Register the unshifted version DE_LESS, rather than the shifted DE_MORE --- keyboards/planck/keymaps/lucas/keymap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/planck/keymaps/lucas/keymap.c b/keyboards/planck/keymaps/lucas/keymap.c index 2208780b18..491cd1d07d 100644 --- a/keyboards/planck/keymaps/lucas/keymap.c +++ b/keyboards/planck/keymaps/lucas/keymap.c @@ -153,12 +153,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) case 1: // M(1) if (record->event.pressed) { unregister_code(KC_LSFT); - register_code(DE_MORE); + register_code(DE_LESS); } else { - unregister_code(DE_MORE); + unregister_code(DE_LESS); } break; } return MACRO_NONE; -}; \ No newline at end of file +}; -- cgit v1.2.3 From 109ae2f1e889a2450a98da41f17956c8ce9b79da Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Mon, 10 Apr 2017 10:36:09 +0300 Subject: Fix warnings in process_printer --- quantum/process_keycode/process_printer.c | 22 +++++++++++----------- quantum/process_keycode/process_printer.h | 2 ++ quantum/process_keycode/process_printer_bb.c | 4 ++-- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/quantum/process_keycode/process_printer.c b/quantum/process_keycode/process_printer.c index 807f7a0b91..613af70183 100644 --- a/quantum/process_keycode/process_printer.c +++ b/quantum/process_keycode/process_printer.c @@ -20,12 +20,12 @@ bool printing_enabled = false; uint8_t character_shift = 0; -void enabled_printing() { +void enable_printing(void) { printing_enabled = true; serial_init(); } -void disable_printing() { +void disable_printing(void) { printing_enabled = false; } @@ -41,9 +41,14 @@ void print_char(char c) { USB_Init(); } -void print_box_string(uint8_t text[]) { - uint8_t len = strlen(text); - uint8_t out[len * 3 + 8]; +void print_string(char c[]) { + for(uint8_t i = 0; i < strlen(c); i++) + print_char(c[i]); +} + +void print_box_string(const char text[]) { + size_t len = strlen(text); + char out[len * 3 + 8]; out[0] = 0xDA; for (uint8_t i = 0; i < len; i++) { out[i+1] = 0xC4; @@ -69,14 +74,9 @@ void print_box_string(uint8_t text[]) { print_string(out); } -void print_string(char c[]) { - for(uint8_t i = 0; i < strlen(c); i++) - print_char(c[i]); -} - bool process_printer(uint16_t keycode, keyrecord_t *record) { if (keycode == PRINT_ON) { - enabled_printing(); + enable_printing(); return false; } if (keycode == PRINT_OFF) { diff --git a/quantum/process_keycode/process_printer.h b/quantum/process_keycode/process_printer.h index aa494ac8a7..71d3a4b56a 100644 --- a/quantum/process_keycode/process_printer.h +++ b/quantum/process_keycode/process_printer.h @@ -21,4 +21,6 @@ #include "protocol/serial.h" +bool process_printer(uint16_t keycode, keyrecord_t *record); + #endif diff --git a/quantum/process_keycode/process_printer_bb.c b/quantum/process_keycode/process_printer_bb.c index 55d3b552b2..3a00f169d8 100644 --- a/quantum/process_keycode/process_printer_bb.c +++ b/quantum/process_keycode/process_printer_bb.c @@ -46,7 +46,7 @@ void serial_output(void) { } -void enabled_printing() { +void enable_printing() { printing_enabled = true; serial_output(); serial_high(); @@ -82,7 +82,7 @@ void print_string(char c[]) { bool process_printer(uint16_t keycode, keyrecord_t *record) { if (keycode == PRINT_ON) { - enabled_printing(); + enable_printing(); return false; } if (keycode == PRINT_OFF) { -- cgit v1.2.3 From 08b9eb26c5a7b0d0b1921dc7b4785adb95b5953e Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Mon, 10 Apr 2017 11:52:26 +0300 Subject: Fix warnings in CMD-Preonic The startup_sound is defined using MUSICAL_NOTEs, since non-constant initializer expressions are not allowed in C. --- keyboards/preonic/keymaps/CMD-Preonic/keymap.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/keyboards/preonic/keymaps/CMD-Preonic/keymap.c b/keyboards/preonic/keymaps/CMD-Preonic/keymap.c index 5d217e2615..a500a36494 100644 --- a/keyboards/preonic/keymaps/CMD-Preonic/keymap.c +++ b/keyboards/preonic/keymaps/CMD-Preonic/keymap.c @@ -212,10 +212,10 @@ const uint16_t PROGMEM fn_actions[] = { #ifdef AUDIO_ENABLE float start_up[][2] = { - {440.0*pow(2.0,(14)/12.0), 20}, - {440.0*pow(2.0,(26)/12.0), 8}, - {440.0*pow(2.0,(18)/12.0), 20}, - {440.0*pow(2.0,(26)/12.0), 8} + MUSICAL_NOTE(_B5, 20), + MUSICAL_NOTE(_B6, 8), + MUSICAL_NOTE(_DS6, 20), + MUSICAL_NOTE(_B6, 8), }; float tone_qwerty[][2] = SONG(QWERTY_SOUND); @@ -323,7 +323,7 @@ void matrix_init_user(void) { #ifdef AUDIO_ENABLE -void play_goodbye_tone() +void play_goodbye_tone(void) { PLAY_NOTE_ARRAY(goodbye, false, 0); _delay_ms(150); -- cgit v1.2.3 From abda6ff7bbe00792c0ed7edea4a31b9dec6c13e8 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Wed, 12 Apr 2017 09:02:51 +0300 Subject: Include host.h from suspend.c --- tmk_core/common/avr/suspend.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tmk_core/common/avr/suspend.c b/tmk_core/common/avr/suspend.c index 0c81e83612..1c7618ff51 100644 --- a/tmk_core/common/avr/suspend.c +++ b/tmk_core/common/avr/suspend.c @@ -9,6 +9,7 @@ #include "suspend.h" #include "timer.h" #include "led.h" +#include "host.h" #ifdef PROTOCOL_LUFA #include "lufa.h" -- cgit v1.2.3 From 07fc34e962a54f87802f11e9e30ed5891325f07e Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Wed, 12 Apr 2017 10:04:19 +0300 Subject: Fix warnings when ACTION_ONESHOT is disabled --- tmk_core/common/action.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c index 94de36918d..4ba1cc251a 100644 --- a/tmk_core/common/action.c +++ b/tmk_core/common/action.c @@ -140,7 +140,6 @@ void process_record(keyrecord_t *record) void process_action(keyrecord_t *record, action_t action) { - bool do_release_oneshot = false; keyevent_t event = record->event; #ifndef NO_ACTION_TAPPING uint8_t tap_count = record->tap.count; @@ -152,6 +151,7 @@ void process_action(keyrecord_t *record, action_t action) } #ifndef NO_ACTION_ONESHOT + bool do_release_oneshot = false; // notice we only clear the one shot layer if the pressed key is not a modifier. if (is_oneshot_layer_active() && event.pressed && !IS_MOD(action.key.code)) { clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); -- cgit v1.2.3 From d8e2ff2964480182f0e3513785e310b4ee96c4ee Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Thu, 13 Apr 2017 15:58:58 +0300 Subject: Fix process_unicode_common.c being included twice --- build_keyboard.mk | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/build_keyboard.mk b/build_keyboard.mk index 9da8277db9..9fa8c31263 100644 --- a/build_keyboard.mk +++ b/build_keyboard.mk @@ -176,22 +176,26 @@ endif ifeq ($(strip $(UCIS_ENABLE)), yes) OPT_DEFS += -DUCIS_ENABLE - SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c + UNICODE_COMMON = yes SRC += $(QUANTUM_DIR)/process_keycode/process_ucis.c endif ifeq ($(strip $(UNICODEMAP_ENABLE)), yes) OPT_DEFS += -DUNICODEMAP_ENABLE - SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c + UNICODE_COMMON = yes SRC += $(QUANTUM_DIR)/process_keycode/process_unicodemap.c endif ifeq ($(strip $(UNICODE_ENABLE)), yes) OPT_DEFS += -DUNICODE_ENABLE - SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c + UNICODE_COMMON = yes SRC += $(QUANTUM_DIR)/process_keycode/process_unicode.c endif +ifeq ($(strip $(UNICODE_COMMON)), yes) + SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c +endif + ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) OPT_DEFS += -DRGBLIGHT_ENABLE SRC += $(QUANTUM_DIR)/light_ws2812.c -- cgit v1.2.3 From d68294615f9c67764c06a7524fb59c22c024a106 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Thu, 13 Apr 2017 16:12:55 +0300 Subject: Add make option for allowing warnings --- tmk_core/rules.mk | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index 25993354f2..b7cb0a559a 100644 --- a/tmk_core/rules.mk +++ b/tmk_core/rules.mk @@ -92,7 +92,9 @@ endif endif CFLAGS += -Wall CFLAGS += -Wstrict-prototypes -CFLAGS += -Werror +ifneq ($(strip $(ALLOW_WARNINGS)), yes) + CFLAGS += -Werror +endif #CFLAGS += -mshort-calls #CFLAGS += -fno-unit-at-a-time #CFLAGS += -Wundef @@ -116,7 +118,9 @@ CPPFLAGS += -O$(OPT) CPPFLAGS += -w CPPFLAGS += -Wall CPPFLAGS += -Wundef -CPPFLAGS += -Werror +ifneq ($(strip $(ALLOW_WARNINGS)), yes) + CPPFLAGS += -Werror +endif #CPPFLAGS += -mshort-calls #CPPFLAGS += -fno-unit-at-a-time #CPPFLAGS += -Wstrict-prototypes -- cgit v1.2.3 From 5c251b5575a5008c81b35cd31313591c4910722a Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Thu, 13 Apr 2017 21:40:06 +0300 Subject: Fix buffer overrun in lcd_keyframes This would often cause the keyboard to crash when restarting the computer. --- quantum/visualizer/lcd_keyframes.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quantum/visualizer/lcd_keyframes.c b/quantum/visualizer/lcd_keyframes.c index df11861ddc..82e4184d2c 100644 --- a/quantum/visualizer/lcd_keyframes.c +++ b/quantum/visualizer/lcd_keyframes.c @@ -125,8 +125,8 @@ static void get_led_state_string(char* output, visualizer_state_t* state) { pos += 5; } if (state->status.leds & (1u << USB_LED_KANA)) { - memcpy(output + pos, "KANA ", 5); - pos += 5; + memcpy(output + pos, "KANA", 4); + pos += 4; } output[pos] = 0; } -- cgit v1.2.3 From 94b14bdd6ac09467686d330571ab05ff0f9bf380 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Thu, 13 Apr 2017 23:00:27 +0300 Subject: Add missing serial_link.h include Which fixes a warning when building Ergodox Infinity as a righthand master. --- keyboards/ergodox/infinity/matrix.c | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/ergodox/infinity/matrix.c b/keyboards/ergodox/infinity/matrix.c index 1fda904849..3364f8c905 100644 --- a/keyboards/ergodox/infinity/matrix.c +++ b/keyboards/ergodox/infinity/matrix.c @@ -24,6 +24,7 @@ along with this program. If not, see . #include "print.h" #include "debug.h" #include "matrix.h" +#include "serial_link/system/serial_link.h" /* -- cgit v1.2.3 From bc7b1843ba1e722800c50563e456e93ec417f810 Mon Sep 17 00:00:00 2001 From: Thomas Fitzsimmons Date: Fri, 14 Apr 2017 02:06:58 -0400 Subject: Fix KEYMAP_YORUIAN macro Fix the ordering of the arguments to the KEYMAP macro. --- keyboards/ergodox/keymaps/yoruian/yoruian.h | 45 +++++++++++++++++------------ 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/keyboards/ergodox/keymaps/yoruian/yoruian.h b/keyboards/ergodox/keymaps/yoruian/yoruian.h index b3b13073c5..b5aaf74b1a 100644 --- a/keyboards/ergodox/keymaps/yoruian/yoruian.h +++ b/keyboards/ergodox/keymaps/yoruian/yoruian.h @@ -18,25 +18,32 @@ #include "debug.h" #include "action_layer.h" -#define KEYMAP_YORUIAN( \ - /* Spacial positions. */ \ - k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \ - k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \ - k20, k21, k22, k23, k24, k25, k28, k29, k2A, k2B, k2C, k2D, \ - k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \ - k40, k41, k42, k43, k44, k49, k4A, k4B, k4C, k4D, \ - k55, k56, k57, k58, \ - k54, k59, \ - k53, k52, k51, k5C, k5B, k5A) \ - KEYMAP( \ - KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, KC_##k07, KC_##k08, KC_##k09, KC_##k0A, KC_##k0B, KC_##k0C, KC_##k0D, \ - KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, KC_##k17, KC_##k18, KC_##k19, KC_##k1A, KC_##k1B, KC_##k1C, KC_##k1D, \ - KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, KC_##k28, KC_##k29, KC_##k2A, KC_##k2B, KC_##k2C, KC_##k2D, \ - KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##k36, KC_##k37, KC_##k38, KC_##k39, KC_##k3A, KC_##k3B, KC_##k3C, KC_##k3D, \ - KC_##k40, KC_##k41, KC_##k42, KC_##k43, KC_##k44, KC_##k49, KC_##k4A, KC_##k4B, KC_##k4C, KC_##k4D, \ - KC_##k55, KC_##k56, KC_##k57, KC_##k58, \ - KC_##k54, KC_##k59, \ - KC_##k53, KC_##k52, KC_##k51, KC_##k5C, KC_##k5B, KC_##k5A) +#define KEYMAP_YORUIAN( \ + /* Spacial positions. */ \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \ + k20, k21, k22, k23, k24, k25, k28, k29, k2A, k2B, k2C, k2D, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \ + k40, k41, k42, k43, k44, k49, k4A, k4B, k4C, k4D, \ + k55, k56, k57, k58, \ + k54, k59, \ + k53, k52, k51, k5C, k5B, k5A) \ + KEYMAP(KC_##k00, KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06, \ + KC_##k10, KC_##k11, KC_##k12, KC_##k13, KC_##k14, KC_##k15, KC_##k16, \ + KC_##k20, KC_##k21, KC_##k22, KC_##k23, KC_##k24, KC_##k25, \ + KC_##k30, KC_##k31, KC_##k32, KC_##k33, KC_##k34, KC_##k35, KC_##k36, \ + KC_##k40, KC_##k41, KC_##k42, KC_##k43, KC_##k44, \ + KC_##k55, KC_##k56, \ + KC_##k54, \ + KC_##k53, KC_##k52, KC_##k51, \ + KC_##k07, KC_##k08, KC_##k09, KC_##k0A, KC_##k0B, KC_##k0C, KC_##k0D, \ + KC_##k17, KC_##k18, KC_##k19, KC_##k1A, KC_##k1B, KC_##k1C, KC_##k1D, \ + KC_##k28, KC_##k29, KC_##k2A, KC_##k2B, KC_##k2C, KC_##k2D, \ + KC_##k37, KC_##k38, KC_##k39, KC_##k3A, KC_##k3B, KC_##k3C, KC_##k3D, \ + KC_##k49, KC_##k4A, KC_##k4B, KC_##k4C, KC_##k4D, \ + KC_##k57, KC_##k58, \ + KC_##k59, \ + KC_##k5C, KC_##k5B, KC_##k5A) #define KC_ES KC_ESC #define KC_LC KC_LCTL -- cgit v1.2.3 From b133b7489717c2bd14c4b81f475f6f0595946504 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Sat, 15 Apr 2017 16:34:33 +0200 Subject: - Added S-60-X RGB directory (based on qmk.sized.io work) --- keyboards/s60-x-rgb/Makefile | 3 + keyboards/s60-x-rgb/config.h | 58 ++++++++ keyboards/s60-x-rgb/keymaps/dbroqua/keymap.c | 194 ++++++++++++++++++++++++++ keyboards/s60-x-rgb/keymaps/default/keymap.c | 48 +++++++ keyboards/s60-x-rgb/keymaps/default/readme.md | 27 ++++ keyboards/s60-x-rgb/rules.mk | 56 ++++++++ keyboards/s60-x-rgb/s60-x-rgb.c | 1 + keyboards/s60-x-rgb/s60-x-rgb.h | 37 +++++ 8 files changed, 424 insertions(+) create mode 100644 keyboards/s60-x-rgb/Makefile create mode 100644 keyboards/s60-x-rgb/config.h create mode 100644 keyboards/s60-x-rgb/keymaps/dbroqua/keymap.c create mode 100644 keyboards/s60-x-rgb/keymaps/default/keymap.c create mode 100644 keyboards/s60-x-rgb/keymaps/default/readme.md create mode 100644 keyboards/s60-x-rgb/rules.mk create mode 100644 keyboards/s60-x-rgb/s60-x-rgb.c create mode 100644 keyboards/s60-x-rgb/s60-x-rgb.h diff --git a/keyboards/s60-x-rgb/Makefile b/keyboards/s60-x-rgb/Makefile new file mode 100644 index 0000000000..57b2ef62e5 --- /dev/null +++ b/keyboards/s60-x-rgb/Makefile @@ -0,0 +1,3 @@ +ifndef MAKEFILE_INCLUDED + include ../../Makefile +endif diff --git a/keyboards/s60-x-rgb/config.h b/keyboards/s60-x-rgb/config.h new file mode 100644 index 0000000000..1b98a51d6e --- /dev/null +++ b/keyboards/s60-x-rgb/config.h @@ -0,0 +1,58 @@ +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Massdrop +#define PRODUCT S60-X RGB +#define DESCRIPTION q.m.k. keyboard firmware for S60-X RGB + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B5, B4, D7, D6, D4 } +#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, B6, C6, C7, F1, F0, E6, B3, B2, B1, B0 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* number of backlight levels */ +#define BACKLIGHT_PIN B7 +#ifdef BACKLIGHT_PIN +#define BACKLIGHT_LEVELS 3 +#endif + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCING_DELAY 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* prevent stuck modifiers */ +#define PREVENT_STUCK_MODIFIERS + +#define RGB_DI_PIN F6 +#ifdef RGB_DI_PIN +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 10 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#endif + +#endif \ No newline at end of file diff --git a/keyboards/s60-x-rgb/keymaps/dbroqua/keymap.c b/keyboards/s60-x-rgb/keymaps/dbroqua/keymap.c new file mode 100644 index 0000000000..9577a8f5d2 --- /dev/null +++ b/keyboards/s60-x-rgb/keymaps/dbroqua/keymap.c @@ -0,0 +1,194 @@ +#include "s60-x-rgb.h" + +#define _DEFAULT 0 +#define _FN 1 +#define _SFX 2 + +// Fillers to make layering more clear +#define ______ KC_TRNS + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Qwerty gui/alt/space/alt/gui + * ,-----------------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + * |-----------------------------------------------------------------------------------------+ + * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | + * |-----------------------------------------------------------------------------------------+ + * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter | + * |-----------------------------------------------------------------------------------------+ + * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN | + * |-----------------------------------------------------------------------------------------+ + * |LGUI | LAlt | Space | RAlt |RGUI | + * `-----------------------------------------------------------------' + */ + [_DEFAULT] = KEYMAP( /* Basic QWERTY */ + 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, 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, KC_SLSH, ______, KC_RSFT, MO(_FN), \ + ______, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, ______, ______ \ + ), + +/* FN Layer + * ,-----------------------------------------------------------------------------------------. + * | SFX | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | + * |-----------------------------------------------------------------------------------------+ + * | CAPS | | | | | | | | Psc | Slck| Paus| Up | | | + * |-----------------------------------------------------------------------------------------+ + * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| | + * |-----------------------------------------------------------------------------------------+ + * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | | + * |-----------------------------------------------------------------------------------------+ + * | | | | Stop | | + * `-----------------------------------------------------------------' + */ + [_FN] = KEYMAP( /* Layer 1 */ + TG(_SFX),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_INS, KC_DEL, \ + KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, ______, \ + ______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT,______, ______, \ + ______, ______, KC_MPRV, KC_MPLY, KC_MNXT,______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN,______, ______, ______, \ + ______, ______, ______, TG(_WASD), KC_MSTP, ______, ______, ______ \ + ), + + +/* SFX Layer + * ,-----------------------------------------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | BL- | BL+ | BL | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | RGBT| RGBM| | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | + * `-----------------------------------------------------------------' + */ + [_SFX] = KEYMAP( + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, F(0), F(1), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, F(2), F(3), F(4), F(5), F(6), F(7), ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______ \ + ) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + keyevent_t event = record->event; + + switch (id) { + + } + return MACRO_NONE; +} + +enum function_id { + RGBLED_TOGGLE, + RGBLED_STEP_MODE, + RGBLED_INCREASE_HUE, + RGBLED_DECREASE_HUE, + RGBLED_INCREASE_SAT, + RGBLED_DECREASE_SAT, + RGBLED_INCREASE_VAL, + RGBLED_DECREASE_VAL +}; + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_FUNCTION(RGBLED_TOGGLE), + [1] = ACTION_FUNCTION(RGBLED_STEP_MODE), + [2] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), + [3] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), + [4] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), + [5] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), + [6] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), + [7] = ACTION_FUNCTION(RGBLED_DECREASE_VAL) +}; + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { + switch (id) { + case RGBLED_TOGGLE: + if (record->event.pressed) { + rgblight_toggle(); + } + break; + case RGBLED_INCREASE_HUE: + if (record->event.pressed) { + rgblight_increase_hue(); + } + break; + case RGBLED_DECREASE_HUE: + if (record->event.pressed) { + rgblight_decrease_hue(); + } + break; + case RGBLED_INCREASE_SAT: + if (record->event.pressed) { + rgblight_increase_sat(); + } + break; + case RGBLED_DECREASE_SAT: + if (record->event.pressed) { + rgblight_decrease_sat(); + } + break; + case RGBLED_INCREASE_VAL: + if (record->event.pressed) { + rgblight_increase_val(); + } + break; + case RGBLED_DECREASE_VAL: + if (record->event.pressed) { + rgblight_decrease_val(); + } + break; + case RGBLED_STEP_MODE: + if (record->event.pressed) { + rgblight_step(); + } + break; + } +} + +void matrix_init_user(void) { +} + +void matrix_scan_user(void) { +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + return true; +} + +void led_set_user(uint8_t usb_led) { + + if (usb_led & (1 << USB_LED_NUM_LOCK)) { + + } else { + + } + + if (usb_led & (1 << USB_LED_CAPS_LOCK)) { + + } else { + + } + + if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { + + } else { + + } + + if (usb_led & (1 << USB_LED_COMPOSE)) { + + } else { + + } + + if (usb_led & (1 << USB_LED_KANA)) { + + } else { + + } + +} \ No newline at end of file diff --git a/keyboards/s60-x-rgb/keymaps/default/keymap.c b/keyboards/s60-x-rgb/keymaps/default/keymap.c new file mode 100644 index 0000000000..303f07638f --- /dev/null +++ b/keyboards/s60-x-rgb/keymaps/default/keymap.c @@ -0,0 +1,48 @@ +#include "s60-x-rgb.h" + +/* 0: Main layer +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +*/ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* 0: ANSI qwerty */ + LEGACY_KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ + CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT , \ + LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ + LCTL, LGUI, LALT, SPC, RALT, FN0, APP, RCTL), + +/* 1: Fn layer +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │Left │Down │Right│ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +*/ + LEGACY_KEYMAP( + GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ + TRNS, TRNS, UP, TRNS, TRNS, TRNS, TRNS, TRNS, PGUP, PGDN, PSCR, SLCK, PAUS, TRNS, \ + TRNS, LEFT, DOWN, RGHT, 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, TRNS, TRNS, TRNS), +}; + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay +}; diff --git a/keyboards/s60-x-rgb/keymaps/default/readme.md b/keyboards/s60-x-rgb/keymaps/default/readme.md new file mode 100644 index 0000000000..01cda9df9b --- /dev/null +++ b/keyboards/s60-x-rgb/keymaps/default/readme.md @@ -0,0 +1,27 @@ +### 1 Standard - ANSI +The standard keymap is the one that is pre-flashed on the S60-X. + +#### 1.0 Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +#### 1.1 Fn layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │Left │Down │Right│ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60-x-rgb/rules.mk b/keyboards/s60-x-rgb/rules.mk new file mode 100644 index 0000000000..c303af4bcc --- /dev/null +++ b/keyboards/s60-x-rgb/rules.mk @@ -0,0 +1,56 @@ +# MCU name +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + + +# Build Options +# comment out to disable the options. +# +BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= no # Console for debug(+400) +COMMAND_ENABLE ?= no # Commands for debug and configuration +SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend +NKRO_ENABLE ?= yes # USB 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 +AUDIO_ENABLE ?= no +RGBLIGHT_ENABLE ?= yes \ No newline at end of file diff --git a/keyboards/s60-x-rgb/s60-x-rgb.c b/keyboards/s60-x-rgb/s60-x-rgb.c new file mode 100644 index 0000000000..39d3a70e86 --- /dev/null +++ b/keyboards/s60-x-rgb/s60-x-rgb.c @@ -0,0 +1 @@ +#include "s60-x-rgb.h" diff --git a/keyboards/s60-x-rgb/s60-x-rgb.h b/keyboards/s60-x-rgb/s60-x-rgb.h new file mode 100644 index 0000000000..cb7a5f567f --- /dev/null +++ b/keyboards/s60-x-rgb/s60-x-rgb.h @@ -0,0 +1,37 @@ +#ifndef S60XRGB_H +#define S60XRGB_H + +#include "quantum.h" + +#define KEYMAP( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \ + K400, K401, K402, K406, K410, K411, K412, K413 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, KC_NO }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \ + { K400, K401, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413, KC_NO } \ +} + +/*This special definition is used for S60-X keymaps that were ported from TMK + * QMK has a lot of keycodes that don't start with KC_, so using the regular KEYMAP macro is recommended + */ +#define LEGACY_KEYMAP( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D \ +) { \ + { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K0C, KC_##K0D, KC_##K0E }, \ + { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K1C, KC_##K1D, KC_NO }, \ + { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D, KC_NO }, \ + { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K3C, KC_##K3D, KC_##K3E }, \ + { KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_NO, KC_NO, KC_##K46, KC_NO, KC_NO, KC_NO, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D, KC_NO } \ +} + +#endif \ No newline at end of file -- cgit v1.2.3 From a22286e83438341db3b4d28c8013c12831e5575a Mon Sep 17 00:00:00 2001 From: Xyverz Date: Sun, 16 Apr 2017 21:09:23 -0700 Subject: Added keymap to TV44 Revamp --- keyboards/tv44/keymaps/xyverz/keymap.c | 113 +++++++++++++++++++++------------ 1 file changed, 73 insertions(+), 40 deletions(-) diff --git a/keyboards/tv44/keymaps/xyverz/keymap.c b/keyboards/tv44/keymaps/xyverz/keymap.c index 00347b0190..a2f4f48f89 100644 --- a/keyboards/tv44/keymaps/xyverz/keymap.c +++ b/keyboards/tv44/keymaps/xyverz/keymap.c @@ -4,16 +4,26 @@ extern keymap_config_t keymap_config; -#define _DV 0 -#define _QW 1 -#define _CM 2 -#define _L1 3 -#define _L2 4 +// Layer Names +#define _DVORAK 0 +#define _QWERTY 1 +#define _COLEMAK 2 +#define _LOWER 3 +#define _RAISE 4 +#define _ADJUST 16 + +enum planck_keycodes { + DVORAK = SAFE_RANGE, + QWERTY, + COLEMAK, + LOWER, + RAISE +}; -// Macro name shortcuts -#define DVORAK M(_DV) -#define QWERTY M(_QW) -#define COLEMAK M(_CM) +// Layer-Tapping macros +#define ESCLOWR LT(_LOWER, KC_ESC) +#define MINSRSE LT(_RAISE, KC_MINS) +#define QUOTRSE LT(_RAISE, KC_QUOT) // Fillers to make layering more clear #define _______ KC_TRNS @@ -21,41 +31,47 @@ extern keymap_config_t keymap_config; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_DV] = { /* 0: Dvorak */ + [_DVORAK] = { /* 0: Dvorak */ {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH }, - {MO(_L1), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, LT(_L2, KC_MINS)}, + {ESCLOWR, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, MINSRSE }, {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT }, - {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_BSLS, KC_EQL, XXXXXXX, KC_ENT } + {KC_LCTL, KC_LALT, LOWER, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, RAISE, KC_LGUI, XXXXXXX, KC_ENT } }, - [_QW] = { /* 1: Qwerty */ + [_QWERTY] = { /* 1: Qwerty */ {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, - {MO(_L1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_L2, KC_QUOT)}, + {ESCLOWR, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, QUOTRSE }, {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_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, KC_ENT } + {KC_LCTL, KC_LALT, LOWER, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, RAISE, KC_LGUI, XXXXXXX, KC_ENT } }, - [_CM] = { /* 2: Colemak */ + [_COLEMAK] = { /* 2: Colemak */ {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC }, - {MO(_L1), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, LT(_L2, KC_QUOT)}, + {ESCLOWR, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, QUOTRSE }, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT }, - {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, KC_ENT } + {KC_LCTL, KC_LALT, LOWER, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, RAISE, KC_LGUI, XXXXXXX, KC_ENT } }, - [_L1] = {/* 1: FN 1 */ - {KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL }, - {_______, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, _______ }, - {_______, _______, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_RSFT }, - {KC_ESC, KC_LGUI, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_EQL, _______, _______ } + [_LOWER] = {/* 1: FN 1 */ + {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE }, + {_______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE }, + {KC_CAPS, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______ }, + {KC_LEFT, KC_RGHT, _______, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, _______, KC_UP, XXXXXXX, KC_DOWN } }, - [_L2] = { /* 2: FN 2 */ - {KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ESC }, - {_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_HOME, KC_PGUP, KC_VOLU, _______ }, - {_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_END, KC_PGDN, KC_VOLD, _______ }, - {QWERTY, DVORAK, COLEMAK, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_PLUS, _______, _______ } - } + [_RAISE] = { /* 2: FN 2 */ + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS }, + {_______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS }, + {KC_CAPS, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______ }, + {KC_LEFT, KC_RGHT, _______, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, _______, KC_UP, XXXXXXX, KC_DOWN } + }, + [_ADJUST] = { + {KC_F11, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F12 }, + {_______, RESET, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {KC_HOME, KC_END, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_PGUP, XXXXXXX, KC_PGDN} + } }; const uint16_t PROGMEM fn_actions[] = { @@ -67,26 +83,43 @@ void persistant_default_layer_set(uint16_t default_layer) { default_layer_set(default_layer); } -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - switch(id) { - case _DV: +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch(keycode) { + case DVORAK: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_DVORAK); + } + break; + case QWERTY: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_QWERTY); + } + break; + case COLEMAK: if (record->event.pressed) { - persistant_default_layer_set(1UL<<_DV); + persistant_default_layer_set(1UL<<_COLEMAK); } break; - case _QW: + case LOWER: if (record->event.pressed) { - persistant_default_layer_set(1UL<<_QW); + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); } + return false; break; - case _CM: + case RAISE: if (record->event.pressed) { - persistant_default_layer_set(1UL<<_CM); + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); } + return false; break; } return MACRO_NONE; }; - - -- cgit v1.2.3 From a343188dcfa1749214c2de0ae527b0e8e1676ee5 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Sun, 16 Apr 2017 21:52:49 -0700 Subject: macros to make keymap reading easier. --- keyboards/tv44/keymaps/xyverz/keymap.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/keyboards/tv44/keymaps/xyverz/keymap.c b/keyboards/tv44/keymaps/xyverz/keymap.c index 00347b0190..f237073c04 100644 --- a/keyboards/tv44/keymaps/xyverz/keymap.c +++ b/keyboards/tv44/keymaps/xyverz/keymap.c @@ -14,6 +14,9 @@ extern keymap_config_t keymap_config; #define DVORAK M(_DV) #define QWERTY M(_QW) #define COLEMAK M(_CM) +#define ESCLOWR LT(_L1, KC_ESC) +#define MINSRSE LT(_L2, KC_MINS) +#define QUOTRSE LT(_L2, KC_QUOT) // Fillers to make layering more clear #define _______ KC_TRNS @@ -23,21 +26,21 @@ extern keymap_config_t keymap_config; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_DV] = { /* 0: Dvorak */ {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH }, - {MO(_L1), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, LT(_L2, KC_MINS)}, + {ESCLOWR, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, MINSRSE }, {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT }, {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_BSLS, KC_EQL, XXXXXXX, KC_ENT } }, [_QW] = { /* 1: Qwerty */ {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, - {MO(_L1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_L2, KC_QUOT)}, + {ESCLOWR, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, QUOTRSE }, {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_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, KC_ENT } }, [_CM] = { /* 2: Colemak */ {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC }, - {MO(_L1), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, LT(_L2, KC_QUOT)}, + {ESCLOWR, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, QUOTRSE }, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT }, {KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, KC_SLSH, KC_MINS, XXXXXXX, KC_ENT } }, -- cgit v1.2.3 From acd63bc03cd2dec86b04df2d4199cce1d3e13768 Mon Sep 17 00:00:00 2001 From: David Baldwynn Date: Mon, 17 Apr 2017 12:05:47 -0700 Subject: Fixed dvorak layout for Atreus50 --- keyboards/handwired/atreus50/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/handwired/atreus50/keymaps/default/keymap.c b/keyboards/handwired/atreus50/keymaps/default/keymap.c index 415405ec23..77cf942c3a 100644 --- a/keyboards/handwired/atreus50/keymaps/default/keymap.c +++ b/keyboards/handwired/atreus50/keymaps/default/keymap.c @@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,----+----+----+----+----+----. ,----+----+----+----+----+----. TAB ,QUOT,COMM,DOT , P , Y , F , G , C , R , L ,MINS, //|----+----+----+----+----+----| |----+----+----+----+----+----| - X0 , A , O , E , U , I , D , H , R , N , S ,SLSH, + X0 , A , O , E , U , I , D , H , T , N , S ,SLSH, //|----+----+----+----+----+----| |----+----+----+----+----+----| LSFT,SCLN, Q , J , K , X , B , M , W , V , Z , X4 , //|----+----+----+----+----+----|----+----|----+----+----+----+----+----| -- cgit v1.2.3 From a3aadd888f8ade69ff9d3e4118a762aeec223833 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Mon, 17 Apr 2017 20:15:57 -0700 Subject: Updated my TV44 keymap to be more planck-like. Used the current default planck keymap as a guide. --- keyboards/tv44/keymaps/xyverz/keymap.c | 101 +++++++++++++++++---------------- 1 file changed, 51 insertions(+), 50 deletions(-) diff --git a/keyboards/tv44/keymaps/xyverz/keymap.c b/keyboards/tv44/keymaps/xyverz/keymap.c index a2f4f48f89..d09a11c35c 100644 --- a/keyboards/tv44/keymaps/xyverz/keymap.c +++ b/keyboards/tv44/keymaps/xyverz/keymap.c @@ -4,20 +4,22 @@ extern keymap_config_t keymap_config; -// Layer Names -#define _DVORAK 0 -#define _QWERTY 1 -#define _COLEMAK 2 -#define _LOWER 3 -#define _RAISE 4 -#define _ADJUST 16 +enum planck_layers { + _QWERTY, + _COLEMAK, + _DVORAK, + _LOWER, + _RAISE, + _ADJUST +}; enum planck_keycodes { DVORAK = SAFE_RANGE, QWERTY, COLEMAK, LOWER, - RAISE + RAISE, + ADJUST }; // Layer-Tapping macros @@ -74,52 +76,51 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { } }; -const uint16_t PROGMEM fn_actions[] = { - -}; - void persistant_default_layer_set(uint16_t default_layer) { eeconfig_update_default_layer(default_layer); default_layer_set(default_layer); } bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch(keycode) { - case DVORAK: - if (record->event.pressed) { - persistant_default_layer_set(1UL<<_DVORAK); - } - break; - case QWERTY: - if (record->event.pressed) { - persistant_default_layer_set(1UL<<_QWERTY); - } - break; - case COLEMAK: - if (record->event.pressed) { - persistant_default_layer_set(1UL<<_COLEMAK); - } - break; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - break; + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_QWERTY); } - return MACRO_NONE; -}; + return false; + break; + case COLEMAK: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_COLEMAK); + } + return false; + break; + case DVORAK: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_DVORAK); + } + return false; + break; + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + return false; + break; + } + return true; +} -- cgit v1.2.3 From 41d45afd2a76ad5a0168b7aca615a0cd7a35cc00 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Mon, 17 Apr 2017 21:54:02 -0700 Subject: Fixed a weird diff mishap. --- keyboards/tv44/keymaps/xyverz/keymap.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/keyboards/tv44/keymaps/xyverz/keymap.c b/keyboards/tv44/keymaps/xyverz/keymap.c index 9c1b3076e8..d09a11c35c 100644 --- a/keyboards/tv44/keymaps/xyverz/keymap.c +++ b/keyboards/tv44/keymaps/xyverz/keymap.c @@ -22,20 +22,10 @@ enum planck_keycodes { ADJUST }; -<<<<<<< HEAD -// Macro name shortcuts -#define DVORAK M(_DV) -#define QWERTY M(_QW) -#define COLEMAK M(_CM) -#define ESCLOWR LT(_L1, KC_ESC) -#define MINSRSE LT(_L2, KC_MINS) -#define QUOTRSE LT(_L2, KC_QUOT) -======= // Layer-Tapping macros #define ESCLOWR LT(_LOWER, KC_ESC) #define MINSRSE LT(_RAISE, KC_MINS) #define QUOTRSE LT(_RAISE, KC_QUOT) ->>>>>>> tv44_revamp // Fillers to make layering more clear #define _______ KC_TRNS -- cgit v1.2.3 From 93b2f23bba16348e2ea5d8c83d928e3a45e2b7cc Mon Sep 17 00:00:00 2001 From: Priyadi Iman Nurcahyo Date: Wed, 19 Apr 2017 01:38:08 +0700 Subject: Promethium rev2 * 10 more indicator LEDs * Piezo buzzer * Uses HC138 decoder to free up 5 pins * Trackpoint buttons are now part of matrix --- keyboards/handwired/promethium/config.h | 37 ++- .../handwired/promethium/keymaps/priyadi/Makefile | 1 + .../handwired/promethium/keymaps/priyadi/keymap.c | 48 ++-- keyboards/handwired/promethium/matrix.c | 306 +++++++++++++++++++++ keyboards/handwired/promethium/promethium.c | 5 + keyboards/handwired/promethium/rules.mk | 4 +- keyboards/planck/keymaps/priyadi/config.h | 3 +- 7 files changed, 374 insertions(+), 30 deletions(-) create mode 100644 keyboards/handwired/promethium/matrix.c diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h index 24f02993fb..a13406b0dd 100644 --- a/keyboards/handwired/promethium/config.h +++ b/keyboards/handwired/promethium/config.h @@ -35,12 +35,13 @@ along with this program. If not, see . #define DESCRIPTION /* key matrix size */ -#define MATRIX_ROWS 8 #define MATRIX_COLS 6 +#define MATRIX_ROWS 9 /* default pin-out */ -#define MATRIX_COL_PINS { B6, B7, D6, C7, F6, F7 } -#define MATRIX_ROW_PINS { D7, C6, D0, D1, F5, F4, F1, F0 } +#define MATRIX_COL_PINS { F4, F1, F0, D6, D0, D1 } +#define MATRIX_ROW_PINS { F5, F6, F7 } +#define TRACKPOINT_PINS { B7, B6, D7 } #define UNUSED_PINS /* @@ -152,17 +153,20 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -#define PS2_INIT_DELAY 2000 +#define PS2_INIT_DELAY 3000 #define BATTERY_PIN 9 #define BATTERY_POLL 30000 #define MAX_VOLTAGE 4.2 #define MIN_VOLTAGE 3.2 +#define ___ KC_NO + #define KEYMAP( \ - k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ - k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ - k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ - k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c \ + k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ + k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ + k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, \ + tp1, tp2, tp3 \ ) \ { \ {k11, k12, k13, k14, k15, k16}, \ @@ -172,18 +176,29 @@ along with this program. If not, see . {k17, k18, k19, k1a, k1b, k1c}, \ {k27, k28, k29, k2a, k2b, k2c}, \ {k37, k38, k39, k3a, k3b, k3c}, \ - {k47, k48, k49, k4a, k4b, k4c} \ + {k47, k48, k49, k4a, k4b, k4c}, \ + {tp1, tp2, tp3, ___, ___, ___} \ } #ifndef __ASSEMBLER__ // assembler doesn't like enum in .h file enum led_sequence { + LED_IND_LINUX, + LED_IND_APPLE, + LED_IND_WINDOWS, + LED_IND_QWERTY, + LED_IND_ALT, + LED_IND_AUDIO, LED_IND_BLUETOOTH, LED_IND_USB, - LED_IND_BATTERY, + LED_IND_BATTERY, + LED_IND_CAPSLOCK, + LED_IND_GUI, LED_IND_FUN, LED_IND_NUM, + LED_IND_PUNC, LED_IND_EMOJI, + LED_IND_GREEK, LED_BKSP, LED_ENT, @@ -261,7 +276,7 @@ enum led_sequence { # define PS2_CLOCK_PORT PORTD # define PS2_CLOCK_PIN PIND # define PS2_CLOCK_DDR DDRD -# define PS2_CLOCK_BIT 1 +# define PS2_CLOCK_BIT 3 # define PS2_DATA_PORT PORTD # define PS2_DATA_PIN PIND # define PS2_DATA_DDR DDRD diff --git a/keyboards/handwired/promethium/keymaps/priyadi/Makefile b/keyboards/handwired/promethium/keymaps/priyadi/Makefile index 46fdfa0118..e3428254f6 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/Makefile +++ b/keyboards/handwired/promethium/keymaps/priyadi/Makefile @@ -19,6 +19,7 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. PS2_MOUSE_ENABLE = yes PS2_USE_INT = yes +FAUXCLICKY_ENABLE = yes # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c index cf7c67339d..61af0a8893 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c +++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c @@ -574,7 +574,8 @@ 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, KC_BSPC, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, 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, - KC_LCTL, KC_LALT, KC_LGUI, EMPTY, NUM, LSPACE, RSPACE, FUN, GREEK, KC_RGUI, C_RALT, KC_RCTL + KC_LCTL, KC_LALT, KC_LGUI, EMPTY, NUM, LSPACE, RSPACE, FUN, GREEK, KC_RGUI, C_RALT, KC_RCTL, + _______, _______, _______ ), /* Dvorak @@ -593,7 +594,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, _______, _______, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, _______, _______, KC_SLSH, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______ ), #endif @@ -614,7 +616,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, _______, _______, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, _______, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______ ), #endif @@ -635,7 +638,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_Q, KC_W, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_QUOT, _______, _______, KC_A, KC_S, KC_E, KC_T, KC_G, KC_Y, KC_N, KC_I, KC_O, KC_H, _______, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______ ), #endif @@ -656,7 +660,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_QUOT, _______, _______, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, _______, _______, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______ ), #endif @@ -675,7 +680,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, X(LTEQ), X(GTEQ), _______, KC_GRV, KC_ASTR, KC_BSLS, KC_MINS, KC_EQL, KC_SLSH, X(NOTEQ),KC_LPRN, KC_RPRN, KC_LABK, KC_RABK, _______, KC_AMPR, KC_CIRC, KC_PIPE, KC_UNDS, KC_PLUS, KC_QUES, X(PLMIN),KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COLN, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COLN, _______, + _______, _______, _______ ), /* Num @@ -690,10 +696,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_NUM] = KEYMAP( - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, S(KC_A), KC_7, KC_8, KC_9, S(KC_D), _______, + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, S(KC_A), KC_1, KC_2, KC_3, S(KC_D), _______, KC_GRV, KC_ASTR, KC_BSLS, KC_MINS, KC_EQL, KC_SLSH, S(KC_B), KC_4, KC_5, KC_6, S(KC_E), _______, - KC_AMPR, KC_CIRC, KC_PIPE, KC_UNDS, KC_PLUS, KC_QUES, S(KC_C), KC_1, KC_2, KC_3, S(KC_F), _______, - _______, _______, KC_X, _______, _______, _______, _______, FUN0 , KC_COMM, KC_DOT, KC_COLN, _______ + KC_AMPR, KC_CIRC, KC_PIPE, KC_UNDS, KC_PLUS, KC_QUES, S(KC_C), KC_7, KC_8, KC_9, S(KC_F), _______, + _______, _______, KC_X, _______, _______, _______, _______, FUN0 , KC_COMM, KC_DOT, KC_COLN, _______, + _______, _______, _______ ), /* Func @@ -711,7 +718,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_INS, XXXXXXX, KC_PGUP, KC_UP, KC_PGDN, KC_PGUP, KC_DEL, KC_CAPS, KC_F5, KC_F6, KC_F7, KC_F8, KC_PSCR, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, KC_F9, KC_F10, KC_F11, KC_F12, KC_PAUS, XXXXXXX, XXXXXXX, KC_HOME, KC_END, XXXXXXX, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______ ), /* Uppercase Greek @@ -729,7 +737,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, XXXXXXX, XXXXXXX,X(UEPSI), X(URHO), X(UTAU),X(UUPSI),X(UTHET),X(UIOTA),X(UOMIC), X(UPI), _______, _______,X(UALPH),X(USIGM),X(UDELT), X(UPHI),X(UGAMM), X(UETA), X(UXI),X(UKAPP),X(ULAMB), KC_QUOT, _______, _______,X(UZETA), X(UCHI), X(UPSI),X(UOMEG),X(UBETA), X(UNU), X(UMU), KC_COMM, KC_DOT, KC_SLSH, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______ ), /* Lowercase Greek @@ -747,7 +756,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, XXXXXXX,X(FSIGM),X(LEPSI), X(LRHO), X(LTAU),X(LUPSI),X(LTHET),X(LIOTA),X(LOMIC), X(LPI), _______, _______,X(LALPH),X(LSIGM),X(LDELT), X(LPHI),X(LGAMM), X(LETA), X(LXI),X(LKAPP),X(LLAMB), KC_QUOT, _______, _______,X(LZETA), X(LCHI), X(LPSI),X(LOMEG),X(LBETA), X(LNU), X(LMU), KC_COMM, KC_DOT, KC_SLSH, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______ ), /* Empty @@ -765,7 +775,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______ ), /* Emoji @@ -783,7 +794,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { X(HART2), X(CRY2),X(WEARY),X(EYERT),X(SMIRK), X(TJOY),X(RECYC),X(UNAMU),X(MUSIC),X(OKHND),X(PENSV), X(PHEW), X(THMUP), X(PRAY),X(SMILE),X(SMIL2),X(FLUSH), X(GRIN),X(HEART), X(BYE), X(KISS),X(CELEB), X(COOL),X(NOEVS), X(THMDN),X(SLEEP), X(CLAP), X(CRY), X(VIC),X(BHART), X(SUN),X(SMEYE), X(WINK), X(MOON),X(CONFU),X(NOEVH), - X(POO), X(EYES), X(HUNRD),_______, X(SKULL),X(HORNS), X(HALO), X(FEAR),_______,X(YUMMY),X(DISAP),X(NOEVK) + X(POO), X(EYES), X(HUNRD),_______, X(SKULL),X(HORNS), X(HALO), X(FEAR),_______,X(YUMMY),X(DISAP),X(NOEVK), + _______, _______, _______ ), /* GUI @@ -801,7 +813,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX, G(KC_1), G(KC_2), G(KC_3), G(KC_4), G(KC_5), G(KC_6), G(KC_7), G(KC_8), G(KC_9), G(KC_0), XXXXXXX, KC_ESC, XXXXXXX, S(KC_TAB),KC_ESC, KC_TAB, XXXXXXX, XXXXXXX, KC_WWWB, XXXXXXX, KC_WWWF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, KC_SPC, KC_SPC, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______ ), /* Sys @@ -816,10 +829,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_SYS] = KEYMAP( - XXXXXXX, QWERTY, WIN, XXXXXXX, RESET, XXXXXXX, XXXXXXX, OUT_USB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + DEBUG, QWERTY, WIN, XXXXXXX, RESET, XXXXXXX, XXXXXXX, OUT_USB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, FC_TOG, XXXXXXX, DVORAK, XXXXXXX, GLOW, XXXXXXX, XXXXXXX, WORKMAN, LINUX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, XXXXXXX, OUT_BLE, NORMAN, OSX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______ + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, + _______, _______, _______ ), diff --git a/keyboards/handwired/promethium/matrix.c b/keyboards/handwired/promethium/matrix.c new file mode 100644 index 0000000000..2b7ce2bf5e --- /dev/null +++ b/keyboards/handwired/promethium/matrix.c @@ -0,0 +1,306 @@ +/* +Copyright 2012 Jun Wako +Copyright 2014 Jack Humbert +Copyright 2017 Priyadi Iman Nurcahyo + +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 . +*/ +#include +#include +#if defined(__AVR__) +#include +#endif +#include "wait.h" +#include "print.h" +#include "debug.h" +#include "util.h" +#include "matrix.h" +#include "timer.h" + + +/* Set 0 if debouncing isn't needed */ + +#ifndef DEBOUNCING_DELAY +# define DEBOUNCING_DELAY 5 +#endif + +#if (DEBOUNCING_DELAY > 0) + static uint16_t debouncing_time; + static bool debouncing = false; +#endif + +#if (MATRIX_COLS <= 8) +# define print_matrix_header() print("\nr/c 01234567\n") +# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define matrix_bitpop(i) bitpop(matrix[i]) +# define ROW_SHIFTER ((uint8_t)1) +#elif (MATRIX_COLS <= 16) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define matrix_bitpop(i) bitpop16(matrix[i]) +# define ROW_SHIFTER ((uint16_t)1) +#elif (MATRIX_COLS <= 32) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define matrix_bitpop(i) bitpop32(matrix[i]) +# define ROW_SHIFTER ((uint32_t)1) +#endif + +#ifdef MATRIX_MASKED + extern const matrix_row_t matrix_mask[]; +#endif + +static const uint8_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS; +static const uint8_t tp_pins[3] = TRACKPOINT_PINS; + +/* matrix state(1:on, 0:off) */ +static matrix_row_t matrix[MATRIX_ROWS]; +static matrix_row_t matrix_debouncing[MATRIX_ROWS]; + +static void init_cols(void); +static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row); +static void unselect_rows(void); +static void select_row(uint8_t row); +static void unselect_row(uint8_t row); + +__attribute__ ((weak)) +void matrix_init_quantum(void) { + matrix_init_kb(); +} + +__attribute__ ((weak)) +void matrix_scan_quantum(void) { + matrix_scan_kb(); +} + +__attribute__ ((weak)) +void matrix_init_kb(void) { + matrix_init_user(); +} + +__attribute__ ((weak)) +void matrix_scan_kb(void) { + matrix_scan_user(); +} + +__attribute__ ((weak)) +void matrix_init_user(void) { +} + +__attribute__ ((weak)) +void matrix_scan_user(void) { +} + +inline +uint8_t matrix_rows(void) { + return MATRIX_ROWS; +} + +inline +uint8_t matrix_cols(void) { + return MATRIX_COLS; +} + +void matrix_init(void) { + + // To use PORTF disable JTAG with writing JTD bit twice within four cycles. + #if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega32U4__)) + MCUCR |= _BV(JTD); + MCUCR |= _BV(JTD); + #endif + + // initialize row and col + unselect_rows(); + init_cols(); + + // initialize matrix state: all keys off + for (uint8_t i=0; i < MATRIX_ROWS; i++) { + matrix[i] = 0; + matrix_debouncing[i] = 0; + } + + matrix_init_quantum(); +} + +uint8_t matrix_scan(void +){ + // Set row, read cols + for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { +# if (DEBOUNCING_DELAY > 0) + bool matrix_changed = read_cols_on_row(matrix_debouncing, current_row); + + if (matrix_changed) { + debouncing = true; + debouncing_time = timer_read(); + } + +# else + read_cols_on_row(matrix, current_row); +# endif + + } + +# if (DEBOUNCING_DELAY > 0) + if (debouncing && (timer_elapsed(debouncing_time) > DEBOUNCING_DELAY)) { + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + matrix[i] = matrix_debouncing[i]; + } + debouncing = false; + } +# endif + + matrix_scan_quantum(); + return 1; +} + +bool matrix_is_modified(void) +{ +#if (DEBOUNCING_DELAY > 0) + if (debouncing) return false; +#endif + return true; +} + +inline +bool matrix_is_on(uint8_t row, uint8_t col) + +{ + return (matrix[row] & ((matrix_row_t)1> 4) + 1) &= ~_BV(pin & 0xF); // IN + _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI + } + + // rows + DDRF |= ROW_MASK; + PORTF &= ~ROW_MASK; + + // trackpoint + for(uint8_t x = 0; x < 3; x++) { + uint8_t pin = tp_pins[x]; + _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN + _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI + } +} + +static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) + { + // Store last value of row prior to reading + matrix_row_t last_row_value = current_matrix[current_row]; + + // Clear data in matrix row + current_matrix[current_row] = 0; + + // special case for trackpoint + if (current_row == 8) { + for(uint8_t tp_index = 0; tp_index < 3; tp_index++) { + + // Select the TP pin to read (active low) + uint8_t pin = tp_pins[tp_index]; + uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF)); + + // Populate the matrix row with the state of the col pin + current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << tp_index); + } + return (last_row_value != current_matrix[current_row]); + } + + // Select row and wait for row selecton to stabilize + select_row(current_row); + _delay_us(5); // without this wait it won't read stable value. + // wait_us(50); + + // For each col... + for(uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) { + + // Select the col pin to read (active low) + uint8_t pin = col_pins[col_index]; + uint8_t pin_state = (_SFR_IO8(pin >> 4) & _BV(pin & 0xF)); + + // Populate the matrix row with the state of the col pin + current_matrix[current_row] |= pin_state ? 0 : (ROW_SHIFTER << col_index); + } + + // Unselect row + unselect_row(current_row); + + return (last_row_value != current_matrix[current_row]); +} + +static void select_row(uint8_t row) +{ + PORTF = row_bit[row] | (PORTF & ~ROW_MASK); +} + +static void unselect_row(uint8_t row) +{ +} + +static void unselect_rows(void) +{ +} + diff --git a/keyboards/handwired/promethium/promethium.c b/keyboards/handwired/promethium/promethium.c index 4943f8c9fc..8b1a0c71f2 100644 --- a/keyboards/handwired/promethium/promethium.c +++ b/keyboards/handwired/promethium/promethium.c @@ -2,6 +2,11 @@ #include "analog.h" #include "timer.h" #include "matrix.h" +#include "musical_notes.h" + +float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_F3, .03125); +float fauxclicky_released_note[2] = MUSICAL_NOTE(_C3, .03125); +float fauxclicky_beep_note[2] = MUSICAL_NOTE(_C3, .03125); // cubic fit {3.3, 0}, {3.5, 2.9}, {3.6, 5}, {3.7, 8.6}, {3.8, 36}, {3.9, 62}, {4.0, 73}, {4.05, 83}, {4.1, 89}, {4.15, 94}, {4.2, 100} diff --git a/keyboards/handwired/promethium/rules.mk b/keyboards/handwired/promethium/rules.mk index e75cf4dde4..a5e503ff77 100644 --- a/keyboards/handwired/promethium/rules.mk +++ b/keyboards/handwired/promethium/rules.mk @@ -67,10 +67,12 @@ PS2_MOUSE_ENABLE ?= yes PS2_USE_INT ?= yes ADAFRUIT_BLE_ENABLE ?= yes API_SYSEX_ENABLE ?= no +CUSTOM_MATRIX ?= yes # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend SRC += $(QUANTUM_DIR)/light_ws2812.c SRC += rgbsps.c -SRC += $(QUANTUM_DIR)/analog.c \ No newline at end of file +SRC += $(QUANTUM_DIR)/analog.c +SRC += matrix.c diff --git a/keyboards/planck/keymaps/priyadi/config.h b/keyboards/planck/keymaps/priyadi/config.h index 82e4a25c60..adc1c69aa5 100644 --- a/keyboards/planck/keymaps/priyadi/config.h +++ b/keyboards/planck/keymaps/priyadi/config.h @@ -27,7 +27,8 @@ k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \ - k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c \ + k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, \ + tp1, tp2, tp3 \ ) \ { \ {k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c}, \ -- cgit v1.2.3 From ffa4c72a893b416da32efef80f4779b8bd48b4bb Mon Sep 17 00:00:00 2001 From: Priyadi Iman Nurcahyo Date: Wed, 19 Apr 2017 01:40:16 +0700 Subject: Faux clicky bug fixes --- quantum/fauxclicky.c | 15 ++++----------- quantum/fauxclicky.h | 10 +++++----- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/quantum/fauxclicky.c b/quantum/fauxclicky.c index 13273e7058..c3341ca332 100644 --- a/quantum/fauxclicky.c +++ b/quantum/fauxclicky.c @@ -20,13 +20,6 @@ along with this program. If not, see . #include #include -__attribute__ ((weak)) -float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_F3, 2); -__attribute__ ((weak)) -float fauxclicky_released_note[2] = MUSICAL_NOTE(_A3, 2); -__attribute__ ((weak)) -float fauxclicky_beep_note[2] = MUSICAL_NOTE(_C3, 2); - bool fauxclicky_enabled = true; uint16_t note_start = 0; bool note_playing = false; @@ -48,13 +41,13 @@ void fauxclicky_stop() note_playing = false; } -void fauxclicky_play(float note[2]) { +void fauxclicky_play(float note[]) { if (!fauxclicky_enabled) return; if (note_playing) fauxclicky_stop(); - FAUXCLICKY_TIMER_PERIOD = (uint16_t)(((float)F_CPU) / (note[0] * FAUXCLICKY_CPU_PRESCALER)); - FAUXCLICKY_DUTY_CYCLE = (uint16_t)((((float)F_CPU) / (note[0] * FAUXCLICKY_CPU_PRESCALER)) / 2); + FAUXCLICKY_TIMER_PERIOD = (uint16_t)(((float)F_CPU) / (note[0] * (float)FAUXCLICKY_CPU_PRESCALER)); + FAUXCLICKY_DUTY_CYCLE = (uint16_t)((((float)F_CPU) / (note[0] * (float)FAUXCLICKY_CPU_PRESCALER)) / (float)2); note_playing = true; - note_period = (note[1] / 16) * (60 / (float)FAUXCLICKY_TEMPO) * 100; // check this + note_period = (note[1] / (float)16) * ((float)60 / (float)FAUXCLICKY_TEMPO) * 1000; note_start = timer_read(); FAUXCLICKY_ENABLE_OUTPUT; } diff --git a/quantum/fauxclicky.h b/quantum/fauxclicky.h index 109bd0d83e..1a8e188dd5 100644 --- a/quantum/fauxclicky.h +++ b/quantum/fauxclicky.h @@ -21,11 +21,11 @@ along with this program. If not, see . #include "stdbool.h" __attribute__ ((weak)) -float fauxclicky_pressed_note[2]; +float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_D4, 0.25); __attribute__ ((weak)) -float fauxclicky_released_note[2]; +float fauxclicky_released_note[2] = MUSICAL_NOTE(_C4, 0.125); __attribute__ ((weak)) -float fauxclicky_beep_note[2]; +float fauxclicky_beep_note[2] = MUSICAL_NOTE(_C4, 0.25); bool fauxclicky_enabled; @@ -73,11 +73,11 @@ bool fauxclicky_enabled; #endif #ifndef FAUXCLICKY_ENABLE_OUTPUT -#define FAUXCLICKY_ENABLE_OUTPUT TCCR3A |= _BV(COM3A1); +#define FAUXCLICKY_ENABLE_OUTPUT TCCR3A |= _BV(COM3A1) #endif #ifndef FAUXCLICKY_DISABLE_OUTPUT -#define FAUXCLICKY_DISABLE_OUTPUT TCCR3A &= ~(_BV(COM3A1) | _BV(COM3A0)); +#define FAUXCLICKY_DISABLE_OUTPUT TCCR3A &= ~(_BV(COM3A1) | _BV(COM3A0)) #endif #ifndef FAUXCLICKY_TIMER_PERIOD -- cgit v1.2.3 From 3fa0b66289770ccc4d8a5b39eaf66ff3b7c67529 Mon Sep 17 00:00:00 2001 From: Priyadi Iman Nurcahyo Date: Wed, 19 Apr 2017 02:52:57 +0700 Subject: Keymap updates and some adjustment for latest version of QMK --- .../handwired/promethium/keymaps/priyadi/Makefile | 1 + .../handwired/promethium/keymaps/priyadi/README.md | 4 +- .../handwired/promethium/keymaps/priyadi/keymap.c | 142 ++++++++++++++++++--- keyboards/handwired/promethium/rules.mk | 2 +- 4 files changed, 125 insertions(+), 24 deletions(-) diff --git a/keyboards/handwired/promethium/keymaps/priyadi/Makefile b/keyboards/handwired/promethium/keymaps/priyadi/Makefile index e3428254f6..bd1a06734c 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/Makefile +++ b/keyboards/handwired/promethium/keymaps/priyadi/Makefile @@ -20,6 +20,7 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this PS2_MOUSE_ENABLE = yes PS2_USE_INT = yes FAUXCLICKY_ENABLE = yes +BLUETOOTH = AdafruitBLE # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/handwired/promethium/keymaps/priyadi/README.md b/keyboards/handwired/promethium/keymaps/priyadi/README.md index ddeaed939e..48824b9f73 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/README.md +++ b/keyboards/handwired/promethium/keymaps/priyadi/README.md @@ -37,8 +37,8 @@ On Promethium, USB or Bluetooth output is detected on startup. If USB is connect SYS-W, SYS-L, SYS-M switch Unicode input method. SYS-Q, SYS-D, SYS-C, SYS-K, SYS-N switch to QWERTY, DVORAK, Colemak, Workman and Norman, respectively. -On Planck, SYS-A (mnemonic: audio) toggles faux clicky: use buzzer to emit clicks on key presses and releases. +SYS-A (mnemonic: audio) toggles faux clicky: use buzzer to emit clicks on key presses and releases. -On Promethium there are 6 indicator LEDs, and under switch LEDs on each switches, including Trackpoint buttons. Totaling 57 LEDs. Output is limited to 0xF for each LEDs to conserve power. SYS-G (mnemonic: glow) toggles various backlighting modes. +On Promethium there are 16 indicator LEDs, and under switch LEDs on each switches, including Trackpoint buttons. Totaling 67 LEDs. Output is limited to 0xF for each LEDs to conserve power. SYS-G (mnemonic: glow) toggles various backlighting modes. On Promethium, there's a LED to indicate battery level. Hue indicates level: green is full, red is empty. \ No newline at end of file diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c index 61af0a8893..55e028f184 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c +++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c @@ -38,6 +38,19 @@ along with this program. If not, see . #endif #ifdef FAUXCLICKY_ENABLE #include "fauxclicky.h" +#ifdef RGBSPS_ENABLE +#undef FAUXCLICKY_OFF +#define FAUXCLICKY_OFF do { \ + fauxclicky_enabled = false; \ + rgbsps_set(LED_AUDIO, 0, 0, 0); \ + fauxclicky_stop(); \ +} while (0) +#undef FAUXCLICKY_ON +#define FAUXCLICKY_ON do { \ + fauxclicky_enabled = true; \ + rgbsps_set(LED_AUDIO, 8, 0, 8); \ +} while (0) +#endif #endif #include "outputselect.h" #include "led.h" @@ -128,8 +141,8 @@ enum planck_keycodes { #ifndef FAUXCLICKY_ENABLE FC_TOG, #endif -#ifndef ADAFRUIT_BLE_ENABLE - OUT_BLE, +#ifndef MODULE_ADAFRUIT_BLE + OUT_BT, #endif KEYCODE_END }; @@ -428,12 +441,23 @@ const uint8_t PROGMEM LED_FN[] = { }; const uint8_t PROGMEM LED_INDICATORS[] = { - LED_IND_EMOJI, - LED_IND_NUM, - LED_IND_FUN, - LED_IND_BATTERY, - LED_IND_USB, + LED_IND_LINUX, + LED_IND_APPLE, + LED_IND_WINDOWS, + LED_IND_QWERTY, + LED_IND_ALT, + LED_IND_AUDIO, LED_IND_BLUETOOTH, + LED_IND_USB, + + LED_IND_BATTERY, + LED_IND_CAPSLOCK, + LED_IND_GUI, + LED_IND_FUN, + LED_IND_NUM, + LED_IND_PUNC, + LED_IND_EMOJI, + LED_IND_GREEK, }; const uint8_t PROGMEM LED_TRACKPOINT[] = { @@ -486,15 +510,31 @@ void led_reset(void) { } } +void led_set_default_layer_indicator(void) { + uint8_t default_layer = biton32(default_layer_state); + if (default_layer == _QWERTY) { + rgbsps_set(LED_IND_QWERTY, 15, 10, 0); + rgbsps_set(LED_IND_ALT, 0, 0, 0); + } else { + rgbsps_set(LED_IND_QWERTY, 0, 0, 0); + rgbsps_set(LED_IND_ALT, 15, 10, 0); + } + rgbsps_send(); + return; +} + void led_set_layer_indicator(void) { static uint8_t oldlayer = 255; + led_reset(); + + rgbsps_set(LED_IND_GUI, 0, 0, 0); rgbsps_set(LED_IND_FUN, 0, 0, 0); - // rgbsps_set(LED_IND_NUM, 0, 0, 0); + rgbsps_set(LED_IND_NUM, 0, 0, 0); + rgbsps_set(LED_IND_PUNC, 0, 0, 0); + rgbsps_set(LED_IND_GREEK, 0, 0, 0); rgbsps_set(LED_IND_EMOJI, 0, 0, 0); - led_reset(); - uint8_t layer = biton32(layer_state); if (oldlayer == layer) { return; @@ -508,24 +548,57 @@ void led_set_layer_indicator(void) { } switch(layer) { + case _GUI: + rgbsps_set(LED_IND_GUI, 15, 0, 15); + break; case _FUN: rgbsps_set(LED_IND_FUN, 15, 0, 0); break; - // case _NUM: - // rgbsps_set(LED_IND_NUM, 0, 0, 15); - // break; + case _NUM: + rgbsps_set(LED_IND_NUM, 0, 0, 15); + break; + case _PUNC: + rgbsps_set(LED_IND_PUNC, 0, 15, 0); + break; + case _GREEKL: + case _GREEKU: + rgbsps_set(LED_IND_GREEK, 0, 15, 15); + break; case _EMOJI: rgbsps_set(LED_IND_EMOJI, 15, 15, 0); break; default: + rgbsps_set(LED_IND_GUI, 3, 3, 3); rgbsps_set(LED_IND_FUN, 3, 3, 3); - // rgbsps_set(LED_IND_NUM, 3, 3, 3); + rgbsps_set(LED_IND_NUM, 3, 3, 3); + rgbsps_set(LED_IND_PUNC, 3, 3, 3); + rgbsps_set(LED_IND_GREEK, 3, 3, 3); rgbsps_set(LED_IND_EMOJI, 3, 3, 3); } rgbsps_send(); } +void led_set_unicode_input_mode(void) { + rgbsps_set(LED_IND_LINUX, 0, 0, 0); + rgbsps_set(LED_IND_APPLE, 0, 0, 0); + rgbsps_set(LED_IND_WINDOWS, 0, 0, 0); + + switch (get_unicode_input_mode()) { + case UC_LNX: + rgbsps_set(LED_IND_LINUX, 15, 15, 15); + break; + case UC_OSX: + rgbsps_set(LED_IND_APPLE, 15, 15, 15); + break; + case UC_WIN: + case UC_WINC: + rgbsps_set(LED_IND_WINDOWS, 15, 15, 15); + break; + } + rgbsps_send(); +} + void led_set_output_ble(void) { rgbsps_set(LED_IND_BLUETOOTH, 0, 0, 15); rgbsps_set(LED_IND_USB, 0, 0, 0); @@ -552,7 +625,16 @@ void led_init(void) { rgbsps_set(LED_TRACKPOINT1, 15, 0, 0); rgbsps_set(LED_TRACKPOINT2, 0, 0, 15); rgbsps_set(LED_TRACKPOINT3, 15, 0, 0); + + // unicode input mode + led_set_unicode_input_mode(); + + // layer indicator + led_set_layer_indicator(); + led_set_default_layer_indicator(); } + + #endif // RGBSPS_ENABLE // keymaps @@ -831,7 +913,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_SYS] = KEYMAP( DEBUG, QWERTY, WIN, XXXXXXX, RESET, XXXXXXX, XXXXXXX, OUT_USB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, FC_TOG, XXXXXXX, DVORAK, XXXXXXX, GLOW, XXXXXXX, XXXXXXX, WORKMAN, LINUX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, XXXXXXX, OUT_BLE, NORMAN, OSX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, XXXXXXX, OUT_BT, NORMAN, OSX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______ ), @@ -842,6 +924,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void persistant_default_layer_set(uint16_t default_layer) { eeconfig_update_default_layer(default_layer); default_layer_set(default_layer); + led_set_default_layer_indicator(); } #ifdef DOUBLESPACE_LAYER_ENABLE @@ -1086,14 +1169,23 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // OS switchers case LINUX: set_unicode_input_mode(UC_LNX); +#ifdef RGBSPS_ENABLE + led_set_unicode_input_mode(); +#endif return false; break; case WIN: set_unicode_input_mode(UC_WINC); +#ifdef RGBSPS_ENABLE + led_set_unicode_input_mode(); +#endif return false; break; case OSX: set_unicode_input_mode(UC_OSX); +#ifdef RGBSPS_ENABLE + led_set_unicode_input_mode(); +#endif return false; break; @@ -1115,6 +1207,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // faux clicky indicator #ifdef FAUXCLICKY_ENABLE case FC_TOG: +#ifdef RGBSPS_ENABLE + if (fauxclicky_enabled) { + rgbsps_set(LED_IND_AUDIO, 0, 0, 0); + } else { + rgbsps_set(LED_IND_AUDIO, 5, 11, 13); + } + rgbsps_send(); +#endif return true; break; #endif @@ -1123,12 +1223,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } void set_output_user(uint8_t output) { -#ifdef ADAFRUIT_BLE_ENABLE +#ifdef MODULE_ADAFRUIT_BLE switch(output) { case OUTPUT_USB: led_set_output_usb(); break; - case OUTPUT_ADAFRUIT_BLE: + case OUTPUT_BLUETOOTH: led_set_output_ble(); break; default: @@ -1147,12 +1247,12 @@ void matrix_init_user() { #endif // auto detect output on init -#ifdef ADAFRUIT_BLE_ENABLE +#ifdef MODULE_ADAFRUIT_BLE uint8_t output = auto_detect_output(); if (output == OUTPUT_USB) { set_output(OUTPUT_USB); } else { - set_output(OUTPUT_ADAFRUIT_BLE); + set_output(OUTPUT_BLUETOOTH); } #endif } @@ -1178,9 +1278,9 @@ void turn_off_capslock() { bool new_capslock = usb_led & (1< Date: Wed, 19 Apr 2017 02:55:19 +0700 Subject: Fix Planck compatibility --- keyboards/handwired/promethium/keymaps/priyadi/keymap.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c index 55e028f184..efa5d9756e 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c +++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c @@ -924,7 +924,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { void persistant_default_layer_set(uint16_t default_layer) { eeconfig_update_default_layer(default_layer); default_layer_set(default_layer); +#ifdef RGBSPS_ENABLE led_set_default_layer_indicator(); +#endif } #ifdef DOUBLESPACE_LAYER_ENABLE -- cgit v1.2.3 From fecb932945e37fa8c234d162ae1643014bac7b1a Mon Sep 17 00:00:00 2001 From: dbroqua Date: Tue, 18 Apr 2017 22:26:32 +0200 Subject: - Fixed bug in keymap for s60-X RGB --- keyboards/s60-x-rgb/keymaps/dbroqua/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/s60-x-rgb/keymaps/dbroqua/keymap.c b/keyboards/s60-x-rgb/keymaps/dbroqua/keymap.c index 9577a8f5d2..210e284622 100644 --- a/keyboards/s60-x-rgb/keymaps/dbroqua/keymap.c +++ b/keyboards/s60-x-rgb/keymaps/dbroqua/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, ______, \ ______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT,______, ______, \ ______, ______, KC_MPRV, KC_MPLY, KC_MNXT,______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN,______, ______, ______, \ - ______, ______, ______, TG(_WASD), KC_MSTP, ______, ______, ______ \ + ______, ______, ______, ______, KC_MSTP, ______, ______, ______ \ ), -- cgit v1.2.3 From 3a00aafd39a8442e039207233b1ccc19c37f7311 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Tue, 18 Apr 2017 18:15:46 -0700 Subject: swapped RAISE with LOWER in layer-tapping macros. --- keyboards/tv44/keymaps/xyverz/keymap.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/tv44/keymaps/xyverz/keymap.c b/keyboards/tv44/keymaps/xyverz/keymap.c index d09a11c35c..a28828dfb9 100644 --- a/keyboards/tv44/keymaps/xyverz/keymap.c +++ b/keyboards/tv44/keymaps/xyverz/keymap.c @@ -23,9 +23,9 @@ enum planck_keycodes { }; // Layer-Tapping macros -#define ESCLOWR LT(_LOWER, KC_ESC) -#define MINSRSE LT(_RAISE, KC_MINS) -#define QUOTRSE LT(_RAISE, KC_QUOT) +#define ESCRAIS LT(_RAISE, KC_ESC) +#define MINSLWR LT(_LOWER, KC_MINS) +#define QUOTLWR LT(_LOWER, KC_QUOT) // Fillers to make layering more clear #define _______ KC_TRNS @@ -35,21 +35,21 @@ enum planck_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_DVORAK] = { /* 0: Dvorak */ {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH }, - {ESCLOWR, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, MINSRSE }, + {ESCRAIS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, MINSLWR }, {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT }, {KC_LCTL, KC_LALT, LOWER, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, RAISE, KC_LGUI, XXXXXXX, KC_ENT } }, [_QWERTY] = { /* 1: Qwerty */ {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, - {ESCLOWR, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, QUOTRSE }, + {ESCRAIS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, QUOTLWR }, {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_LCTL, KC_LALT, LOWER, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, RAISE, KC_LGUI, XXXXXXX, KC_ENT } }, [_COLEMAK] = { /* 2: Colemak */ {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC }, - {ESCLOWR, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, QUOTRSE }, + {ESCRAIS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, QUOTLWR }, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT }, {KC_LCTL, KC_LALT, LOWER, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, RAISE, KC_LGUI, XXXXXXX, KC_ENT } }, -- cgit v1.2.3 From b844fe7efd5439a518003d6f08427b25d9f26f40 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Tue, 18 Apr 2017 20:36:26 -0700 Subject: LT doesn't work with tri_layer. Removed it from this keymap. --- keyboards/tv44/keymaps/xyverz/keymap.c | 45 +++++++++++++++------------------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/keyboards/tv44/keymaps/xyverz/keymap.c b/keyboards/tv44/keymaps/xyverz/keymap.c index a28828dfb9..3ff16de35f 100644 --- a/keyboards/tv44/keymaps/xyverz/keymap.c +++ b/keyboards/tv44/keymaps/xyverz/keymap.c @@ -22,11 +22,6 @@ enum planck_keycodes { ADJUST }; -// Layer-Tapping macros -#define ESCRAIS LT(_RAISE, KC_ESC) -#define MINSLWR LT(_LOWER, KC_MINS) -#define QUOTLWR LT(_LOWER, KC_QUOT) - // Fillers to make layering more clear #define _______ KC_TRNS #define XXXXXXX KC_NO @@ -34,38 +29,38 @@ enum planck_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_DVORAK] = { /* 0: Dvorak */ - {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH }, - {ESCRAIS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, MINSLWR }, - {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT }, - {KC_LCTL, KC_LALT, LOWER, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, RAISE, KC_LGUI, XXXXXXX, KC_ENT } + {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH}, + {KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS}, + {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT}, + {KC_LCTL, KC_LALT, LOWER, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, RAISE, KC_LGUI, XXXXXXX, KC_ENT } }, [_QWERTY] = { /* 1: Qwerty */ - {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, - {ESCRAIS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, QUOTLWR }, - {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_LCTL, KC_LALT, LOWER, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, RAISE, KC_LGUI, XXXXXXX, KC_ENT } + {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, + {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {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_LCTL, KC_LALT, LOWER, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, RAISE, KC_LGUI, XXXXXXX, KC_ENT } }, [_COLEMAK] = { /* 2: Colemak */ - {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC }, - {ESCRAIS, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, QUOTLWR }, - {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT }, - {KC_LCTL, KC_LALT, LOWER, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, RAISE, KC_LGUI, XXXXXXX, KC_ENT } + {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, + {KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, + {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT}, + {KC_LCTL, KC_LALT, LOWER, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, RAISE, KC_LGUI, XXXXXXX, KC_ENT } }, [_LOWER] = {/* 1: FN 1 */ - {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE }, - {_______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE }, - {KC_CAPS, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______ }, - {KC_LEFT, KC_RGHT, _______, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, _______, KC_UP, XXXXXXX, KC_DOWN } + {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE}, + {_______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, + {KC_CAPS, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______}, + {KC_LEFT, KC_RGHT, _______, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, _______, KC_UP, XXXXXXX, KC_DOWN} }, [_RAISE] = { /* 2: FN 2 */ - {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS }, - {_______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS }, - {KC_CAPS, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______ }, - {KC_LEFT, KC_RGHT, _______, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, _______, KC_UP, XXXXXXX, KC_DOWN } + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS}, + {_______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, + {KC_CAPS, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______}, + {KC_LEFT, KC_RGHT, _______, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, _______, KC_UP, XXXXXXX, KC_DOWN} }, [_ADJUST] = { -- cgit v1.2.3 From 0a8df2c5e30ad3c4eb0fe3acb9949e9e4f22d103 Mon Sep 17 00:00:00 2001 From: Ryan MacLean Date: Tue, 18 Apr 2017 21:53:10 -0700 Subject: Adding Maximized Keymap For use with grid layout pads. --- keyboards/amjpad/amjpad.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/keyboards/amjpad/amjpad.h b/keyboards/amjpad/amjpad.h index b9b4d3686a..ffba1c9b94 100644 --- a/keyboards/amjpad/amjpad.h +++ b/keyboards/amjpad/amjpad.h @@ -39,7 +39,22 @@ {k40, k41, k42, k43}, \ {k50, XXX, k52, XXX} \ } - +#define MAXKEYMAP( \ + k00, k01, k02, k03, \ + k10, k11, k12, k13, \ + k20, k21, k22, k23, \ + k30, k31, k32, k33, \ + k40, k41, k42, k43, \ + k50, k51, k52, k53\ +) \ +{ \ + {k00, k01, k02, k03}, \ + {k10, k11, k12, k13}, \ + {k20, k21, k22, k23}, \ + {k30, k31, k32, k33}, \ + {k40, k41, k42, k43}, \ + {k50, k51, k52, k53} \ +} void matrix_init_user(void); void matrix_scan_user(void); -- cgit v1.2.3 From 34130d56f1c5ceb3fa80e434f1a9a3ec2ae17fa6 Mon Sep 17 00:00:00 2001 From: Ryan MacLean Date: Tue, 18 Apr 2017 21:54:58 -0700 Subject: Adding Sample Max Layout --- keyboards/amjpad/keymaps/max/keymap.c | 102 ++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 keyboards/amjpad/keymaps/max/keymap.c diff --git a/keyboards/amjpad/keymaps/max/keymap.c b/keyboards/amjpad/keymaps/max/keymap.c new file mode 100644 index 0000000000..926a494a90 --- /dev/null +++ b/keyboards/amjpad/keymaps/max/keymap.c @@ -0,0 +1,102 @@ +#include "amjpad.h" + +#ifdef RGBLIGHT_ENABLE +#include "rgblight.h" +#endif + +// Used for SHIFT_ESC +#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _BL 0 +#define _FL 1 + +#define _______ KC_TRNS + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: (Base Layer) Default Layer + * ,-------------------. + * |Esc |Setp| - | = | + * |----|----|----|----| + * | F1 | F2 | F3 | F4 | + * |----|----|----|----| + * | 7 | 8 | 9 | - | + * |----|----|----|----| + * | 4 | 5 | 6 | LF | + * |----|----|----|----| + * | 1 | 2 | 3 | \ | + * |----|----|----|----| + * |Left|Down| Up |Rght| + * `-------------------' + */ + +[_BL] = MAXKEYMAP( + + KC_ESC, KC_TAB, KC_MINS,KC_EQL, \ + KC_F1, KC_F2, KC_F3, KC_F4, \ + KC_P7, KC_P8, KC_P9, KC_PMNS, \ + KC_P4, KC_P5, KC_P6, KC_PENT, \ + KC_P1, KC_P2, KC_P3, KC_BSLS, \ + KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT), + + /* Keymap _FL: Function Layer + * ,-------------------. + * |Esc |TAB |BS | = | + * |----|----|----|----| + * | NL | / | * | - | + * |----|----|----|----| + * | 7 | 8 | 9 | | + * |----|----|----|RST | + * | 4 | 5 | 6 | | + * |----|----|----|----| + * | 1 | 2 | 3 | | + * |----|----|----| En | + * | 0 |./FN| | + * `-------------------' + */ +[_FL] = MAXKEYMAP( + + KC_ESC,KC_TAB,KC_BSPC,KC_PEQL, \ + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ + KC_P7, KC_P8, KC_P9, RESET, \ + KC_P4, KC_P5, KC_P6, KC_PENT, \ + KC_P1, KC_P2, KC_P3, KC_PENT, \ + KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT), +}; + +enum function_id { + SHIFT_ESC, +}; + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_FUNCTION(SHIFT_ESC), +}; + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { + static uint8_t shift_esc_shift_mask; + switch (id) { + case SHIFT_ESC: + shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; + if (record->event.pressed) { + if (shift_esc_shift_mask) { + add_key(KC_GRV); + send_keyboard_report(); + } else { + add_key(KC_ESC); + send_keyboard_report(); + } + } else { + if (shift_esc_shift_mask) { + del_key(KC_GRV); + send_keyboard_report(); + } else { + del_key(KC_ESC); + send_keyboard_report(); + } + } + break; + } +} -- cgit v1.2.3 From 430a8e17508926718759b860977cb59831720fca Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Wed, 19 Apr 2017 07:59:39 +0300 Subject: Fix LCD SS pin configuration There was a typo, so the attempted configuration proably didn't do what it should have done. I think it left the pin floating, and could cause the LCD problems issue-1230. --- keyboards/ergodox/infinity/drivers/gdisp/st7565ergodox/board_ST7565.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/ergodox/infinity/drivers/gdisp/st7565ergodox/board_ST7565.h b/keyboards/ergodox/infinity/drivers/gdisp/st7565ergodox/board_ST7565.h index e8c17e6e33..9650ffb440 100644 --- a/keyboards/ergodox/infinity/drivers/gdisp/st7565ergodox/board_ST7565.h +++ b/keyboards/ergodox/infinity/drivers/gdisp/st7565ergodox/board_ST7565.h @@ -75,7 +75,7 @@ static GFXINLINE void init_board(GDisplay *g) { palSetPad(ST7565_GPIOPORT, ST7565_RST_PIN); palSetPadModeRaw(MOSI, ST7565_SPI_MODE); palSetPadModeRaw(SLCK, ST7565_SPI_MODE); - palSetPadModeRaw(SS, PAL_MODE_OUTPUT_PUSHPULL); + palSetPadModeNamed(SS, PAL_MODE_OUTPUT_PUSHPULL); spiInit(); spiStart(&SPID1, &spi1config); -- cgit v1.2.3 From ce0efa6b9a92387af395fded796e8ccb8927b52d Mon Sep 17 00:00:00 2001 From: Priyadi Iman Nurcahyo Date: Wed, 19 Apr 2017 12:03:48 +0700 Subject: Fix LED sequence; bug fixes --- keyboards/handwired/promethium/config.h | 12 ++++++------ keyboards/handwired/promethium/keymaps/priyadi/keymap.c | 16 ++++++++++++---- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h index a13406b0dd..04f7caa55c 100644 --- a/keyboards/handwired/promethium/config.h +++ b/keyboards/handwired/promethium/config.h @@ -205,7 +205,7 @@ enum led_sequence { LED_RSFT, LED_RCTL, - LED_RGUI, + LED_RALT, LED_SLSH, LED_SCLN, LED_P, @@ -213,9 +213,9 @@ enum led_sequence { LED_O, LED_L, LED_DOT, - LED_RALT, + LED_RGUI, - LED_EMOJI, + LED_GREEK, LED_COMM, LED_K, LED_I, @@ -244,7 +244,7 @@ enum led_sequence { LED_V, LED_NUM, - LED_PUNC, + LED_EMPTY, LED_C, LED_D, LED_E, @@ -252,9 +252,9 @@ enum led_sequence { LED_W, LED_S, LED_X, - LED_LALT, - LED_LGUI, + + LED_LALT, LED_Z, LED_A, LED_Q, diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c index efa5d9756e..7a18b02fd4 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c +++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c @@ -434,10 +434,10 @@ const uint8_t PROGMEM LED_MODS[] = { }; const uint8_t PROGMEM LED_FN[] = { - LED_PUNC, + LED_EMPTY, LED_NUM, LED_FUN, - LED_EMOJI + LED_GREEK }; const uint8_t PROGMEM LED_INDICATORS[] = { @@ -632,6 +632,14 @@ void led_init(void) { // layer indicator led_set_layer_indicator(); led_set_default_layer_indicator(); + + // clicky + if (fauxclicky_enabled) { + rgbsps_set(LED_IND_AUDIO, 5, 11, 13); + } else { + rgbsps_set(LED_IND_AUDIO, 0, 0, 0); + } + rgbsps_send(); } @@ -1211,9 +1219,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case FC_TOG: #ifdef RGBSPS_ENABLE if (fauxclicky_enabled) { - rgbsps_set(LED_IND_AUDIO, 0, 0, 0); - } else { rgbsps_set(LED_IND_AUDIO, 5, 11, 13); + } else { + rgbsps_set(LED_IND_AUDIO, 0, 0, 0); } rgbsps_send(); #endif -- cgit v1.2.3 From f9d226ca50ba243133847d19893d2c3b844eec12 Mon Sep 17 00:00:00 2001 From: Priyadi Iman Nurcahyo Date: Wed, 19 Apr 2017 12:35:05 +0700 Subject: tune clicks --- keyboards/handwired/promethium/promethium.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/handwired/promethium/promethium.c b/keyboards/handwired/promethium/promethium.c index 8b1a0c71f2..544e94be59 100644 --- a/keyboards/handwired/promethium/promethium.c +++ b/keyboards/handwired/promethium/promethium.c @@ -4,9 +4,9 @@ #include "matrix.h" #include "musical_notes.h" -float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_F3, .03125); -float fauxclicky_released_note[2] = MUSICAL_NOTE(_C3, .03125); -float fauxclicky_beep_note[2] = MUSICAL_NOTE(_C3, .03125); +float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_C5, 0.25); +float fauxclicky_released_note[2] = MUSICAL_NOTE(_C4, 0.25); +float fauxclicky_beep_note[2] = MUSICAL_NOTE(_C6, 0.25); // cubic fit {3.3, 0}, {3.5, 2.9}, {3.6, 5}, {3.7, 8.6}, {3.8, 36}, {3.9, 62}, {4.0, 73}, {4.05, 83}, {4.1, 89}, {4.15, 94}, {4.2, 100} -- cgit v1.2.3 From e27c50669a3774680d0c77c01659344b8e4e5b0d Mon Sep 17 00:00:00 2001 From: reversebias Date: Wed, 19 Apr 2017 20:12:50 +1000 Subject: Create temp --- keyboards/mitosis/temp | 1 + 1 file changed, 1 insertion(+) create mode 100644 keyboards/mitosis/temp diff --git a/keyboards/mitosis/temp b/keyboards/mitosis/temp new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/keyboards/mitosis/temp @@ -0,0 +1 @@ + -- cgit v1.2.3 From 3c3be98a064388db79127ca420592f46d2753150 Mon Sep 17 00:00:00 2001 From: reversebias Date: Wed, 19 Apr 2017 20:15:44 +1000 Subject: Delete temp --- keyboards/mitosis/temp | 1 - 1 file changed, 1 deletion(-) delete mode 100644 keyboards/mitosis/temp diff --git a/keyboards/mitosis/temp b/keyboards/mitosis/temp deleted file mode 100644 index 8b13789179..0000000000 --- a/keyboards/mitosis/temp +++ /dev/null @@ -1 +0,0 @@ - -- cgit v1.2.3 From 43964438fbe0708158a4a6d076ab5b5dc4ea0012 Mon Sep 17 00:00:00 2001 From: cam Date: Wed, 19 Apr 2017 20:27:49 +1000 Subject: First Commit --- keyboards/mitosis/Makefile | 3 + keyboards/mitosis/config.h | 87 ++++++++++++ keyboards/mitosis/keymaps/default/keymap.c | 221 +++++++++++++++++++++++++++++ keyboards/mitosis/matrix.c | 164 +++++++++++++++++++++ keyboards/mitosis/mitosis.c | 31 ++++ keyboards/mitosis/mitosis.h | 67 +++++++++ keyboards/mitosis/readme.md | 185 ++++++++++++++++++++++++ keyboards/mitosis/rules.mk | 81 +++++++++++ 8 files changed, 839 insertions(+) create mode 100644 keyboards/mitosis/Makefile create mode 100644 keyboards/mitosis/config.h create mode 100644 keyboards/mitosis/keymaps/default/keymap.c create mode 100644 keyboards/mitosis/matrix.c create mode 100644 keyboards/mitosis/mitosis.c create mode 100644 keyboards/mitosis/mitosis.h create mode 100644 keyboards/mitosis/readme.md create mode 100644 keyboards/mitosis/rules.mk diff --git a/keyboards/mitosis/Makefile b/keyboards/mitosis/Makefile new file mode 100644 index 0000000000..4e2a6f00fd --- /dev/null +++ b/keyboards/mitosis/Makefile @@ -0,0 +1,3 @@ +ifndef MAKEFILE_INCLUDED + include ../../Makefile +endif \ No newline at end of file diff --git a/keyboards/mitosis/config.h b/keyboards/mitosis/config.h new file mode 100644 index 0000000000..cb6378ab4c --- /dev/null +++ b/keyboards/mitosis/config.h @@ -0,0 +1,87 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ + +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER unknown +#define PRODUCT Mitosis +#define DESCRIPTION q.m.k. keyboard firmware for Mitosis + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 10 + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +//#define BACKLIGHT_LEVELS 3 + +#define ONESHOT_TIMEOUT 500 + + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +#define PREVENT_STUCK_MODIFIERS + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +//UART settings for communication with the RF microcontroller +#define SERIAL_UART_BAUD 1000000 +#define SERIAL_UART_DATA UDR1 +#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1) +#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1)) +#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) +#define SERIAL_UART_INIT() do { \ + /* baud rate */ \ + UBRR1L = SERIAL_UART_UBRR; \ + /* baud rate */ \ + UBRR1H = SERIAL_UART_UBRR >> 8; \ + /* enable TX and RX */ \ + UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ + /* 8-bit data */ \ + UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \ + } while(0) + +#endif diff --git a/keyboards/mitosis/keymaps/default/keymap.c b/keyboards/mitosis/keymaps/default/keymap.c new file mode 100644 index 0000000000..320d33db68 --- /dev/null +++ b/keyboards/mitosis/keymaps/default/keymap.c @@ -0,0 +1,221 @@ +// this is the style you want to emulate. +// This is the canonical layout file for the Quantum project. If you want to add another keyboard, + +#include "mitosis.h" + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum mitosis_layers +{ + _MALT, + _SHIFTED, + _FUNCTION, + _FUNCSHIFT +}; + +enum mitosis_keycodes +{ + FNKEY = SAFE_RANGE, + SHIFT +}; + + +// Macro definitions for readability +enum mitosis_macros +{ + VOLU, + VOLD, + ESCM +}; + +#define LONGPRESS_DELAY 150 +#define LAYER_TOGGLE_DELAY 300 + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_MALT] = { /* Malt Layout, customised for reduced columns (ex: quote and shift locations) */ + {KC_Q, KC_P, KC_Y, KC_C, KC_B, KC_V, KC_M, KC_U, KC_Z, KC_L }, + {KC_A, KC_N, KC_I, KC_S, KC_F, KC_D, KC_T, KC_H, KC_O, KC_R }, + {KC_COMM, KC_DOT, KC_J, KC_G, KC_SLSH, KC_SCLN, KC_W, KC_K, KC_QUOT, KC_X }, + {XXXXXXX, M(VOLU), M(ESCM), KC_TAB, KC_LCTL, KC_LALT, KC_ENT, KC_DEL, KC_PGUP, XXXXXXX }, + {XXXXXXX, M(VOLD), KC_LGUI, KC_E, FNKEY, SHIFT, KC_SPC, KC_BSPC, KC_PGDN, XXXXXXX } +}, + + +[_SHIFTED] = { /* Shifted Layer, layered so that tri_layer can be used, or selectively + able to modify individual key's shifted behaviour */ + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, + {XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX }, + {XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX } +}, + + + +[_FUNCTION] = { /* Function Layer, primary alternative layer featuring numpad on right hand, + cursor keys on left hand, and all symbols*/ + {KC_AMPR, KC_PERC, KC_UP, KC_CIRC, KC_PIPE, KC_LBRC, KC_7, KC_8, KC_9, KC_MINS }, + {KC_AT, KC_LEFT, KC_DOWN, KC_RGHT, KC_HASH, KC_LPRN, KC_4, KC_5, KC_6, KC_PLUS }, + {KC_ASTR, KC_UNDS, KC_EXLM, KC_DLR, KC_BSLS, KC_LCBR, KC_1, KC_2, KC_3, KC_ENT }, + {XXXXXXX, KC_HOME, KC_GRV, KC_PWR, _______, _______, KC_EQL, KC_TILD, KC_DOT, XXXXXXX }, + {XXXXXXX, KC_END, _______, _______, _______, _______, KC_0, _______, KC_PSCR, XXXXXXX } +}, + + +[_FUNCSHIFT] = { /* Function Shifted Layer, secondary alternative layer with closing brackets, + and F-keys under their numpad equivalents*/ + {_______, _______, _______, _______, _______, KC_RBRC, KC_F7, KC_F8, KC_F9, KC_F10 }, + {_______, _______, _______, _______, _______, KC_RPRN, KC_F4, KC_F5, KC_F6, KC_F11 }, + {_______, _______, _______, _______, _______, KC_RCBR, KC_F1, KC_F2, KC_F3, KC_F12 }, + {XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX }, + {XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX } +} + +}; + + +const uint16_t PROGMEM fn_actions[] = { + +}; + +static uint16_t key_timer; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + + //switch multiplexing for media, short tap for volume up, long press for play/pause + case VOLU: + if (record->event.pressed) { + key_timer = timer_read(); // if the key is being pressed, we start the timer. + } else { // this means the key was just released, so we can figure out how long it was pressed for (tap or "held down"). + if (timer_elapsed(key_timer) > LONGPRESS_DELAY) { // LONGPRESS_DELAY being 150ms, the threshhold we pick for counting something as a tap. + return MACRO(T(MPLY), END); + } else { + return MACRO(T(VOLU), END); + } + } + break; + + //switch multiplexing for media, short tap for volume down, long press for next track + case VOLD: + if (record->event.pressed) { + key_timer = timer_read(); + } else { + if (timer_elapsed(key_timer) > LONGPRESS_DELAY) { + return MACRO(T(MNXT), END); + } else { + return MACRO(T(VOLD), END); + } + } + break; + + //switch multiplexing for escape, short tap for escape, long press for context menu + case ESCM: + if (record->event.pressed) { + key_timer = timer_read(); + } else { + if (timer_elapsed(key_timer) > LONGPRESS_DELAY) { + return MACRO(T(APP), END); + } else { + return MACRO(T(ESC), END); + } + } + break; + + break; + } + return MACRO_NONE; +}; + +static bool singular_key = false; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + uint8_t layer; + layer = biton32(layer_state); // get the current layer + + //custom layer handling for tri_layer, + switch (keycode) { + case FNKEY: + if (record->event.pressed) { + key_timer = timer_read(); + singular_key = true; + layer_on(_FUNCTION); + } else { + if (timer_elapsed(key_timer) < LAYER_TOGGLE_DELAY || !singular_key) { + layer_off(_FUNCTION); + } + } + update_tri_layer(_FUNCTION, _SHIFTED, _FUNCSHIFT); + return false; + break; + //SHIFT is handled as LSHIFT in the general case + case SHIFT: + if (record->event.pressed) { + key_timer = timer_read(); + singular_key = true; + layer_on(_SHIFTED); + register_code(KC_LSFT); + } else { + if (timer_elapsed(key_timer) < LAYER_TOGGLE_DELAY || !singular_key) { + layer_off(_SHIFTED); + unregister_code(KC_LSFT); + } + } + update_tri_layer(_FUNCTION, _SHIFTED, _FUNCSHIFT); + return false; + break; + + //If any other key was pressed during the layer mod hold period, + //then the layer mod was used momentarily, and should block latching + default: + singular_key = false; + break; + } + + //FUNCSHIFT has been shifted by the SHIFT handling, some keys need to be excluded + if (layer == _FUNCSHIFT) { + //F1-F12 should be sent as unshifted keycodes, + //and ] needs to be unshifted or it is sent as } + if ( (keycode >= KC_F1 && keycode <= KC_F12) + || keycode == KC_RBRC ) { + if (record->event.pressed) { + unregister_mods(MOD_LSFT); + } else { + register_mods(MOD_LSFT); + } + } + } + + return true; +}; + +void matrix_scan_user(void) { + uint8_t layer = biton32(layer_state); + + switch (layer) { + case _MALT: + set_led_off; + break; + case _FUNCTION: + set_led_blue; + break; + case _SHIFTED: + set_led_red; + break; + case _FUNCSHIFT: + set_led_green; + break; + default: + break; + } +}; + diff --git a/keyboards/mitosis/matrix.c b/keyboards/mitosis/matrix.c new file mode 100644 index 0000000000..0d046339ea --- /dev/null +++ b/keyboards/mitosis/matrix.c @@ -0,0 +1,164 @@ +/* +Copyright 2012 Jun Wako +Copyright 2014 Jack Humbert + +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 . +*/ +#include +#include +#if defined(__AVR__) +#include +#endif +#include "wait.h" +#include "print.h" +#include "debug.h" +#include "util.h" +#include "matrix.h" +#include "timer.h" + +#if (MATRIX_COLS <= 8) +# define print_matrix_header() print("\nr/c 01234567\n") +# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) +# define matrix_bitpop(i) bitpop(matrix[i]) +# define ROW_SHIFTER ((uint8_t)1) +#elif (MATRIX_COLS <= 16) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) +# define matrix_bitpop(i) bitpop16(matrix[i]) +# define ROW_SHIFTER ((uint16_t)1) +#elif (MATRIX_COLS <= 32) +# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") +# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) +# define matrix_bitpop(i) bitpop32(matrix[i]) +# define ROW_SHIFTER ((uint32_t)1) +#endif + +/* matrix state(1:on, 0:off) */ +static matrix_row_t matrix[MATRIX_ROWS]; + +__attribute__ ((weak)) +void matrix_init_quantum(void) { + matrix_init_kb(); +} + +__attribute__ ((weak)) +void matrix_scan_quantum(void) { + matrix_scan_kb(); +} + +__attribute__ ((weak)) +void matrix_init_kb(void) { + matrix_init_user(); +} + +__attribute__ ((weak)) +void matrix_scan_kb(void) { + matrix_scan_user(); +} + +__attribute__ ((weak)) +void matrix_init_user(void) { +} + +__attribute__ ((weak)) +void matrix_scan_user(void) { +} + +inline +uint8_t matrix_rows(void) { + return MATRIX_ROWS; +} + +inline +uint8_t matrix_cols(void) { + return MATRIX_COLS; +} + +void matrix_init(void) { + + matrix_init_quantum(); +} + +uint8_t matrix_scan(void) +{ + SERIAL_UART_INIT(); + + uint32_t timeout = 0; + + //the s character requests the RF slave to send the matrix + SERIAL_UART_DATA = 's'; + + //trust the external keystates entirely, erase the last data + uint8_t uart_data[11] = {0}; + + //there are 10 bytes corresponding to 10 columns, and an end byte + for (uint8_t i = 0; i < 11; i++) { + //wait for the serial data, timeout if it's been too long + //this only happened in testing with a loose wire, but does no + //harm to leave it in here + while(!SERIAL_UART_RXD_PRESENT){ + timeout++; + if (timeout > 10000){ + break; + } + } + uart_data[i] = SERIAL_UART_DATA; + } + + //check for the end packet, the key state bytes use the LSBs, so 0xE0 + //will only show up here if the correct bytes were recieved + if (uart_data[10] == 0xE0) + { + //shifting and transferring the keystates to the QMK matrix variable + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 5; + } + } + + + matrix_scan_quantum(); + return 1; +} + +inline +bool matrix_is_on(uint8_t row, uint8_t col) +{ + return (matrix[row] & ((matrix_row_t)1 + +#define red_led_off PORTF |= (1<<5) +#define red_led_on PORTF &= ~(1<<5) +#define blu_led_off PORTF |= (1<<4) +#define blu_led_on PORTF &= ~(1<<4) +#define grn_led_off PORTD |= (1<<1) +#define grn_led_on PORTD &= ~(1<<1) + +#define set_led_off red_led_off; grn_led_off; blu_led_off +#define set_led_red red_led_on; grn_led_off; blu_led_off +#define set_led_blue red_led_off; grn_led_off; blu_led_on +#define set_led_green red_led_off; grn_led_on; blu_led_off +#define set_led_yellow red_led_on; grn_led_on; blu_led_off +#define set_led_magenta red_led_on; grn_led_off; blu_led_on +#define set_led_cyan red_led_off; grn_led_on; blu_led_on +#define set_led_white red_led_on; grn_led_on; blu_led_on + +/* +#define LED_B 5 +#define LED_R 6 +#define LED_G 7 + +#define all_leds_off PORTF &= ~(1<event.pressed` (see keymap_default.c). + +```c +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // this is the function signature -- just copy/paste it into your keymap file as it is. +{ + switch(id) { + case 0: // this would trigger when you hit a key mapped as M(0) + if (record->event.pressed) { + return MACRO( I(255), T(H), T(E), T(L), T(L), W(255), T(O), END ); // this sends the string 'hello' when the macro executes + } + break; + } + return MACRO_NONE; +}; +``` +A macro can include the following commands: + +* I() change interval of stroke in milliseconds. +* D() press key. +* U() release key. +* T() type key(press and release). +* W() wait (milliseconds). +* END end mark. + +So above you can see the stroke interval changed to 255ms between each keystroke, then a bunch of keys being typed, waits a while, then the macro ends. + +Note: Using macros to have your keyboard send passwords for you is a bad idea. + +### Additional keycode aliases for software-implemented layouts (Colemak, Dvorak, etc) + +Everything is assuming you're in Qwerty (in software) by default, but there is built-in support for using a Colemak or Dvorak layout by including this at the top of your keymap: + + #include "keymap_.h" + +Where is "colemak" or "dvorak". After including this line, you will get access to: + + * `CM_*` for all of the Colemak-equivalent characters + * `DV_*` for all of the Dvorak-equivalent characters + +These implementations assume you're using Colemak or Dvorak on your OS, not on your keyboard - this is referred to as a software-implemented layout. If your computer is in Qwerty and your keymap is in Colemak or Dvorak, this is referred to as a firmware-implemented layout, and you won't need these features. + +To give an example, if you're using software-implemented Colemak, and want to get an `F`, you would use `CM_F` - `KC_F` under these same circumstances would result in `T`. + +## Additional language support + +In `quantum/keymap_extras/`, you'll see various language files - these work the same way as the alternative layout ones do. Most are defined by their two letter country/language code followed by an underscore and a 4-letter abbreviation of its name. `FR_UGRV` which will result in a `ù` when using a software-implemented AZERTY layout. It's currently difficult to send such characters in just the firmware (but it's being worked on - see Unicode support). + +## Unicode support + +You can currently send 4 hex digits with your OS-specific modifier key (RALT for OSX with the "Unicode Hex Input" layout) - this is currently limited to supporting one OS at a time, and requires a recompile for switching. 8 digit hex codes are being worked on. The keycode function is `UC(n)`, where *n* is a 4 digit hexidecimal. Enable from the Makefile. + +## Other firmware shortcut keycodes + +* `RESET` - puts the MCU in DFU mode for flashing new firmware (with `make dfu`) +* `DEBUG` - the firmware into debug mode - you'll need hid_listen to see things +* `BL_ON` - turns the backlight on +* `BL_OFF` - turns the backlight off +* `BL_` - sets the backlight to level *n* +* `BL_INC` - increments the backlight level by one +* `BL_DEC` - decrements the backlight level by one +* `BL_TOGG` - toggles the backlight +* `BL_STEP` - steps through the backlight levels + +Enable the backlight from the Makefile. + +## MIDI functionalty + +This is still a WIP, but check out `quantum/keymap_midi.c` to see what's happening. Enable from the Makefile. + +## Bluetooth functionality + +This requires [some hardware changes](https://www.reddit.com/r/MechanicalKeyboards/comments/3psx0q/the_planck_keyboard_with_bluetooth_guide_and/?ref=search_posts), but can be enabled via the Makefile. The firmware will still output characters via USB, so be aware of this when charging via a computer. It would make sense to have a switch on the Bluefruit to turn it off at will. + +## Building + +Download or clone the whole firmware and navigate to the keyboards/atreus folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use `make dfu` to program your PCB once you hit the reset button. + +Depending on which keymap you would like to use, you will have to compile slightly differently. + +### Default +To build with the default keymap, simply run `make default`. + +### Other Keymaps +Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `.c` and see keymap document (you can find in top readme.md) and existent keymap files. + +To build the firmware binary hex file with a keymap just do `make` with a keymap like this: + +``` +$ make [default|jack|] +``` +Keymaps follow the format **__\.c__** and are stored in the `keymaps` folder. diff --git a/keyboards/mitosis/rules.mk b/keyboards/mitosis/rules.mk new file mode 100644 index 0000000000..4e4eba82bc --- /dev/null +++ b/keyboards/mitosis/rules.mk @@ -0,0 +1,81 @@ + +OPT_DEFS += -DMITOSIS_PROMICRO +OPT_DEFS += -DCATERINA_BOOTLOADER +MITOSIS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \ + avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB) + +# # project specific files +SRC = matrix.c + + +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + + +# Build Options +# comment out to disable the options. +# +#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= yes # Console for debug(+400) +COMMAND_ENABLE ?= yes # Commands for debug and configuration +CUSTOM_MATRIX ?= yes # Remote matrix from the wireless bridge +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +# SLEEP_LED_ENABLE ?= yes # Breathing sleep LED during USB suspend +NKRO_ENABLE ?= yes # USB Nkey Rollover - not yet supported in LUFA +# BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality +# MIDI_ENABLE ?= YES # MIDI controls +UNICODE_ENABLE ?= YES # Unicode +# BLUETOOTH_ENABLE ?= yes # Enable Bluetooth with the Adafruit EZ-Key HID + +USB ?= /dev/ttyACM0 + +upload: build + $(MITOSIS_UPLOAD_COMMAND) -- cgit v1.2.3 From 43fd889d7e42c8955fb64273fa1ddde519896284 Mon Sep 17 00:00:00 2001 From: reversebias Date: Wed, 19 Apr 2017 22:39:44 +1000 Subject: Update readme.md --- keyboards/mitosis/readme.md | 164 ++------------------------------------------ 1 file changed, 6 insertions(+), 158 deletions(-) diff --git a/keyboards/mitosis/readme.md b/keyboards/mitosis/readme.md index a764bdf7b1..70755e32ac 100644 --- a/keyboards/mitosis/readme.md +++ b/keyboards/mitosis/readme.md @@ -1,169 +1,17 @@ -mitosis keyboard firmware +Mitosis Keyboard Firmware ====================== -## Quantum MK Firmware - -You have access to a bunch of goodies! Check out the Makefile to enable/disable some of the features. Uncomment the `#` to enable them. Setting them to `no` does nothing and will only confuse future you. - - BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality - MIDI_ENABLE = yes # MIDI controls - # UNICODE_ENABLE = yes # Unicode support - this is commented out, just as an example. You have to use #, not // - BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID - -## Mitosis specific information - These configuration files were based off the Atreus keyboard. It assumes a Pro Micro is being used, however retains the 'make upload' feature from the Atreus branch. This keyboard uses a completely different 'matrix scan' system to other keyboards, it relies on an external nRF51822 microcontroller maintaining a matrix of keystates received from the keyboard halves. The matrix.c file contains the code to poll the external microcontroller for the key matrix. As long as this file is not changed, all other QMK features are supported. -## Quick aliases to common actions - -Your keymap can include shortcuts to common operations (called "function actions" in tmk). - -### Switching and toggling layers - -`MO(layer)` - momentary switch to *layer*. As soon as you let go of the key, the layer is deactivated and you pop back out to the previous layer. When you apply this to a key, that same key must be set as `KC_TRNS` on the destination layer. Otherwise, you won't make it back to the original layer when you release the key (and you'll get a keycode sent). You can only switch to layers *above* your current layer. If you're on layer 0 and you use `MO(1)`, that will switch to layer 1 just fine. But if you include `MO(3)` on layer 5, that won't do anything for you -- because layer 3 is lower than layer 5 on the stack. - -`LT(layer, kc)` - momentary switch to *layer* when held, and *kc* when tapped. Like `MO()`, this only works upwards in the layer stack (`layer` must be higher than the current layer). - -`TG(layer)` - toggles a layer on or off. As with `MO()`, you should set this key as `KC_TRNS` in the destination layer so that tapping it again actually toggles back to the original layer. Only works upwards in the layer stack. - -### Fun with modifier keys - -* `LSFT(kc)` - applies left Shift to *kc* (keycode) - `S(kc)` is an alias -* `RSFT(kc)` - applies right Shift to *kc* -* `LCTL(kc)` - applies left Control to *kc* -* `RCTL(kc)` - applies right Control to *kc* -* `LALT(kc)` - applies left Alt to *kc* -* `RALT(kc)` - applies right Alt to *kc* -* `LGUI(kc)` - applies left GUI (command/win) to *kc* -* `RGUI(kc)` - applies right GUI (command/win) to *kc* - -You can also chain these, like this: - - LALT(LCTL(KC_DEL)) -- this makes a key that sends Alt, Control, and Delete in a single keypress. - -The following shortcuts automatically add `LSFT()` to keycodes to get commonly used symbols. Their long names are also available and documented in `/quantum/keymap_common.h`. - - KC_TILD ~ - KC_EXLM ! - KC_AT @ - KC_HASH # - KC_DLR $ - KC_PERC % - KC_CIRC ^ - KC_AMPR & - KC_ASTR * - KC_LPRN ( - KC_RPRN ) - KC_UNDS _ - KC_PLUS + - KC_LCBR { - KC_RCBR } - KC_PIPE | - KC_COLN : - -`MT(mod, kc)` - is *mod* (modifier key - MOD_LCTL, MOD_LSFT) when held, and *kc* when tapped. In other words, you can have a key that sends Esc (or the letter O or whatever) when you tap it, but works as a Control key or a Shift key when you hold it down. - -These are the values you can use for the `mod` in `MT()` (right-hand modifiers are not available): - - * MOD_LCTL - * MOD_LSFT - * MOD_LALT - * MOD_LGUI - -These can also be combined like `MOD_LCTL | MOD_LSFT` e.g. `MT(MOD_LCTL | MOD_LSFT, KC_ESC)` which would activate Control and Shift when held, and send Escape when tapped. - -We've added shortcuts to make common modifier/tap (mod-tap) mappings more compact: - - * `CTL_T(kc)` - is LCTL when held and *kc* when tapped - * `SFT_T(kc)` - is LSFT when held and *kc* when tapped - * `ALT_T(kc)` - is LALT when held and *kc* when tapped - * `GUI_T(kc)` - is LGUI when held and *kc* when tapped - * `ALL_T(kc)` - is Hyper (all mods) when held and *kc* when tapped. To read more about what you can do with a Hyper key, see [this blog post by Brett Terpstra](http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/) - -### Temporarily setting the default layer - -`DF(layer)` - sets default layer to *layer*. The default layer is the one at the "bottom" of the layer stack - the ultimate fallback layer. This currently does not persist over power loss. When you plug the keyboard back in, layer 0 will always be the default. It is theoretically possible to work around that, but that's not what `DF` does. +Build log of the keyboard can be found [here](https://www.reddit.com/r/MechanicalKeyboards/comments/66588f/wireless_split_qmk_mitosis/) -### Remember: These are just aliases +Hardware design files can be found [here](https://github.com/reversebias/mitosis-hardware) -These functions work the same way that their `ACTION_*` functions do - they're just quick aliases. To dig into all of the tmk ACTION_* functions, please see the [TMK documentation](https://github.com/jackhumbert/qmk_firmware/blob/master/tmk_core/doc/keymap.md#2-action). +Firmware for the nordic MCUs can be found [here](https://github.com/reversebias/mitosis) -Instead of using `FNx` when defining `ACTION_*` functions, you can use `F(x)` - the benefit here is being able to use more than 32 function actions (up to 4096), if you happen to need them. - -## Macro shortcuts: Send a whole string when pressing just one key - -Instead of using the `ACTION_MACRO` function, you can simply use `M(n)` to access macro *n* - *n* will get passed into the `action_get_macro` as the `id`, and you can use a switch statement to trigger it. This gets called on the keydown and keyup, so you'll need to use an if statement testing `record->event.pressed` (see keymap_default.c). - -```c -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // this is the function signature -- just copy/paste it into your keymap file as it is. -{ - switch(id) { - case 0: // this would trigger when you hit a key mapped as M(0) - if (record->event.pressed) { - return MACRO( I(255), T(H), T(E), T(L), T(L), W(255), T(O), END ); // this sends the string 'hello' when the macro executes - } - break; - } - return MACRO_NONE; -}; -``` -A macro can include the following commands: - -* I() change interval of stroke in milliseconds. -* D() press key. -* U() release key. -* T() type key(press and release). -* W() wait (milliseconds). -* END end mark. - -So above you can see the stroke interval changed to 255ms between each keystroke, then a bunch of keys being typed, waits a while, then the macro ends. - -Note: Using macros to have your keyboard send passwords for you is a bad idea. - -### Additional keycode aliases for software-implemented layouts (Colemak, Dvorak, etc) - -Everything is assuming you're in Qwerty (in software) by default, but there is built-in support for using a Colemak or Dvorak layout by including this at the top of your keymap: - - #include "keymap_.h" - -Where is "colemak" or "dvorak". After including this line, you will get access to: - - * `CM_*` for all of the Colemak-equivalent characters - * `DV_*` for all of the Dvorak-equivalent characters - -These implementations assume you're using Colemak or Dvorak on your OS, not on your keyboard - this is referred to as a software-implemented layout. If your computer is in Qwerty and your keymap is in Colemak or Dvorak, this is referred to as a firmware-implemented layout, and you won't need these features. - -To give an example, if you're using software-implemented Colemak, and want to get an `F`, you would use `CM_F` - `KC_F` under these same circumstances would result in `T`. - -## Additional language support - -In `quantum/keymap_extras/`, you'll see various language files - these work the same way as the alternative layout ones do. Most are defined by their two letter country/language code followed by an underscore and a 4-letter abbreviation of its name. `FR_UGRV` which will result in a `ù` when using a software-implemented AZERTY layout. It's currently difficult to send such characters in just the firmware (but it's being worked on - see Unicode support). - -## Unicode support - -You can currently send 4 hex digits with your OS-specific modifier key (RALT for OSX with the "Unicode Hex Input" layout) - this is currently limited to supporting one OS at a time, and requires a recompile for switching. 8 digit hex codes are being worked on. The keycode function is `UC(n)`, where *n* is a 4 digit hexidecimal. Enable from the Makefile. - -## Other firmware shortcut keycodes - -* `RESET` - puts the MCU in DFU mode for flashing new firmware (with `make dfu`) -* `DEBUG` - the firmware into debug mode - you'll need hid_listen to see things -* `BL_ON` - turns the backlight on -* `BL_OFF` - turns the backlight off -* `BL_` - sets the backlight to level *n* -* `BL_INC` - increments the backlight level by one -* `BL_DEC` - decrements the backlight level by one -* `BL_TOGG` - toggles the backlight -* `BL_STEP` - steps through the backlight levels - -Enable the backlight from the Makefile. - -## MIDI functionalty - -This is still a WIP, but check out `quantum/keymap_midi.c` to see what's happening. Enable from the Makefile. - -## Bluetooth functionality +## Quantum MK Firmware -This requires [some hardware changes](https://www.reddit.com/r/MechanicalKeyboards/comments/3psx0q/the_planck_keyboard_with_bluetooth_guide_and/?ref=search_posts), but can be enabled via the Makefile. The firmware will still output characters via USB, so be aware of this when charging via a computer. It would make sense to have a switch on the Bluefruit to turn it off at will. +For the full Quantum feature list, see [the parent readme](/). ## Building -- cgit v1.2.3 From 215dd126d08b29939c53bf0eaa006ce6ecdedb83 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Wed, 19 Apr 2017 22:12:23 +0200 Subject: - Moved S60-X RGB in sub project for S60-X --- keyboards/s60-x-rgb/Makefile | 3 - keyboards/s60-x-rgb/config.h | 58 -------- keyboards/s60-x-rgb/keymaps/dbroqua/keymap.c | 194 -------------------------- keyboards/s60-x-rgb/keymaps/default/keymap.c | 48 ------- keyboards/s60-x-rgb/keymaps/default/readme.md | 27 ---- keyboards/s60-x-rgb/rules.mk | 56 -------- keyboards/s60-x-rgb/s60-x-rgb.c | 1 - keyboards/s60-x-rgb/s60-x-rgb.h | 37 ----- keyboards/s60-x/Makefile | 2 + keyboards/s60-x/config.h | 120 +--------------- keyboards/s60-x/default/Makefile | 3 + keyboards/s60-x/default/config.h | 25 ++++ keyboards/s60-x/default/default.c | 28 ++++ keyboards/s60-x/default/default.h | 69 +++++++++ keyboards/s60-x/default/rules.mk | 1 + keyboards/s60-x/keymaps/dbroqua/keymap.c | 194 ++++++++++++++++++++++++++ keyboards/s60-x/rgb/Makefile | 3 + keyboards/s60-x/rgb/config.h | 31 ++++ keyboards/s60-x/rgb/rgb.c | 1 + keyboards/s60-x/rgb/rgb.h | 37 +++++ keyboards/s60-x/rgb/rules.mk | 56 ++++++++ keyboards/s60-x/s60-x.c | 29 +--- keyboards/s60-x/s60-x.h | 68 +-------- 23 files changed, 458 insertions(+), 633 deletions(-) delete mode 100644 keyboards/s60-x-rgb/Makefile delete mode 100644 keyboards/s60-x-rgb/config.h delete mode 100644 keyboards/s60-x-rgb/keymaps/dbroqua/keymap.c delete mode 100644 keyboards/s60-x-rgb/keymaps/default/keymap.c delete mode 100644 keyboards/s60-x-rgb/keymaps/default/readme.md delete mode 100644 keyboards/s60-x-rgb/rules.mk delete mode 100644 keyboards/s60-x-rgb/s60-x-rgb.c delete mode 100644 keyboards/s60-x-rgb/s60-x-rgb.h create mode 100644 keyboards/s60-x/default/Makefile create mode 100644 keyboards/s60-x/default/config.h create mode 100644 keyboards/s60-x/default/default.c create mode 100644 keyboards/s60-x/default/default.h create mode 100644 keyboards/s60-x/default/rules.mk create mode 100644 keyboards/s60-x/keymaps/dbroqua/keymap.c create mode 100644 keyboards/s60-x/rgb/Makefile create mode 100644 keyboards/s60-x/rgb/config.h create mode 100644 keyboards/s60-x/rgb/rgb.c create mode 100644 keyboards/s60-x/rgb/rgb.h create mode 100644 keyboards/s60-x/rgb/rules.mk diff --git a/keyboards/s60-x-rgb/Makefile b/keyboards/s60-x-rgb/Makefile deleted file mode 100644 index 57b2ef62e5..0000000000 --- a/keyboards/s60-x-rgb/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifndef MAKEFILE_INCLUDED - include ../../Makefile -endif diff --git a/keyboards/s60-x-rgb/config.h b/keyboards/s60-x-rgb/config.h deleted file mode 100644 index 1b98a51d6e..0000000000 --- a/keyboards/s60-x-rgb/config.h +++ /dev/null @@ -1,58 +0,0 @@ -#ifndef CONFIG_H -#define CONFIG_H - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Massdrop -#define PRODUCT S60-X RGB -#define DESCRIPTION q.m.k. keyboard firmware for S60-X RGB - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 15 - -/* key matrix pins */ -#define MATRIX_ROW_PINS { B5, B4, D7, D6, D4 } -#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, B6, C6, C7, F1, F0, E6, B3, B2, B1, B0 } -#define UNUSED_PINS - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* number of backlight levels */ -#define BACKLIGHT_PIN B7 -#ifdef BACKLIGHT_PIN -#define BACKLIGHT_LEVELS 3 -#endif - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCING_DELAY 5 - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE - -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* key combination for command */ -#define IS_COMMAND() ( \ - keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ -) - -/* prevent stuck modifiers */ -#define PREVENT_STUCK_MODIFIERS - -#define RGB_DI_PIN F6 -#ifdef RGB_DI_PIN -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 10 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#endif - -#endif \ No newline at end of file diff --git a/keyboards/s60-x-rgb/keymaps/dbroqua/keymap.c b/keyboards/s60-x-rgb/keymaps/dbroqua/keymap.c deleted file mode 100644 index 210e284622..0000000000 --- a/keyboards/s60-x-rgb/keymaps/dbroqua/keymap.c +++ /dev/null @@ -1,194 +0,0 @@ -#include "s60-x-rgb.h" - -#define _DEFAULT 0 -#define _FN 1 -#define _SFX 2 - -// Fillers to make layering more clear -#define ______ KC_TRNS - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Qwerty gui/alt/space/alt/gui - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN | - * |-----------------------------------------------------------------------------------------+ - * |LGUI | LAlt | Space | RAlt |RGUI | - * `-----------------------------------------------------------------' - */ - [_DEFAULT] = KEYMAP( /* Basic QWERTY */ - 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, 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, KC_SLSH, ______, KC_RSFT, MO(_FN), \ - ______, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, ______, ______ \ - ), - -/* FN Layer - * ,-----------------------------------------------------------------------------------------. - * | SFX | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | - * |-----------------------------------------------------------------------------------------+ - * | CAPS | | | | | | | | Psc | Slck| Paus| Up | | | - * |-----------------------------------------------------------------------------------------+ - * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| | - * |-----------------------------------------------------------------------------------------+ - * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | | - * |-----------------------------------------------------------------------------------------+ - * | | | | Stop | | - * `-----------------------------------------------------------------' - */ - [_FN] = KEYMAP( /* Layer 1 */ - TG(_SFX),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_INS, KC_DEL, \ - KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, ______, \ - ______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT,______, ______, \ - ______, ______, KC_MPRV, KC_MPLY, KC_MNXT,______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN,______, ______, ______, \ - ______, ______, ______, ______, KC_MSTP, ______, ______, ______ \ - ), - - -/* SFX Layer - * ,-----------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | BL- | BL+ | BL | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | RGBT| RGBM| | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | - * `-----------------------------------------------------------------' - */ - [_SFX] = KEYMAP( - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ - ______, F(0), F(1), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ - ______, ______, F(2), F(3), F(4), F(5), F(6), F(7), ______, ______, ______, ______, ______, ______, ______, \ - ______, ______, ______, ______, ______, ______, ______, ______ \ - ) -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - keyevent_t event = record->event; - - switch (id) { - - } - return MACRO_NONE; -} - -enum function_id { - RGBLED_TOGGLE, - RGBLED_STEP_MODE, - RGBLED_INCREASE_HUE, - RGBLED_DECREASE_HUE, - RGBLED_INCREASE_SAT, - RGBLED_DECREASE_SAT, - RGBLED_INCREASE_VAL, - RGBLED_DECREASE_VAL -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(RGBLED_TOGGLE), - [1] = ACTION_FUNCTION(RGBLED_STEP_MODE), - [2] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), - [3] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), - [4] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), - [5] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), - [6] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), - [7] = ACTION_FUNCTION(RGBLED_DECREASE_VAL) -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - switch (id) { - case RGBLED_TOGGLE: - if (record->event.pressed) { - rgblight_toggle(); - } - break; - case RGBLED_INCREASE_HUE: - if (record->event.pressed) { - rgblight_increase_hue(); - } - break; - case RGBLED_DECREASE_HUE: - if (record->event.pressed) { - rgblight_decrease_hue(); - } - break; - case RGBLED_INCREASE_SAT: - if (record->event.pressed) { - rgblight_increase_sat(); - } - break; - case RGBLED_DECREASE_SAT: - if (record->event.pressed) { - rgblight_decrease_sat(); - } - break; - case RGBLED_INCREASE_VAL: - if (record->event.pressed) { - rgblight_increase_val(); - } - break; - case RGBLED_DECREASE_VAL: - if (record->event.pressed) { - rgblight_decrease_val(); - } - break; - case RGBLED_STEP_MODE: - if (record->event.pressed) { - rgblight_step(); - } - break; - } -} - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} \ No newline at end of file diff --git a/keyboards/s60-x-rgb/keymaps/default/keymap.c b/keyboards/s60-x-rgb/keymaps/default/keymap.c deleted file mode 100644 index 303f07638f..0000000000 --- a/keyboards/s60-x-rgb/keymaps/default/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -#include "s60-x-rgb.h" - -/* 0: Main layer -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -*/ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: ANSI qwerty */ - LEGACY_KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ - CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT , \ - LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, RALT, FN0, APP, RCTL), - -/* 1: Fn layer -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │Left │Down │Right│ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -*/ - LEGACY_KEYMAP( - GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ - TRNS, TRNS, UP, TRNS, TRNS, TRNS, TRNS, TRNS, PGUP, PGDN, PSCR, SLCK, PAUS, TRNS, \ - TRNS, LEFT, DOWN, RGHT, 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, TRNS, TRNS, TRNS), -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay -}; diff --git a/keyboards/s60-x-rgb/keymaps/default/readme.md b/keyboards/s60-x-rgb/keymaps/default/readme.md deleted file mode 100644 index 01cda9df9b..0000000000 --- a/keyboards/s60-x-rgb/keymaps/default/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -### 1 Standard - ANSI -The standard keymap is the one that is pre-flashed on the S60-X. - -#### 1.0 Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -#### 1.1 Fn layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │Left │Down │Right│ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60-x-rgb/rules.mk b/keyboards/s60-x-rgb/rules.mk deleted file mode 100644 index c303af4bcc..0000000000 --- a/keyboards/s60-x-rgb/rules.mk +++ /dev/null @@ -1,56 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Processor frequency. -# This will define a symbol, F_CPU, in all source code files equal to the -# processor frequency in Hz. You can then use this symbol in your source code to -# calculate timings. Do NOT tack on a 'UL' at the end, this will be done -# automatically to create a 32-bit value in your source code. -# -# This will be an integer division of F_USB below, as it is sourced by -# F_USB after it has run through any CPU prescalers. Note that this value -# does not *change* the processor frequency - it should merely be updated to -# reflect the processor speed set externally so that the code can use accurate -# software delays. -F_CPU = 16000000 - -# -# LUFA specific -# -# Target architecture (see library "Board Types" documentation). -ARCH = AVR8 - -# Input clock frequency. -# This will define a symbol, F_USB, in all source code files equal to the -# input clock frequency (before any prescaling is performed) in Hz. This value may -# differ from F_CPU if prescaling is used on the latter, and is required as the -# raw input clock is fed directly to the PLL sections of the AVR for high speed -# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' -# at the end, this will be done automatically to create a 32-bit value in your -# source code. -# -# If no clock division is performed on the input clock inside the AVR (via the -# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. -F_USB = $(F_CPU) - -# Interrupt driven control endpoint task(+60) -OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT - - -# Boot Section Size in *bytes* -OPT_DEFS += -DBOOTLOADER_SIZE=4096 - - -# Build Options -# comment out to disable the options. -# -BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) -EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) -CONSOLE_ENABLE ?= no # Console for debug(+400) -COMMAND_ENABLE ?= no # Commands for debug and configuration -SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend -NKRO_ENABLE ?= yes # USB 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 -AUDIO_ENABLE ?= no -RGBLIGHT_ENABLE ?= yes \ No newline at end of file diff --git a/keyboards/s60-x-rgb/s60-x-rgb.c b/keyboards/s60-x-rgb/s60-x-rgb.c deleted file mode 100644 index 39d3a70e86..0000000000 --- a/keyboards/s60-x-rgb/s60-x-rgb.c +++ /dev/null @@ -1 +0,0 @@ -#include "s60-x-rgb.h" diff --git a/keyboards/s60-x-rgb/s60-x-rgb.h b/keyboards/s60-x-rgb/s60-x-rgb.h deleted file mode 100644 index cb7a5f567f..0000000000 --- a/keyboards/s60-x-rgb/s60-x-rgb.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef S60XRGB_H -#define S60XRGB_H - -#include "quantum.h" - -#define KEYMAP( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \ - K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \ - K400, K401, K402, K406, K410, K411, K412, K413 \ -) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, KC_NO }, \ - { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \ - { K400, K401, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413, KC_NO } \ -} - -/*This special definition is used for S60-X keymaps that were ported from TMK - * QMK has a lot of keycodes that don't start with KC_, so using the regular KEYMAP macro is recommended - */ -#define LEGACY_KEYMAP( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ - K40, K41, K42, K46, K4A, K4B, K4C, K4D \ -) { \ - { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K0C, KC_##K0D, KC_##K0E }, \ - { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K1C, KC_##K1D, KC_NO }, \ - { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D, KC_NO }, \ - { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K3C, KC_##K3D, KC_##K3E }, \ - { KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_NO, KC_NO, KC_##K46, KC_NO, KC_NO, KC_NO, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D, KC_NO } \ -} - -#endif \ No newline at end of file diff --git a/keyboards/s60-x/Makefile b/keyboards/s60-x/Makefile index 4e2a6f00fd..879e493a21 100644 --- a/keyboards/s60-x/Makefile +++ b/keyboards/s60-x/Makefile @@ -1,3 +1,5 @@ +SUBPROJECT_DEFAULT = default + ifndef MAKEFILE_INCLUDED include ../../Makefile endif \ No newline at end of file diff --git a/keyboards/s60-x/config.h b/keyboards/s60-x/config.h index ac7951c247..8e7bc78be2 100644 --- a/keyboards/s60-x/config.h +++ b/keyboards/s60-x/config.h @@ -27,138 +27,20 @@ along with this program. If not, see . #define PRODUCT_ID 0x6060 #define DEVICE_VER 0x0001 #define MANUFACTURER Massdrop -#define PRODUCT S60-X -#define DESCRIPTION q.m.k. keyboard firmware for S60-X /* key matrix size */ #define MATRIX_ROWS 5 #define MATRIX_COLS 15 -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * -*/ -#define MATRIX_ROW_PINS { B7, B3, B2, B1, B0 } -#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, E6, F1 } -#define UNUSED_PINS { F0 } - /* COL2ROW or ROW2COL */ #define DIODE_DIRECTION COL2ROW - -// #define BACKLIGHT_PIN B7 -// #define BACKLIGHT_BREATHING -// #define BACKLIGHT_LEVELS 3 - /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ #define DEBOUNCING_DELAY 5 -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Magic Key Options - * - * Magic keys are hotkey commands that allow control over firmware functions of - * the keyboard. They are best used in combination with the HID Listen program, - * found here: https://www.pjrc.com/teensy/hid_listen.html - * - * The options below allow the magic key functionality to be changed. This is - * useful if your keyboard/keypad is missing keys and you want magic key support. - * - */ - -/* key combination for magic key command */ +/* key combination for command */ #define IS_COMMAND() ( \ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) -/* control how magic key switches layers */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false - -/* override magic key keymap */ -//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS -//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM -//#define MAGIC_KEY_HELP1 H -//#define MAGIC_KEY_HELP2 SLASH -//#define MAGIC_KEY_DEBUG D -//#define MAGIC_KEY_DEBUG_MATRIX X -//#define MAGIC_KEY_DEBUG_KBD K -//#define MAGIC_KEY_DEBUG_MOUSE M -//#define MAGIC_KEY_VERSION V -//#define MAGIC_KEY_STATUS S -//#define MAGIC_KEY_CONSOLE C -//#define MAGIC_KEY_LAYER0_ALT1 ESC -//#define MAGIC_KEY_LAYER0_ALT2 GRAVE -//#define MAGIC_KEY_LAYER0 0 -//#define MAGIC_KEY_LAYER1 1 -//#define MAGIC_KEY_LAYER2 2 -//#define MAGIC_KEY_LAYER3 3 -//#define MAGIC_KEY_LAYER4 4 -//#define MAGIC_KEY_LAYER5 5 -//#define MAGIC_KEY_LAYER6 6 -//#define MAGIC_KEY_LAYER7 7 -//#define MAGIC_KEY_LAYER8 8 -//#define MAGIC_KEY_LAYER9 9 -//#define MAGIC_KEY_BOOTLOADER PAUSE -//#define MAGIC_KEY_LOCK CAPS -//#define MAGIC_KEY_EEPROM E -//#define MAGIC_KEY_NKRO N -//#define MAGIC_KEY_SLEEP_LED Z - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - #endif diff --git a/keyboards/s60-x/default/Makefile b/keyboards/s60-x/default/Makefile new file mode 100644 index 0000000000..191c6bb664 --- /dev/null +++ b/keyboards/s60-x/default/Makefile @@ -0,0 +1,3 @@ +ifndef MAKEFILE_INCLUDED + include ../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/s60-x/default/config.h b/keyboards/s60-x/default/config.h new file mode 100644 index 0000000000..436c6fa8b6 --- /dev/null +++ b/keyboards/s60-x/default/config.h @@ -0,0 +1,25 @@ +#ifndef DEFAULT_CONFIG_H +#define DEFAULT_CONFIG_H + +#include "../config.h" + +#define PRODUCT S60-X +#define DESCRIPTION q.m.k. keyboard firmware for S60-X + +#define MATRIX_ROW_PINS { B7, B3, B2, B1, B0 } +#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, E6, F1 } +#define UNUSED_PINS { F0 } + +#define LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE + +/* key combination for magic key command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +#define NO_ACTION_ONESHOT +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +#endif diff --git a/keyboards/s60-x/default/default.c b/keyboards/s60-x/default/default.c new file mode 100644 index 0000000000..253f5495c2 --- /dev/null +++ b/keyboards/s60-x/default/default.c @@ -0,0 +1,28 @@ +#include "default.h" + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + + matrix_init_user(); +} + +void matrix_scan_kb(void) { + // put your looping keyboard code here + // runs every cycle (a lot) + + matrix_scan_user(); +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + // put your per-action keyboard code here + // runs for every action, just before processing by the firmware + + return process_record_user(keycode, record); +} + +void led_set_kb(uint8_t usb_led) { + // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here + + led_set_user(usb_led); +} diff --git a/keyboards/s60-x/default/default.h b/keyboards/s60-x/default/default.h new file mode 100644 index 0000000000..86233ef7e0 --- /dev/null +++ b/keyboards/s60-x/default/default.h @@ -0,0 +1,69 @@ +/* +Copyright 2012,2013 Jun Wako +Copyright 2015 Vin�cius Nery Cordeiro +Copyright 2016 Felix Uhl + +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 . +*/ + +#ifndef DEFAULT_H +#define DEFAULT_H + +#include "quantum.h" + +#ifdef __INTELLISENSE__ +#define PROGMEM +#include "../config.h" +#endif + +/* S60-X keymap definition macro +* K31 is the extra key next to short left ISO shift +* K2C is the moved key next to enter on ISO boards +* K3C is the extra key next to short right JIS shift +* K0D is extra key from split backspace +* K3E is extra key from HHKB-style split right shift +*/ + +#define KEYMAP( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, KC_NO } \ +} + +/*This special definition is used for S60-X keymaps that were ported from TMK + * QMK has a lot of keycodes that don't start with KC_, so using the regular KEYMAP macro is recommended + */ +#define LEGACY_KEYMAP( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D \ +) { \ + { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K0C, KC_##K0D, KC_##K0E }, \ + { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K1C, KC_##K1D, KC_NO }, \ + { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D, KC_NO }, \ + { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K3C, KC_##K3D, KC_##K3E }, \ + { KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_NO, KC_NO, KC_##K46, KC_NO, KC_NO, KC_NO, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D, KC_NO } \ +} + +#endif \ No newline at end of file diff --git a/keyboards/s60-x/default/rules.mk b/keyboards/s60-x/default/rules.mk new file mode 100644 index 0000000000..b8ff762607 --- /dev/null +++ b/keyboards/s60-x/default/rules.mk @@ -0,0 +1 @@ +RGBLIGHT_ENABLE ?= no \ No newline at end of file diff --git a/keyboards/s60-x/keymaps/dbroqua/keymap.c b/keyboards/s60-x/keymaps/dbroqua/keymap.c new file mode 100644 index 0000000000..940119e52f --- /dev/null +++ b/keyboards/s60-x/keymaps/dbroqua/keymap.c @@ -0,0 +1,194 @@ +#include "s60-x.h" + +#define _DEFAULT 0 +#define _FN 1 +#define _SFX 2 + +// Fillers to make layering more clear +#define ______ KC_TRNS + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Qwerty gui/alt/space/alt/gui + * ,-----------------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + * |-----------------------------------------------------------------------------------------+ + * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | + * |-----------------------------------------------------------------------------------------+ + * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter | + * |-----------------------------------------------------------------------------------------+ + * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN | + * |-----------------------------------------------------------------------------------------+ + * |LGUI | LAlt | Space | RAlt |RGUI | + * `-----------------------------------------------------------------' + */ + [_DEFAULT] = KEYMAP( /* Basic QWERTY */ + 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, 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, KC_SLSH, ______, KC_RSFT, MO(_FN), \ + ______, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, ______, ______ \ + ), + +/* FN Layer + * ,-----------------------------------------------------------------------------------------. + * | SFX | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | + * |-----------------------------------------------------------------------------------------+ + * | CAPS | | | | | | | | Psc | Slck| Paus| Up | | | + * |-----------------------------------------------------------------------------------------+ + * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| | + * |-----------------------------------------------------------------------------------------+ + * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | | + * |-----------------------------------------------------------------------------------------+ + * | | | | Stop | | + * `-----------------------------------------------------------------' + */ + [_FN] = KEYMAP( /* Layer 1 */ + TG(_SFX),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_INS, KC_DEL, \ + KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, ______, \ + ______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT,______, ______, \ + ______, ______, KC_MPRV, KC_MPLY, KC_MNXT,______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN,______, ______, ______, \ + ______, ______, ______, ______, KC_MSTP, ______, ______, ______ \ + ), + + +/* SFX Layer + * ,-----------------------------------------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | BL- | BL+ | BL | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | RGBT| RGBM| | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | + * `-----------------------------------------------------------------' + */ + [_SFX] = KEYMAP( + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, F(0), F(1), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, F(2), F(3), F(4), F(5), F(6), F(7), ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______ \ + ) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + keyevent_t event = record->event; + + switch (id) { + + } + return MACRO_NONE; +} + +enum function_id { + RGBLED_TOGGLE, + RGBLED_STEP_MODE, + RGBLED_INCREASE_HUE, + RGBLED_DECREASE_HUE, + RGBLED_INCREASE_SAT, + RGBLED_DECREASE_SAT, + RGBLED_INCREASE_VAL, + RGBLED_DECREASE_VAL +}; + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_FUNCTION(RGBLED_TOGGLE), + [1] = ACTION_FUNCTION(RGBLED_STEP_MODE), + [2] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), + [3] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), + [4] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), + [5] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), + [6] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), + [7] = ACTION_FUNCTION(RGBLED_DECREASE_VAL) +}; + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { + switch (id) { + case RGBLED_TOGGLE: + if (record->event.pressed) { + rgblight_toggle(); + } + break; + case RGBLED_INCREASE_HUE: + if (record->event.pressed) { + rgblight_increase_hue(); + } + break; + case RGBLED_DECREASE_HUE: + if (record->event.pressed) { + rgblight_decrease_hue(); + } + break; + case RGBLED_INCREASE_SAT: + if (record->event.pressed) { + rgblight_increase_sat(); + } + break; + case RGBLED_DECREASE_SAT: + if (record->event.pressed) { + rgblight_decrease_sat(); + } + break; + case RGBLED_INCREASE_VAL: + if (record->event.pressed) { + rgblight_increase_val(); + } + break; + case RGBLED_DECREASE_VAL: + if (record->event.pressed) { + rgblight_decrease_val(); + } + break; + case RGBLED_STEP_MODE: + if (record->event.pressed) { + rgblight_step(); + } + break; + } +} + +void matrix_init_user(void) { +} + +void matrix_scan_user(void) { +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + return true; +} + +void led_set_user(uint8_t usb_led) { + + if (usb_led & (1 << USB_LED_NUM_LOCK)) { + + } else { + + } + + if (usb_led & (1 << USB_LED_CAPS_LOCK)) { + + } else { + + } + + if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { + + } else { + + } + + if (usb_led & (1 << USB_LED_COMPOSE)) { + + } else { + + } + + if (usb_led & (1 << USB_LED_KANA)) { + + } else { + + } + +} \ No newline at end of file diff --git a/keyboards/s60-x/rgb/Makefile b/keyboards/s60-x/rgb/Makefile new file mode 100644 index 0000000000..bd09e5885d --- /dev/null +++ b/keyboards/s60-x/rgb/Makefile @@ -0,0 +1,3 @@ +ifndef MAKEFILE_INCLUDED + include ../../../Makefile +endif diff --git a/keyboards/s60-x/rgb/config.h b/keyboards/s60-x/rgb/config.h new file mode 100644 index 0000000000..26b246e573 --- /dev/null +++ b/keyboards/s60-x/rgb/config.h @@ -0,0 +1,31 @@ +#ifndef RBG_CONFIG_H +#define RBG_CONFIG_H + +#include "../config.h" + +#define PRODUCT S60-X-RGB +#define DESCRIPTION q.m.k. keyboard firmware for S60-X RGB + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B5, B4, D7, D6, D4 } +#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, B6, C6, C7, F1, F0, E6, B3, B2, B1, B0 } + +/* number of backlight levels */ +#define BACKLIGHT_PIN B7 +#ifdef BACKLIGHT_PIN +#define BACKLIGHT_LEVELS 3 +#endif + +/* prevent stuck modifiers */ +#define PREVENT_STUCK_MODIFIERS + +#define RGB_DI_PIN F6 +#ifdef RGB_DI_PIN +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 10 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#endif + +#endif \ No newline at end of file diff --git a/keyboards/s60-x/rgb/rgb.c b/keyboards/s60-x/rgb/rgb.c new file mode 100644 index 0000000000..0117e14ae5 --- /dev/null +++ b/keyboards/s60-x/rgb/rgb.c @@ -0,0 +1 @@ +#include "rgb.h" diff --git a/keyboards/s60-x/rgb/rgb.h b/keyboards/s60-x/rgb/rgb.h new file mode 100644 index 0000000000..cb7a5f567f --- /dev/null +++ b/keyboards/s60-x/rgb/rgb.h @@ -0,0 +1,37 @@ +#ifndef S60XRGB_H +#define S60XRGB_H + +#include "quantum.h" + +#define KEYMAP( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \ + K400, K401, K402, K406, K410, K411, K412, K413 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, KC_NO }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \ + { K400, K401, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413, KC_NO } \ +} + +/*This special definition is used for S60-X keymaps that were ported from TMK + * QMK has a lot of keycodes that don't start with KC_, so using the regular KEYMAP macro is recommended + */ +#define LEGACY_KEYMAP( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D \ +) { \ + { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K0C, KC_##K0D, KC_##K0E }, \ + { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K1C, KC_##K1D, KC_NO }, \ + { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D, KC_NO }, \ + { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K3C, KC_##K3D, KC_##K3E }, \ + { KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_NO, KC_NO, KC_##K46, KC_NO, KC_NO, KC_NO, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D, KC_NO } \ +} + +#endif \ No newline at end of file diff --git a/keyboards/s60-x/rgb/rules.mk b/keyboards/s60-x/rgb/rules.mk new file mode 100644 index 0000000000..c303af4bcc --- /dev/null +++ b/keyboards/s60-x/rgb/rules.mk @@ -0,0 +1,56 @@ +# MCU name +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + + +# Build Options +# comment out to disable the options. +# +BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= no # Console for debug(+400) +COMMAND_ENABLE ?= no # Commands for debug and configuration +SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend +NKRO_ENABLE ?= yes # USB 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 +AUDIO_ENABLE ?= no +RGBLIGHT_ENABLE ?= yes \ No newline at end of file diff --git a/keyboards/s60-x/s60-x.c b/keyboards/s60-x/s60-x.c index 417358140c..f031dd770d 100644 --- a/keyboards/s60-x/s60-x.c +++ b/keyboards/s60-x/s60-x.c @@ -1,28 +1 @@ -#include "s60-x.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} +#include "s60-x.h" \ No newline at end of file diff --git a/keyboards/s60-x/s60-x.h b/keyboards/s60-x/s60-x.h index 29a2a27b22..5bf8cfcefa 100644 --- a/keyboards/s60-x/s60-x.h +++ b/keyboards/s60-x/s60-x.h @@ -1,69 +1,13 @@ -/* -Copyright 2012,2013 Jun Wako -Copyright 2015 Vincius Nery Cordeiro -Copyright 2016 Felix Uhl - -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 . -*/ - #ifndef S60X_H #define S60X_H -#include "quantum.h" - -#ifdef __INTELLISENSE__ -#define PROGMEM -#include "config.h" +#ifdef SUBPROJECT_default + #include "default.h" +#endif +#ifdef SUBPROJECT_rgb + #include "rgb.h" #endif -/* S60-X keymap definition macro -* K31 is the extra key next to short left ISO shift -* K2C is the moved key next to enter on ISO boards -* K3C is the extra key next to short right JIS shift -* K0D is extra key from split backspace -* K3E is extra key from HHKB-style split right shift -*/ - -#define KEYMAP( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ - K40, K41, K42, K46, K4A, K4B, K4C, K4D \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ - { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, KC_NO } \ -} - -/*This special definition is used for S60-X keymaps that were ported from TMK - * QMK has a lot of keycodes that don't start with KC_, so using the regular KEYMAP macro is recommended - */ -#define LEGACY_KEYMAP( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ - K40, K41, K42, K46, K4A, K4B, K4C, K4D \ -) { \ - { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K0C, KC_##K0D, KC_##K0E }, \ - { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K1C, KC_##K1D, KC_NO }, \ - { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D, KC_NO }, \ - { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K3C, KC_##K3D, KC_##K3E }, \ - { KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_NO, KC_NO, KC_##K46, KC_NO, KC_NO, KC_NO, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D, KC_NO } \ -} +#include "quantum.h" #endif -- cgit v1.2.3 From 973e91078b443b2ee22f3c5e1b2c3bbd4aec936c Mon Sep 17 00:00:00 2001 From: skullY Date: Fri, 21 Apr 2017 21:46:01 -0700 Subject: Tweak the shift_fn keymap so it works --- keyboards/clueboard/keymaps/shift_fn/keymap.c | 6 ++--- keyboards/clueboard/keymaps/skully/keymap.c | 35 +++++++++++++++------------ 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/keyboards/clueboard/keymaps/shift_fn/keymap.c b/keyboards/clueboard/keymaps/shift_fn/keymap.c index c4fae03698..fdec37a540 100644 --- a/keyboards/clueboard/keymaps/shift_fn/keymap.c +++ b/keyboards/clueboard/keymaps/shift_fn/keymap.c @@ -19,8 +19,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { F(0), 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_BSPC, KC_PGUP, \ 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_PGDN, \ 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ - KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), + MO(_FL), KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ + KC_LCTL, KC_LGUI, KC_LALT,KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), /* Keymap _FL: Function Layer */ @@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { S(KC_TAB), S(KC_Q), S(KC_W),S(KC_E),S(KC_R),S(KC_T), S(KC_Y), S(KC_U),S(KC_I),S(KC_O), S(KC_P), S(KC_LBRC),S(KC_RBRC),S(KC_BSLS), S(KC_PGDN), \ S(KC_LCTL),S(KC_A), MO(_CL),S(KC_D),S(KC_F),S(KC_G), S(KC_H), S(KC_J),S(KC_K),S(KC_L), S(KC_SCLN),S(KC_QUOT),S(KC_NUHS),S(KC_ENT), \ MO(_FL), S(KC_NUBS),S(KC_Z),S(KC_X),S(KC_C),S(KC_V), S(KC_B), S(KC_N),S(KC_M),S(KC_COMM),S(KC_DOT), S(KC_SLSH),S(KC_RO), KC_RSFT, KC_PGUP, \ - KC_LCTL, KC_LALT, KC_LGUI,MO(_FL), S(KC_SPC),S(KC_SPC), MO(_FL), KC_RGUI, KC_RALT, KC_RCTL, KC_HOME, KC_PGDN, KC_END), + KC_LCTL, KC_LALT, KC_LGUI,KC_MHEN, S(KC_SPC),S(KC_SPC), KC_HENK, KC_RGUI, KC_RALT, KC_RCTL, KC_HOME, KC_PGDN, KC_END), /* Keymap _CL: Control layer */ diff --git a/keyboards/clueboard/keymaps/skully/keymap.c b/keyboards/clueboard/keymaps/skully/keymap.c index 077d214fac..df7757a922 100644 --- a/keyboards/clueboard/keymaps/skully/keymap.c +++ b/keyboards/clueboard/keymaps/skully/keymap.c @@ -16,33 +16,36 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _BL: Base Layer (Default Layer) */ [_BL] = KEYMAP( - F(0), 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_BSPC, KC_PGUP, \ - 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_PGDN, \ - KC_LCTL,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_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ - KC_LCTL,KC_LALT,KC_LGUI,MO(_FL), KC_SPC, KC_SPC, MO(_FL), KC_RGUI, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), + F(0), 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_BSPC, KC_PGUP, \ + 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_PGDN, \ + KC_LCTL, 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, \ + MO(_FL), KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ + KC_LCTL, KC_LALT, KC_LGUI,KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), /* Keymap _FL: Function Layer */ [_FL] = KEYMAP( - 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, BL_STEP, \ - _______,_______,_______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK,KC_PAUS,_______,_______,_______, _______, \ - _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \ - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_PGUP, \ - _______,_______,_______,MO(_FL), _______,_______, MO(_FL),_______,_______,MO(_FL),KC_HOME,KC_PGDN,KC_END), + S(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, S(KC_GRV), KC_DEL, BL_STEP, \ + S(KC_TAB), S(KC_Q), S(KC_W),S(KC_E),S(KC_R),S(KC_T), S(KC_Y), S(KC_U),S(KC_I),S(KC_O), S(KC_P), S(KC_LBRC),S(KC_RBRC),S(KC_BSLS), S(KC_PGDN), \ + S(KC_LCTL),S(KC_A), MO(_CL),S(KC_D),S(KC_F),S(KC_G), S(KC_H), S(KC_J),S(KC_K),S(KC_L), S(KC_SCLN),S(KC_QUOT),S(KC_NUHS),S(KC_ENT), \ + MO(_FL), S(KC_NUBS),S(KC_Z),S(KC_X),S(KC_C),S(KC_V), S(KC_B), S(KC_N),S(KC_M),S(KC_COMM),S(KC_DOT), S(KC_SLSH),S(KC_RO), KC_RSFT, KC_PGUP, \ + KC_LCTL, KC_LALT, KC_LGUI,KC_MHEN, S(KC_SPC),S(KC_SPC), KC_HENK, KC_RGUI, KC_RALT, KC_RCTL, KC_HOME, KC_PGDN, KC_END), /* Keymap _CL: Control layer */ [_CL] = KEYMAP( - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ - _______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ - _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \ - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \ - _______,_______,_______,_______, _______,_______, _______,_______,_______,MO(_FL),_______, _______, _______), + _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \ + _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \ + _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \ + MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \ + _______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD,RGB_SAD,RGB_HUI), }; +/* This is a list of user defined functions. F(N) corresponds to item N + of this list. + */ const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(0), + [0] = ACTION_FUNCTION(0), // Calls action_function() }; void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { -- cgit v1.2.3 From 187c78f3cb725cca4200a03e96cbadf9cd560cdd Mon Sep 17 00:00:00 2001 From: Solomon Date: Sat, 22 Apr 2017 09:25:41 -0400 Subject: Added an additional clueboard layout. (#1252) * Current building keymap * Working media keys * Added mute key. Fixed volume. Fixed media * Updating readme * Swapped readme order --- keyboards/clueboard/keymaps/serubin/Makefile | 4 + keyboards/clueboard/keymaps/serubin/keymap.c | 103 +++++++++++++++++++++ .../clueboard/keymaps/serubin/layout-base.png | Bin 0 -> 38703 bytes keyboards/clueboard/keymaps/serubin/layout-fn.png | Bin 0 -> 35216 bytes .../clueboard/keymaps/serubin/layout-media.png | Bin 0 -> 28944 bytes keyboards/clueboard/keymaps/serubin/readme.md | 23 +++++ 6 files changed, 130 insertions(+) create mode 100644 keyboards/clueboard/keymaps/serubin/Makefile create mode 100644 keyboards/clueboard/keymaps/serubin/keymap.c create mode 100644 keyboards/clueboard/keymaps/serubin/layout-base.png create mode 100644 keyboards/clueboard/keymaps/serubin/layout-fn.png create mode 100644 keyboards/clueboard/keymaps/serubin/layout-media.png create mode 100644 keyboards/clueboard/keymaps/serubin/readme.md diff --git a/keyboards/clueboard/keymaps/serubin/Makefile b/keyboards/clueboard/keymaps/serubin/Makefile new file mode 100644 index 0000000000..ba997f8696 --- /dev/null +++ b/keyboards/clueboard/keymaps/serubin/Makefile @@ -0,0 +1,4 @@ + +MOUSEKEY_ENABLE = yes +EXTRAKEY_ENABLE = yes + diff --git a/keyboards/clueboard/keymaps/serubin/keymap.c b/keyboards/clueboard/keymaps/serubin/keymap.c new file mode 100644 index 0000000000..18446eb31d --- /dev/null +++ b/keyboards/clueboard/keymaps/serubin/keymap.c @@ -0,0 +1,103 @@ +#include "clueboard.h" + +// Helpful defines +#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT)) +#define _______ KC_TRNS + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _BL 0 +#define _FL 1 +#define _ME 2 +#define _CL 3 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[_BL] = KEYMAP( + 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_GRV, KC_BSPC, KC_PGUP, \ + 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_PGDN, \ + F(1), 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ + KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RGUI, MO(_FL), MO(_ME), KC_LEFT, KC_DOWN, KC_RGHT), + + /* Keymap _FL: Function Layer + */ +[_FL] = KEYMAP( + 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_DEL, KC_HOME, \ + _______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, KC_PSCR, KC_END, \ + _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \ + _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \ + _______, _______, _______, _______, _______,_______, _______, _______, MO(_FL), MO(_ME), KC_HOME, KC_PGDN, KC_END), + +/* Keymap _FL: Function Layer + */ +[_ME] = KEYMAP( + _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, \ + _______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, KC_VOLD, \ + _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \ + _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______ , _______, _______, \ + _______, _______, _______, _______, _______,_______, _______, _______, MO(_FL), MO(_ME), KC_MPRV, KC_MPLY, KC_MNXT), + + + /* Keymap _CL: Control layer + */ +[_CL] = KEYMAP( + _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \ + _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \ + _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \ + MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, MO(_FL), _______, RGB_SAI, \ + _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), +}; + +/* This is a list of user defined functions. F(N) corresponds to item N + of this list. + */ +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_FUNCTION(0), // Calls action_function() + [1] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_ESC), +}; + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { + static uint8_t mods_pressed; + static bool mod_flag; + + switch (id) { + case 0: + /* Handle the combined Grave/Esc key + */ + mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed + + if (record->event.pressed) { + /* The key is being pressed. + */ + if (mods_pressed) { + mod_flag = true; + add_key(KC_GRV); + send_keyboard_report(); + } else { + add_key(KC_ESC); + send_keyboard_report(); + } + } else { + /* The key is being released. + */ + if (mod_flag) { + mod_flag = false; + del_key(KC_GRV); + send_keyboard_report(); + } else { + del_key(KC_ESC); + send_keyboard_report(); + } + } + break; + case 1: + if(record->event.pressed) { + del_key(KC_ESC); + } + break; + } +} diff --git a/keyboards/clueboard/keymaps/serubin/layout-base.png b/keyboards/clueboard/keymaps/serubin/layout-base.png new file mode 100644 index 0000000000..8dcdc06435 Binary files /dev/null and b/keyboards/clueboard/keymaps/serubin/layout-base.png differ diff --git a/keyboards/clueboard/keymaps/serubin/layout-fn.png b/keyboards/clueboard/keymaps/serubin/layout-fn.png new file mode 100644 index 0000000000..3cff46a726 Binary files /dev/null and b/keyboards/clueboard/keymaps/serubin/layout-fn.png differ diff --git a/keyboards/clueboard/keymaps/serubin/layout-media.png b/keyboards/clueboard/keymaps/serubin/layout-media.png new file mode 100644 index 0000000000..753cb64fac Binary files /dev/null and b/keyboards/clueboard/keymaps/serubin/layout-media.png differ diff --git a/keyboards/clueboard/keymaps/serubin/readme.md b/keyboards/clueboard/keymaps/serubin/readme.md new file mode 100644 index 0000000000..e39adbb169 --- /dev/null +++ b/keyboards/clueboard/keymaps/serubin/readme.md @@ -0,0 +1,23 @@ +``` + ___ _____ _ _ _ __ __ _ __ +|__ \ / ____| | | | | | / / / /(_) / / + ||) | | | | |_ _ ___| |__ ___ __ _ _ __ __| | / /_ / /_ / / + |/ / | | | | | | |/ _ \ '_ \ / _ \ / _` | '__/ _` | | '_ \| '_ \ / / + |_| | |____| | |_| | __/ |_) | (_) | (_| | | | (_| | | (_) | (_) / / _ + (_) \_____|_|\__,_|\___|_.__/ \___/ \__,_|_| \__,_| \___/ \___/_/ (_) +``` + +# Serubin's Clueboard Layout + +This is the layout based on the clueboard default, modified for development on Mac, PC, and Windows. This layout also handles media and volume keys on all the previously listed platforms. Most importantly, Capslock has been replaced by a dual function Esc/Ctrl key. This is particularly handy for use in Vim. + +#### Base Layer +![Base Layout Image](layout-base.png) + +#### Fn Layer +![Fn Layout Image](layout-fn.png) + +#### Media Layer +![Media Layer Image](layout-media.png) + + -- cgit v1.2.3 From 7f3224b11719ba40794b415549c6063a1939e6f9 Mon Sep 17 00:00:00 2001 From: Justin Frank Date: Sat, 22 Apr 2017 15:15:17 -0700 Subject: Added lae3 keymap --- keyboards/planck/keymaps/lae3/Makefile | 23 +++ keyboards/planck/keymaps/lae3/config.h | 8 + keyboards/planck/keymaps/lae3/keymap.c | 262 ++++++++++++++++++++++++++++++++ keyboards/planck/keymaps/lae3/readme.md | 1 + 4 files changed, 294 insertions(+) create mode 100644 keyboards/planck/keymaps/lae3/Makefile create mode 100644 keyboards/planck/keymaps/lae3/config.h create mode 100644 keyboards/planck/keymaps/lae3/keymap.c create mode 100644 keyboards/planck/keymaps/lae3/readme.md diff --git a/keyboards/planck/keymaps/lae3/Makefile b/keyboards/planck/keymaps/lae3/Makefile new file mode 100644 index 0000000000..595803e322 --- /dev/null +++ b/keyboards/planck/keymaps/lae3/Makefile @@ -0,0 +1,23 @@ +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = no # 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 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/planck/keymaps/lae3/config.h b/keyboards/planck/keymaps/lae3/config.h new file mode 100644 index 0000000000..a28634e696 --- /dev/null +++ b/keyboards/planck/keymaps/lae3/config.h @@ -0,0 +1,8 @@ +#ifndef LAE3_KEYMAP_H +#define LAE3_KEYMAP_H + +#include "../../config.h" + +#define PREVENT_STUCK_MODIFIERS + +#endif diff --git a/keyboards/planck/keymaps/lae3/keymap.c b/keyboards/planck/keymaps/lae3/keymap.c new file mode 100644 index 0000000000..5ad30610cf --- /dev/null +++ b/keyboards/planck/keymaps/lae3/keymap.c @@ -0,0 +1,262 @@ +#include "planck.h" +#include "action_layer.h" +#ifdef AUDIO_ENABLE +#include "audio.h" +#endif +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum planck_layers { + _QWERTY, + _ARROW, + _NUMPAD, + _MOVEMENT, + _LOWER, + _RAISE, + _ADJUST +}; + +#define _MV _MOVEMENT + +enum planck_keycodes { + QWERTY = SAFE_RANGE, + ARROW, + NUMPAD, + LOWER, + RAISE, +}; + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +#define KC_MUP KC_MS_UP +#define KC_MDN KC_MS_DOWN +#define KC_MLFT KC_MS_LEFT +#define KC_MRGT KC_MS_RIGHT +#define KC_MB1 KC_MS_BTN1 +#define KC_MB2 KC_MS_BTN2 +#define KC_MB3 KC_MS_BTN3 +#define KC_MB4 KC_MS_BTN4 +#define KC_MB5 KC_MS_BTN5 +#define KC_MWUP KC_MS_WH_UP +#define KC_MWDN KC_MS_WH_DOWN + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Tab | A | S | D | F | G | H | J | K | L | ; |Enter | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * |Shift | Z | X | C | V | B | N | M | , | . | / |Shift | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Ctrl | Alt | GUI | Move |Lower | Space |Raise | Move | GUI | Alt | Ctrl | + * `-----------------------------------------------------------------------------------' + */ + [_QWERTY] = { + {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, + {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, 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}, + {KC_LCTL, KC_LALT, KC_LGUI, MO(_MV), LOWER, KC_SPC, KC_SPC, RAISE, MO(_MV), KC_RGUI, KC_RALT, KC_RCTL} + }, + + /* Arrow + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | Up | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | | | Left | Down | Right| + * `-----------------------------------------------------------------------------------' + */ + [_ARROW] = { + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT} + }, + + /* Numpad + * ,-----------------------------------------------------------------------------------. + * | | | | | | |NumLck| 7 | 8 | 9 | / | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | |Enter | 4 | 5 | 6 | * | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | 3 | 2 | 1 | - | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | | 0 | = | + | | + * `-----------------------------------------------------------------------------------' + */ + [_NUMPAD] = { + {_______, _______, _______, _______, _______, _______, KC_NLCK, KC_P7, KC_P8, KC_P9, KC_PSLS, _______}, + {_______, _______, _______, _______, _______, _______, KC_PENT, KC_P4, KC_P5, KC_P6, KC_PAST, _______}, + {_______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PPLS, _______} + }, + + /* Movement + * ,-----------------------------------------------------------------------------------. + * | |MsBut2|Ms Up |MsBut1|MsWhUp| | Home | PgDn | PgUp | End | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | |Ms Lft|Ms Dn |Ms Rgt|MsWhDn| | Left | Down | Up | Right| | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ + [_MOVEMENT] = { + {_______, KC_MB2, KC_MUP, KC_MB1, KC_MWUP, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______}, + {_______, KC_MLFT, KC_MDN, KC_MRGT, KC_MWDN, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} + }, + + /* Lower + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | - | = | Del | End | PgDn | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Caps | 6 | 7 | 8 | 9 | 0 | [ | ] | \ | ' | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F1 | F2 | F3 | F4 | | | F5 | F6 | F7 | F8 | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ + [_LOWER] = { + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_DEL, KC_END, KC_PGDN, _______}, + {KC_CAPS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_QUOT, XXXXXXX, _______}, + {_______, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} + }, + + /* Raise + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | _ | + | Ins | Home | PgUp | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Caps | ^ | & | * | ( | ) | { | } | | | " | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F9 | F10 | F11 | F12 | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ + [_RAISE] = { + {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_UNDS, KC_PLUS, KC_INS, KC_HOME, KC_PGUP, _______}, + {KC_CAPS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_LCBR, KC_RCBR, KC_PIPE, KC_DQUO, XXXXXXX, _______}, + {_______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} + }, + + /* Adjust (Lower + Raise) + * ,-----------------------------------------------------------------------------------. + * |Reset | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | |Bcklgt| Mute |Vol Dn|Vol Up| | |Qwerty|Arrow |Numpad| | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ + [_ADJUST] = { + {RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, BL_STEP, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, QWERTY, ARROW, NUMPAD, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} + } + +}; + +#ifdef AUDIO_ENABLE + +float tone_startup[][2] = SONG(STARTUP_SOUND); +float music_scale[][2] = SONG(MUSIC_SCALE_SOUND); + +float tone_goodbye[][2] = SONG(GOODBYE_SOUND); + +#endif + +bool process_record_user(uint16_t keycode, keyrecord_t *record) +{ + switch (keycode) { + case LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + } else { + layer_off(_LOWER); + } + update_tri_layer(_LOWER, _RAISE, _ADJUST); + return false; + case RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + } else { + layer_off(_RAISE); + } + update_tri_layer(_LOWER, _RAISE, _ADJUST); + return false; + case QWERTY: + if (record->event.pressed) { + layer_off(_ARROW); + layer_off(_NUMPAD); + } + return false; + case ARROW: + if (record->event.pressed) { + layer_off(_NUMPAD); + layer_on(_ARROW); + } + return false; + case NUMPAD: + if (record->event.pressed) { + layer_off(_ARROW); + layer_on(_NUMPAD); + } + return false; + } + return true; +} + +void matrix_init_user(void) +{ +#ifdef AUDIO_ENABLE + startup_user(); +#endif +} + +#ifdef AUDIO_ENABLE + +void startup_user() +{ + _delay_ms(100); // gets rid of tick + PLAY_NOTE_ARRAY(tone_startup, false, 0); +} + +void shutdown_user() +{ + PLAY_NOTE_ARRAY(tone_goodbye, false, 0); + _delay_ms(150); + stop_all_notes(); +} + +void music_on_user(void) +{ + music_scale_user(); +} + +void music_scale_user(void) +{ + PLAY_NOTE_ARRAY(music_scale, false, 0); +} + +#endif diff --git a/keyboards/planck/keymaps/lae3/readme.md b/keyboards/planck/keymaps/lae3/readme.md new file mode 100644 index 0000000000..429b51456a --- /dev/null +++ b/keyboards/planck/keymaps/lae3/readme.md @@ -0,0 +1 @@ +Keymap based around mode-switching for extended functionality -- cgit v1.2.3 From 2e62ff9807e3a5bd0a0ff77045673d74ce16ddba Mon Sep 17 00:00:00 2001 From: Ryan MacLean Date: Sat, 22 Apr 2017 20:49:34 -0700 Subject: Initial Ortho Commit (LEFT SIDE) Using only one layer, and activating it with two keys at the moment. As with previous comments, this isn't final, but is a good starting point for a one-handed keyboard, half a Planck-like ortholinear keyboard, or a sample to show a layout with a function layer. --- keyboards/amjpad/keymaps/ortho_left/keymap.c | 65 ++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 keyboards/amjpad/keymaps/ortho_left/keymap.c diff --git a/keyboards/amjpad/keymaps/ortho_left/keymap.c b/keyboards/amjpad/keymaps/ortho_left/keymap.c new file mode 100644 index 0000000000..d3e4d9944b --- /dev/null +++ b/keyboards/amjpad/keymaps/ortho_left/keymap.c @@ -0,0 +1,65 @@ +#include "amjpad.h" + +#ifdef RGBLIGHT_ENABLE +#include "rgblight.h" +#endif + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _BL 0 +#define _FL 1 + +#define _______ KC_TRNS + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: (Base Layer) Default Layer + * ,-------------------. + * | T | G | B |Spac| + * |----|----|----|----| + * | R | F | V | Fn | + * |----|----|----|----| + * | E | D | C | OS | + * |----|----|----|----| + * | W | S | X | Alt| + * |----|----|----|----| + * | Q | A | Z | Ctl| + * |----|----|----|----| + * | Esc| Tab|Shft| Fn2| + * `-------------------' + */ + +[_BL] = MAXKEYMAP( + + KC_T, KC_G, KC_B, KC_SPACE,\ + KC_R, KC_F, KC_V, MO(1), \ + KC_E, KC_D, KC_C, KC_LGUI, \ + KC_W, KC_S, KC_X, KC_LALT, \ + KC_Q, KC_A, KC_Z, KC_LCTL, \ + KC_TAB, KC_ESC, KC_LSHIFT, MO(1)), + + /* Keymap _FL: Function Layer + * ,-------------------. + * | 5 | F5 | F11|Spac| + * |----|----|----|----| + * | 4 | F4 | F10| | + * |----|----|----|----| + * | 3 | F3 | F9 | OS | + * |----|----|----|----| + * | 2 | F2 | F8 | Alt| + * |----|----|----|----| + * | 1 | F1 | F7 | Ctl| + * |----|----|----|----| + * | ` | Del|Shft| | + * `-------------------' + */ +[_FL] = MAXKEYMAP( + + KC_5, KC_F5, KC_F11, _______, \ + KC_4, KC_F4, KC_F10, _______, \ + KC_3, KC_F3, KC_F9, _______, \ + KC_2, KC_F2, KC_F8, _______, \ + KC_1, KC_F1, KC_F7, _______, \ + KC_GRV,KC_DEL, _______, _______), +}; -- cgit v1.2.3 -- cgit v1.2.3 From d27ff5ccf6dbb3aa1dbdd05e53c7027c8894e733 Mon Sep 17 00:00:00 2001 From: Ryan MacLean Date: Sat, 22 Apr 2017 22:34:14 -0700 Subject: Adding Right Layout --- keyboards/amjpad/keymaps/ortho_right/keymap.c | 65 +++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 keyboards/amjpad/keymaps/ortho_right/keymap.c diff --git a/keyboards/amjpad/keymaps/ortho_right/keymap.c b/keyboards/amjpad/keymaps/ortho_right/keymap.c new file mode 100644 index 0000000000..33e599abdc --- /dev/null +++ b/keyboards/amjpad/keymaps/ortho_right/keymap.c @@ -0,0 +1,65 @@ +#include "amjpad.h" + +#ifdef RGBLIGHT_ENABLE +#include "rgblight.h" +#endif + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _BL 0 +#define _FL 1 + +#define _______ KC_TRNS + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: (Base Layer) Default Layer + * ,-------------------. + * |Spac| N | H | Y | + * |----|----|----|----| + * | Fn | M | J | U | + * |----|----|----|----| + * |Left| , | K | I | + * |----|----|----|----| + * |Down| . | L | O | + * |----|----|----|----| + * | Up | / | ; | P | + * |----|----|----|----| + * |Rght| Ret| " |Bspc| + * `-------------------' + */ + +[_BL] = MAXKEYMAP( + + KC_SPACE, KC_N, KC_H, KC_Y, \ + MO(1), KC_M, KC_J, KC_U, \ + KC_LEFT, KC_COMM, KC_K, KC_I, \ + KC_DOWN, KC_DOT, KC_L, KC_O, \ + KC_UP, KC_SLASH, KC_SCLN, KC_P, \ + KC_RIGHT, KC_ENT, KC_QUOT, KC_BSPC), + + /* Keymap _FL: Function Layer + * ,-------------------. + * |Esc | F12| F6 | 6 | + * |----|----|----|----| + * | NL | M | - | 7 | + * |----|----|----|----| + * |Left| , | = | 8 | + * |----|----|----|----| + * |Down| . | [ | 9 | + * |----|----|----|----| + * | Up | / | ] | 0 | + * |----|----|----|----| + * |Rght| Ret| \ | Del| + * `-------------------' + */ +[_FL] = MAXKEYMAP( + + _______, KC_F12, KC_F6, KC_6, \ + _______, _______, KC_MINS, KC_7, \ + _______, _______, KC_EQL, KC_8, \ + _______, _______, KC_LBRC, KC_9, \ + _______, _______, KC_RBRC, KC_0, \ + _______, _______, KC_BSLS, KC_DEL), +}; -- cgit v1.2.3 From e2a5dfdba60eeac559ad152d8506aec5c4d15138 Mon Sep 17 00:00:00 2001 From: Justin Frank Date: Sun, 23 Apr 2017 19:38:40 -0700 Subject: Switched Alt and GUI key places --- keyboards/planck/keymaps/lae3/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/planck/keymaps/lae3/keymap.c b/keyboards/planck/keymaps/lae3/keymap.c index 5ad30610cf..81f94ccd61 100644 --- a/keyboards/planck/keymaps/lae3/keymap.c +++ b/keyboards/planck/keymaps/lae3/keymap.c @@ -57,14 +57,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------|------+------+------+------+------+------| * |Shift | Z | X | C | V | B | N | M | , | . | / |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Ctrl | Alt | GUI | Move |Lower | Space |Raise | Move | GUI | Alt | Ctrl | + * | Ctrl | GUI | Alt | Move |Lower | Space |Raise | Move | Alt | GUI | Ctrl | * `-----------------------------------------------------------------------------------' */ [_QWERTY] = { {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, {KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, 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}, - {KC_LCTL, KC_LALT, KC_LGUI, MO(_MV), LOWER, KC_SPC, KC_SPC, RAISE, MO(_MV), KC_RGUI, KC_RALT, KC_RCTL} + {KC_LCTL, KC_LGUI, KC_LALT, MO(_MV), LOWER, KC_SPC, KC_SPC, RAISE, MO(_MV), KC_RALT, KC_RGUI, KC_RCTL} }, /* Arrow -- cgit v1.2.3 From 4cc41de50ba6246f08eadcdf8465deb35e6fc20e Mon Sep 17 00:00:00 2001 From: Stephen Tudor Date: Mon, 24 Apr 2017 11:16:14 -0400 Subject: Add smt keymap for HHKB --- keyboards/hhkb/keymaps/smt/keymap.c | 176 ++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 keyboards/hhkb/keymaps/smt/keymap.c diff --git a/keyboards/hhkb/keymaps/smt/keymap.c b/keyboards/hhkb/keymaps/smt/keymap.c new file mode 100644 index 0000000000..a7ea54de80 --- /dev/null +++ b/keyboards/hhkb/keymaps/smt/keymap.c @@ -0,0 +1,176 @@ +/* -*- eval: (turn-on-orgtbl); -*- + * default HHKB Layout + */ +#include "hhkb.h" + +#define _QWERTY 0 +#define _COLEMAK 1 +#define _DVORAK 2 +#define _HHKB 3 + +enum planck_keycodes { + QWERTY = SAFE_RANGE, + COLEMAK, + DVORAK, + HHKB +}; + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +// Custom macros +#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl +#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift +#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Alt+Shift) +#define MEH_GRV MEH_T(KC_GRV) // Tap for Backtick, hold for Meh (Ctrl+Alt+Shift) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Layer QWERTY: Qwerty Layer + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Backs | | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Cont | A | S | D | F | G | H | J | K | L | ; | ' | Ent | | | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn | | | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + + |------+------+-----------------------+------+------| + | LAlt | LGUI | ******* Space ******* | RGUI | RAlt | + |------+------+-----------------------+------+------| + */ + + [_QWERTY] = KEYMAP( // Qwerty layer + 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, MEH_GRV, \ + HPR_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, \ + CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, SFT_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), + + + + /* Layer COLEMAK: Colemak Layer + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Tab | Q | W | F | P | G | J | L | U | Y | ; | [ | ] | Backs | | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Cont | A | R | S | T | D | H | N | E | I | O | ' | Ent | | | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Shift | Z | X | C | V | B | K | M | , | . | / | Shift | Fn | | | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + + |------+------+-----------------------+------+------| + | LAlt | LGUI | ******* Space ******* | RGUI | RAlt | + |------+------+-----------------------+------+------| + */ + + [_COLEMAK] = KEYMAP( // Colemak layer + 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, MEH_GRV, \ + HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, \ + CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, SFT_ENT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_HHKB), \ + KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT), + + + + /* Layer DVORAK: Dvorak Layer + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | [ | ] | \ | ` | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Tab | ' | , | . | P | Y | F | G | C | R | L | / | = | Backs | | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Cont | A | O | E | U | I | D | H | T | N | S | - | Ent | | | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + | Shift | ; | Q | J | K | X | B | M | W | V | Z | Shift | Fn | | | + |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| + + |------+------+-----------------------+------+------| + | LAlt | LGUI | ******* Space ******* | RGUI | RAlt | + |------+------+-----------------------+------+------| + */ + + [_DVORAK] = KEYMAP( // Dvorak layer + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, MEH_GRV, \ + HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC, \ + CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, SFT_ENT, \ + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, MO(_HHKB), \ + KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT), + + + + /* Layer HHKB: HHKB mode (HHKB Fn) + |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------+-------+-----| + | Pwr | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | + |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------+-------+-----| + | Caps | | | | | | | | Psc | Slk | Pus | Up | | Backs | | + |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------+-------+-----| + | | VoD | VoU | Mut | | | * | / | Hom | PgU | Lef | Rig | Enter | | | + |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------+-------+-----| + | | | Qwt | Cmk | Dvk | | + | - | End | PgD | Dow | | | | | + |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------+-------+-----| + + |------+------+----------------------+------+------+ + | **** | **** | ******************** | **** | **** | + |------+------+----------------------+------+------+ + + */ + + [_HHKB] = KEYMAP( + KC_PWR, 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_INS, KC_DEL, \ + KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_BSPC, \ + _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \ + _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, \ + _______, _______, _______, _______, _______)}; + + +const uint16_t PROGMEM fn_actions[] = { + +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_QWERTY); + } + return false; + break; + case COLEMAK: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_COLEMAK); + } + return false; + break; + case DVORAK: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_DVORAK); + } + return false; + break; + } + return true; +} -- cgit v1.2.3 From d6386b108b616cab088dca901b57effc20497597 Mon Sep 17 00:00:00 2001 From: Josh Black Date: Tue, 25 Apr 2017 18:51:45 +0100 Subject: Add RAMA x Machine Industries M10A to the keyboards directory --- keyboards/M10A/M10A.c | 5 ++ keyboards/M10A/M10A.h | 19 ++++++++ keyboards/M10A/Makefile | 3 ++ keyboards/M10A/config.h | 82 +++++++++++++++++++++++++++++++++ keyboards/M10A/keymaps/default/Makefile | 3 ++ keyboards/M10A/keymaps/default/keymap.c | 49 ++++++++++++++++++++ keyboards/M10A/rules.mk | 68 +++++++++++++++++++++++++++ 7 files changed, 229 insertions(+) create mode 100644 keyboards/M10A/M10A.c create mode 100644 keyboards/M10A/M10A.h create mode 100644 keyboards/M10A/Makefile create mode 100644 keyboards/M10A/config.h create mode 100644 keyboards/M10A/keymaps/default/Makefile create mode 100644 keyboards/M10A/keymaps/default/keymap.c create mode 100644 keyboards/M10A/rules.mk diff --git a/keyboards/M10A/M10A.c b/keyboards/M10A/M10A.c new file mode 100644 index 0000000000..9a3bd15e1a --- /dev/null +++ b/keyboards/M10A/M10A.c @@ -0,0 +1,5 @@ +#include "M10A.h" + +void matrix_init_kb(void) { + matrix_init_user(); +} \ No newline at end of file diff --git a/keyboards/M10A/M10A.h b/keyboards/M10A/M10A.h new file mode 100644 index 0000000000..6ec334fb3c --- /dev/null +++ b/keyboards/M10A/M10A.h @@ -0,0 +1,19 @@ +#ifndef M10A_H +#define M10A_H + +#include "quantum.h" + +#define M10A( \ + k00, k01, k02, \ + k10, k11, k12, \ + k20, k21, k22, \ + k30, k31, k32 \ +) \ +{ \ + { k00, k01, k02 }, \ + { k10, k11, k12 }, \ + { k20, k21, k22 }, \ + { k30, k31, k32 } \ +} + +#endif diff --git a/keyboards/M10A/Makefile b/keyboards/M10A/Makefile new file mode 100644 index 0000000000..4e2a6f00fd --- /dev/null +++ b/keyboards/M10A/Makefile @@ -0,0 +1,3 @@ +ifndef MAKEFILE_INCLUDED + include ../../Makefile +endif \ No newline at end of file diff --git a/keyboards/M10A/config.h b/keyboards/M10A/config.h new file mode 100644 index 0000000000..f052ab6297 --- /dev/null +++ b/keyboards/M10A/config.h @@ -0,0 +1,82 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0007 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Machine Industries +#define PRODUCT M10-A +#define DESCRIPTION RAMA x Machine Industries M10-A + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 3 + +/* Planck PCB default pin-out */ +#define MATRIX_ROW_PINS { B6, F7, F6, D6 } +#define MATRIX_COL_PINS { F5, F1, F0 } +#define UNUSED_PINS + +#define BACKLIGHT_PIN B7 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* number of backlight levels */ +#define BACKLIGHT_LEVELS 6 + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCING_DELAY 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +#endif diff --git a/keyboards/M10A/keymaps/default/Makefile b/keyboards/M10A/keymaps/default/Makefile new file mode 100644 index 0000000000..457a3d01d4 --- /dev/null +++ b/keyboards/M10A/keymaps/default/Makefile @@ -0,0 +1,3 @@ +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/M10A/keymaps/default/keymap.c b/keyboards/M10A/keymaps/default/keymap.c new file mode 100644 index 0000000000..75abeb5b75 --- /dev/null +++ b/keyboards/M10A/keymaps/default/keymap.c @@ -0,0 +1,49 @@ +// This is the canonical layout file for the Quantum project. If you want to add another keyboard, +// this is the style you want to emulate. + +#include "M10A.h" +#include "action_layer.h" +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +enum layers { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, + _LAYER4, + _LAYER5, + _LAYER6, + _LAYER7, + _LAYER8, + _LAYER9 +}; + +// // Fillers to make layering more clear +// #define _______ KC_TRNS +// #define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAYER0] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}}, + [_LAYER1] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}}, + [_LAYER2] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}}, + [_LAYER3] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}}, + [_LAYER4] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}}, + [_LAYER5] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}}, + [_LAYER6] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}}, + [_LAYER7] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}}, + [_LAYER8] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}}, + [_LAYER9] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}} +}; + +void matrix_init_user(void) { + #ifdef BACKLIGHT_ENABLE + backlight_level(0); + #endif +} diff --git a/keyboards/M10A/rules.mk b/keyboards/M10A/rules.mk new file mode 100644 index 0000000000..f5a785dbcc --- /dev/null +++ b/keyboards/M10A/rules.mk @@ -0,0 +1,68 @@ +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +CONSOLE_ENABLE ?= no # Console for debug(+400) +COMMAND_ENABLE ?= no # 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 ?= no # Audio output on port C6 +UNICODE_ENABLE ?= yes # Unicode +BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight. +API_SYSEX_ENABLE = yes + +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend -- cgit v1.2.3 From 196740a0bb9e63b5293eaaf11ac66f24be8404a6 Mon Sep 17 00:00:00 2001 From: laelath Date: Wed, 26 Apr 2017 13:56:01 -0700 Subject: Expanded lae3 keymap readme --- keyboards/planck/keymaps/lae3/keymap.c | 20 +++--- keyboards/planck/keymaps/lae3/readme.md | 112 +++++++++++++++++++++++++++++++- 2 files changed, 121 insertions(+), 11 deletions(-) diff --git a/keyboards/planck/keymaps/lae3/keymap.c b/keyboards/planck/keymaps/lae3/keymap.c index 81f94ccd61..4127a3ae13 100644 --- a/keyboards/planck/keymaps/lae3/keymap.c +++ b/keyboards/planck/keymaps/lae3/keymap.c @@ -52,11 +52,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Qwerty * ,-----------------------------------------------------------------------------------. * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | - * |------+------+------+------+------+-------------+------+------+------+------+------| + * |------+------+------+------+------+------+------+------+------+------+------+------| * | Tab | A | S | D | F | G | H | J | K | L | ; |Enter | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * |Shift | Z | X | C | V | B | N | M | , | . | / |Shift | * |------+------+------+------+------+------+------+------+------+------+------+------| + * |Shift | Z | X | C | V | B | N | M | , | . | / |Shift | + * |------+------+------+------+------+-------------+------+------+------+------+------| * | Ctrl | GUI | Alt | Move |Lower | Space |Raise | Move | Alt | GUI | Ctrl | * `-----------------------------------------------------------------------------------' */ @@ -93,7 +93,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | 3 | 2 | 1 | - | | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | | | | | 0 | = | + | | + * | | | | | | | | 0 | . | + | | * `-----------------------------------------------------------------------------------' */ [_NUMPAD] = { @@ -124,11 +124,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Lower * ,-----------------------------------------------------------------------------------. * | ` | 1 | 2 | 3 | 4 | 5 | - | = | Del | End | PgDn | | - * |------+------+------+------+------+-------------+------+------+------+------+------| + * |------+------+------+------+------+------+------+------+------+------+------+------| * | Caps | 6 | 7 | 8 | 9 | 0 | [ | ] | \ | ' | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | | | F5 | F6 | F7 | F8 | | * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | F1 | F2 | F3 | F4 | | | F5 | F6 | F7 | F8 | | + * |------+------+------+------+------+-------------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ @@ -142,11 +142,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Raise * ,-----------------------------------------------------------------------------------. * | ~ | ! | @ | # | $ | % | _ | + | Ins | Home | PgUp | | - * |------+------+------+------+------+-------------+------+------+------+------+------| + * |------+------+------+------+------+------+------+------+------+------+------+------| * | Caps | ^ | & | * | ( | ) | { | } | | | " | | | - * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | F9 | F10 | F11 | F12 | | | | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | F9 | F10 | F11 | F12 | | | | | | | | + * |------+------+------+------+------+-------------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ diff --git a/keyboards/planck/keymaps/lae3/readme.md b/keyboards/planck/keymaps/lae3/readme.md index 429b51456a..57a2f38ddc 100644 --- a/keyboards/planck/keymaps/lae3/readme.md +++ b/keyboards/planck/keymaps/lae3/readme.md @@ -1 +1,111 @@ -Keymap based around mode-switching for extended functionality +# Lae3 +_Keymap based around mode-switching for extended functionality_ + +## Base Layout + + ┌-----------------------------------------------------------------------------------┐ + | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Tab | A | S | D | F | G | H | J | K | L | ; |Enter | + |------+------+------+------+------+------+------+------+------+------+------+------| + |Shift | Z | X | C | V | B | N | M | , | . | / |Shift | + |------+------+------+------+------+-------------+------+------+------+------+------| + | Ctrl | GUI | Alt | Move |Lower | Space |Raise | Move | Alt | GUI | Ctrl | + └-----------------------------------------------------------------------------------┘ + +This is more similar to a standard keyboard layout than the standard planck +layout, but I have found that this is better for programming, especially for +editor shortcuts. + +## Lower Layer + + ┌-----------------------------------------------------------------------------------┐ + | ` | 1 | 2 | 3 | 4 | 5 | - | = | Del | End | PgDn | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Caps | 6 | 7 | 8 | 9 | 0 | [ | ] | \ | ' | | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | F1 | F2 | F3 | F4 | | | F5 | F6 | F7 | F8 | | + |------+------+------+------+------+-------------+------+------+------+------+------| + | | | | | | | | | | | | + └-----------------------------------------------------------------------------------┘ + +All the numbers are on one hand so that they can all be easily accessed when +playing games. The punctuation was placed in a way that is as similar as +possible the qwerty punctuation layout on a standard keyboard. + +## Raise Layer + + ┌-----------------------------------------------------------------------------------┐ + | ~ | ! | @ | # | $ | % | _ | + | Ins | Home | PgUp | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | Caps | ^ | & | * | ( | ) | { | } | | | " | | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | F9 | F10 | F11 | F12 | | | | | | | | + |------+------+------+------+------+-------------+------+------+------+------+------| + | | | | | | | | | | | | + └-----------------------------------------------------------------------------------┘ + +This layer with the exception of the function and control keys is effectively +the lower layer in combination with the shift key, like on the standard planck +layout. + +## Movement Layer + + ┌-----------------------------------------------------------------------------------┐ + | |MsBut2|Ms Up |MsBut1|MsWhUp| | Home | PgDn | PgUp | End | | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | |Ms Lft|Ms Dn |Ms Rgt|MsWhDn| | Left | Down | Up | Right| | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | | | | | | | | | | | | + |------+------+------+------+------+-------------+------+------+------+------+------| + | | | | | | | | | | | | + └-----------------------------------------------------------------------------------┘ + +Layer for simplifying movement. + +## Meta Layer + + ┌-----------------------------------------------------------------------------------┐ + |Reset | | | | | | | | | | | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | |Bcklgt| Mute |Vol Dn|Vol Up| | |Qwerty|Arrow |Numpad| | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | | | | | | | | | | | | + |------+------+------+------+------+-------------+------+------+------+------+------| + | | | | | | | | | | | | + └-----------------------------------------------------------------------------------┘ + +This Layer is activated when pressing both the Lower and Raise keys. The Arrow +and Numpad keys each activate a layer between the base layer and the Movement +layer. The Qwerty key disables both of the layers leaving just the base layer +active. + +## Arrow Layer + + ┌-----------------------------------------------------------------------------------┐ + | | | | | | | | | | | | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | | | | | | | | | | | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | | | | | | | | | | Up | | + |------+------+------+------+------+-------------+------+------+------+------+------| + | | | | | | | | | Left | Down | Right| + └-----------------------------------------------------------------------------------┘ + +Replaces the bottom right of the keyboard with arrow keys for games like The +Binding of Isaac. + +## Numpad Layer + + ┌-----------------------------------------------------------------------------------┐ + | | | | | | |NumLck| 7 | 8 | 9 | / | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | | | | | |Enter | 4 | 5 | 6 | * | | + |------+------+------+------+------+------+------+------+------+------+------+------| + | | | | | | | | 3 | 2 | 1 | - | | + |------+------+------+------+------+-------------+------+------+------+------+------| + | | | | | | | | 0 | . | + | | + └-----------------------------------------------------------------------------------┘ + +Replaces the majority of the right side of the keyboard with a numpad because +why not? -- cgit v1.2.3 From d8f1949029297b0bec395606bbaedf4f6d4c0760 Mon Sep 17 00:00:00 2001 From: Priyadi Iman Nurcahyo Date: Sat, 29 Apr 2017 13:21:27 +0700 Subject: Promethium update: demo LED, fix PS2 delay, fix LED ordering, change click frequency --- keyboards/handwired/promethium/config.h | 38 +++++++++++----------- .../handwired/promethium/keymaps/priyadi/config.h | 1 + .../handwired/promethium/keymaps/priyadi/keymap.c | 34 ++++++++++++++++++- keyboards/handwired/promethium/promethium.c | 4 +-- 4 files changed, 55 insertions(+), 22 deletions(-) diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h index 04f7caa55c..efb9ebdd74 100644 --- a/keyboards/handwired/promethium/config.h +++ b/keyboards/handwired/promethium/config.h @@ -153,7 +153,7 @@ along with this program. If not, see . //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION -#define PS2_INIT_DELAY 3000 +#define PS2_MOUSE_INIT_DELAY 2000 #define BATTERY_PIN 9 #define BATTERY_POLL 30000 #define MAX_VOLTAGE 4.2 @@ -234,35 +234,35 @@ enum led_sequence { LED_TRACKPOINT2, LED_TRACKPOINT1, - LED_LSPC, - LED_B, - LED_G, LED_T, + LED_G, + LED_B, + LED_LSPC, - LED_R, - LED_F, - LED_V, LED_NUM, + LED_V, + LED_F, + LED_R, - LED_EMPTY, - LED_C, - LED_D, LED_E, + LED_D, + LED_C, + LED_EMPTY, - LED_W, - LED_S, - LED_X, LED_LGUI, + LED_X, + LED_S, + LED_W, - LED_LALT, - LED_Z, - LED_A, LED_Q, + LED_A, + LED_Z, + LED_LALT, - LED_TAB, - LED_ESC, - LED_LSFT, LED_LCTL, + LED_LSFT, + LED_ESC, + LED_TAB, LED_TOTAL }; diff --git a/keyboards/handwired/promethium/keymaps/priyadi/config.h b/keyboards/handwired/promethium/keymaps/priyadi/config.h index 3f5dd5817d..fa86e22479 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/config.h +++ b/keyboards/handwired/promethium/keymaps/priyadi/config.h @@ -14,6 +14,7 @@ #define PREVENT_STUCK_MODIFIERS #define RGBSPS_ENABLE +#define RGBSPS_DEMO_ENABLE #define UNICODE_TYPE_DELAY 0 diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c index 7a18b02fd4..4cc3d6d60a 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c +++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c @@ -144,6 +144,7 @@ enum planck_keycodes { #ifndef MODULE_ADAFRUIT_BLE OUT_BT, #endif + RGBDEMO, KEYCODE_END }; @@ -478,6 +479,27 @@ void led_turnoff_keys(void) { } } +#ifdef RGBSPS_DEMO_ENABLE +void led_demo(void) { + rgbsps_set(LED_IND_LINUX, 15, 15, 15); + rgbsps_set(LED_IND_APPLE, 15, 15, 15); + rgbsps_set(LED_IND_WINDOWS, 15, 15, 15); + rgbsps_set(LED_IND_QWERTY, 15, 10, 0); + rgbsps_set(LED_IND_ALT, 15, 10, 0); + rgbsps_set(LED_IND_AUDIO, 5, 11, 13); + rgbsps_set(LED_IND_BLUETOOTH, 0, 0, 15); + rgbsps_set(LED_IND_USB, 15, 15, 15); + rgbsps_set(LED_IND_CAPSLOCK, 15, 0, 0); + rgbsps_set(LED_IND_GUI, 15, 0, 15); + rgbsps_set(LED_IND_FUN, 15, 0, 0); + rgbsps_set(LED_IND_NUM, 0, 0, 15); + rgbsps_set(LED_IND_PUNC, 0, 15, 0); + rgbsps_set(LED_IND_GREEK, 0, 15, 15); + rgbsps_set(LED_IND_EMOJI, 15, 15, 0); + rgbsps_send(); +} +#endif + void led_reset(void) { switch (glow_mode) { case GLOW_NONE: @@ -634,11 +656,14 @@ void led_init(void) { led_set_default_layer_indicator(); // clicky +#ifdef FAUXCLICKY_ENABLE if (fauxclicky_enabled) { rgbsps_set(LED_IND_AUDIO, 5, 11, 13); } else { rgbsps_set(LED_IND_AUDIO, 0, 0, 0); } +#endif + rgbsps_send(); } @@ -919,7 +944,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_SYS] = KEYMAP( - DEBUG, QWERTY, WIN, XXXXXXX, RESET, XXXXXXX, XXXXXXX, OUT_USB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + DEBUG, QWERTY, WIN, XXXXXXX, RESET, XXXXXXX, XXXXXXX, OUT_USB, XXXXXXX, XXXXXXX, XXXXXXX, RGBDEMO, XXXXXXX, FC_TOG, XXXXXXX, DVORAK, XXXXXXX, GLOW, XXXXXXX, XXXXXXX, WORKMAN, LINUX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, XXXXXXX, OUT_BT, NORMAN, OSX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, @@ -1228,6 +1253,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; break; #endif + +#ifdef RGBSPS_DEMO_ENABLE + case RGBDEMO: + led_demo(); + return false; + break; +#endif } return true; } diff --git a/keyboards/handwired/promethium/promethium.c b/keyboards/handwired/promethium/promethium.c index 544e94be59..3cc0f5a8c8 100644 --- a/keyboards/handwired/promethium/promethium.c +++ b/keyboards/handwired/promethium/promethium.c @@ -4,8 +4,8 @@ #include "matrix.h" #include "musical_notes.h" -float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_C5, 0.25); -float fauxclicky_released_note[2] = MUSICAL_NOTE(_C4, 0.25); +float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_A4, 0.0625); +float fauxclicky_released_note[2] = MUSICAL_NOTE(_A4, 0.0625); float fauxclicky_beep_note[2] = MUSICAL_NOTE(_C6, 0.25); // cubic fit {3.3, 0}, {3.5, 2.9}, {3.6, 5}, {3.7, 8.6}, {3.8, 36}, {3.9, 62}, {4.0, 73}, {4.05, 83}, {4.1, 89}, {4.15, 94}, {4.2, 100} -- cgit v1.2.3 From 838aae164568a1092ae269267f8d8772d3aba781 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Sat, 29 Apr 2017 15:02:54 +0200 Subject: - Fixed bugs in rules.mk for S60-X - Updated dbroqua layout for S60-X (added backlight) --- keyboards/s60-x/default/rules.mk | 10 ++++- keyboards/s60-x/keymaps/dbroqua/keymap.c | 2 +- keyboards/s60-x/rgb/config.h | 7 ++++ keyboards/s60-x/rgb/rules.mk | 65 +++++--------------------------- keyboards/s60-x/rules.mk | 4 -- 5 files changed, 26 insertions(+), 62 deletions(-) diff --git a/keyboards/s60-x/default/rules.mk b/keyboards/s60-x/default/rules.mk index b8ff762607..aaa3764df6 100644 --- a/keyboards/s60-x/default/rules.mk +++ b/keyboards/s60-x/default/rules.mk @@ -1 +1,9 @@ -RGBLIGHT_ENABLE ?= no \ No newline at end of file +CONSOLE_ENABLE ?= no # Console for debug(+400) +COMMAND_ENABLE ?= no # Commands for debug and configuration +NKRO_ENABLE ?= no # USB 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 +RGBLIGHT_ENABLE ?= no + +ifndef QUANTUM_DIR + include ../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/s60-x/keymaps/dbroqua/keymap.c b/keyboards/s60-x/keymaps/dbroqua/keymap.c index 940119e52f..0a714445ce 100644 --- a/keyboards/s60-x/keymaps/dbroqua/keymap.c +++ b/keyboards/s60-x/keymaps/dbroqua/keymap.c @@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_SFX] = KEYMAP( ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, BL_TOGG,BL_STEP,BL_DEC, BL_INC, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ ______, F(0), F(1), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ ______, ______, F(2), F(3), F(4), F(5), F(6), F(7), ______, ______, ______, ______, ______, ______, ______, \ ______, ______, ______, ______, ______, ______, ______, ______ \ diff --git a/keyboards/s60-x/rgb/config.h b/keyboards/s60-x/rgb/config.h index 26b246e573..fbc143487e 100644 --- a/keyboards/s60-x/rgb/config.h +++ b/keyboards/s60-x/rgb/config.h @@ -9,6 +9,7 @@ /* key matrix pins */ #define MATRIX_ROW_PINS { B5, B4, D7, D6, D4 } #define MATRIX_COL_PINS { D0, D1, D2, D3, D5, B6, C6, C7, F1, F0, E6, B3, B2, B1, B0 } +#define UNUSED_PINS /* number of backlight levels */ #define BACKLIGHT_PIN B7 @@ -16,6 +17,12 @@ #define BACKLIGHT_LEVELS 3 #endif +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + /* prevent stuck modifiers */ #define PREVENT_STUCK_MODIFIERS diff --git a/keyboards/s60-x/rgb/rules.mk b/keyboards/s60-x/rgb/rules.mk index c303af4bcc..6953cc6d6d 100644 --- a/keyboards/s60-x/rgb/rules.mk +++ b/keyboards/s60-x/rgb/rules.mk @@ -1,56 +1,9 @@ -# MCU name -MCU = atmega32u4 - -# Processor frequency. -# This will define a symbol, F_CPU, in all source code files equal to the -# processor frequency in Hz. You can then use this symbol in your source code to -# calculate timings. Do NOT tack on a 'UL' at the end, this will be done -# automatically to create a 32-bit value in your source code. -# -# This will be an integer division of F_USB below, as it is sourced by -# F_USB after it has run through any CPU prescalers. Note that this value -# does not *change* the processor frequency - it should merely be updated to -# reflect the processor speed set externally so that the code can use accurate -# software delays. -F_CPU = 16000000 - -# -# LUFA specific -# -# Target architecture (see library "Board Types" documentation). -ARCH = AVR8 - -# Input clock frequency. -# This will define a symbol, F_USB, in all source code files equal to the -# input clock frequency (before any prescaling is performed) in Hz. This value may -# differ from F_CPU if prescaling is used on the latter, and is required as the -# raw input clock is fed directly to the PLL sections of the AVR for high speed -# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' -# at the end, this will be done automatically to create a 32-bit value in your -# source code. -# -# If no clock division is performed on the input clock inside the AVR (via the -# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. -F_USB = $(F_CPU) - -# Interrupt driven control endpoint task(+60) -OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT - - -# Boot Section Size in *bytes* -OPT_DEFS += -DBOOTLOADER_SIZE=4096 - - -# Build Options -# comment out to disable the options. -# -BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) -EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) -CONSOLE_ENABLE ?= no # Console for debug(+400) -COMMAND_ENABLE ?= no # Commands for debug and configuration -SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend -NKRO_ENABLE ?= yes # USB 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 -AUDIO_ENABLE ?= no -RGBLIGHT_ENABLE ?= yes \ No newline at end of file +CONSOLE_ENABLE ?= no # Console for debug(+400) +COMMAND_ENABLE ?= no # Commands for debug and configuration +NKRO_ENABLE ?= yes # USB 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 +RGBLIGHT_ENABLE ?= yes # Enable RGB light + +ifndef QUANTUM_DIR + include ../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/s60-x/rules.mk b/keyboards/s60-x/rules.mk index 7ec93933a9..0c568efe95 100644 --- a/keyboards/s60-x/rules.mk +++ b/keyboards/s60-x/rules.mk @@ -56,13 +56,9 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096 BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) -CONSOLE_ENABLE ?= yes # Console for debug(+400) -COMMAND_ENABLE ?= yes # Commands for debug and configuration # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -NKRO_ENABLE ?= no # USB Nkey Rollover -BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default MIDI_ENABLE ?= no # MIDI controls UNICODE_ENABLE ?= no # Unicode BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID -- cgit v1.2.3 From 18b4d24cc304bdc8882deee99b4ff765a718a5c3 Mon Sep 17 00:00:00 2001 From: Fred Sundvik Date: Sat, 29 Apr 2017 23:45:27 +0300 Subject: Add possibility to override the command to execute when flashing --- tmk_core/avr.mk | 42 +++++++++++++++++++++++------------------- tmk_core/chibios.mk | 4 +++- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/tmk_core/avr.mk b/tmk_core/avr.mk index 5df539def5..ccecdb1929 100644 --- a/tmk_core/avr.mk +++ b/tmk_core/avr.mk @@ -89,9 +89,9 @@ DEBUG_HOST = localhost #============================================================================ # Autodecct teensy loader ifneq (, $(shell which teensy-loader-cli 2>/dev/null)) - TEENSY_LOADER_CLI = teensy-loader-cli + TEENSY_LOADER_CLI ?= teensy-loader-cli else - TEENSY_LOADER_CLI = teensy_loader_cli + TEENSY_LOADER_CLI ?= teensy_loader_cli endif # Program the device. @@ -100,43 +100,47 @@ program: $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).eep teensy: $(BUILD_DIR)/$(TARGET).hex $(TEENSY_LOADER_CLI) -mmcu=$(MCU) -w -v $(BUILD_DIR)/$(TARGET).hex + +BATCHISP ?= batchisp flip: $(BUILD_DIR)/$(TARGET).hex - batchisp -hardware usb -device $(MCU) -operation erase f - batchisp -hardware usb -device $(MCU) -operation loadbuffer $(BUILD_DIR)/$(TARGET).hex program - batchisp -hardware usb -device $(MCU) -operation start reset 0 + $(BATCHISP) -hardware usb -device $(MCU) -operation erase f + $(BATCHISP) -hardware usb -device $(MCU) -operation loadbuffer $(BUILD_DIR)/$(TARGET).hex program + $(BATCHISP) -hardware usb -device $(MCU) -operation start reset 0 + +DFU_PROGRAMMER ?= dfu-programmer dfu: $(BUILD_DIR)/$(TARGET).hex sizeafter - until dfu-programmer $(MCU) get bootloader-version; do\ + until $(DFU_PROGRAMMER) $(MCU) get bootloader-version; do\ echo "Error: Bootloader not found. Trying again in 5s." ;\ sleep 5 ;\ done -ifneq (, $(findstring 0.7, $(shell dfu-programmer --version 2>&1))) - dfu-programmer $(MCU) erase --force +ifneq (, $(findstring 0.7, $(shell $(DFU_PROGRAMMER) --version 2>&1))) + $(DFU_PROGRAMMER) $(MCU) erase --force else - dfu-programmer $(MCU) erase + $(DFU_PROGRAMMER) $(MCU) erase endif - dfu-programmer $(MCU) flash $(BUILD_DIR)/$(TARGET).hex - dfu-programmer $(MCU) reset + $(DFU_PROGRAMMER) $(MCU) flash $(BUILD_DIR)/$(TARGET).hex + $(DFU_PROGRAMMER) $(MCU) reset dfu-start: - dfu-programmer $(MCU) reset - dfu-programmer $(MCU) start + $(DFU_PROGRAMMER) $(MCU) reset + $(DFU_PROGRAMMER) $(MCU) start flip-ee: $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).eep $(COPY) $(BUILD_DIR)/$(TARGET).eep $(BUILD_DIR)/$(TARGET)eep.hex - batchisp -hardware usb -device $(MCU) -operation memory EEPROM erase - batchisp -hardware usb -device $(MCU) -operation memory EEPROM loadbuffer $(BUILD_DIR)/$(TARGET)eep.hex program - batchisp -hardware usb -device $(MCU) -operation start reset 0 + $(BATCHISP) -hardware usb -device $(MCU) -operation memory EEPROM erase + $(BATCHISP) -hardware usb -device $(MCU) -operation memory EEPROM loadbuffer $(BUILD_DIR)/$(TARGET)eep.hex program + $(BATCHISP) -hardware usb -device $(MCU) -operation start reset 0 $(REMOVE) $(BUILD_DIR)/$(TARGET)eep.hex dfu-ee: $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).eep ifneq (, $(findstring 0.7, $(shell dfu-programmer --version 2>&1))) - dfu-programmer $(MCU) flash --eeprom $(BUILD_DIR)/$(TARGET).eep + $(DFU_PROGRAMMER) $(MCU) flash --eeprom $(BUILD_DIR)/$(TARGET).eep else - dfu-programmer $(MCU) flash-eeprom $(BUILD_DIR)/$(TARGET).eep + $(DFU_PROGRAMMER) $(MCU) flash-eeprom $(BUILD_DIR)/$(TARGET).eep endif - dfu-programmer $(MCU) reset + $(DFU_PROGRAMMER) $(MCU) reset # Convert hex to bin. flashbin: $(BUILD_DIR)/$(TARGET).hex diff --git a/tmk_core/chibios.mk b/tmk_core/chibios.mk index eb0c40138a..2a8d32fb99 100644 --- a/tmk_core/chibios.mk +++ b/tmk_core/chibios.mk @@ -151,5 +151,7 @@ endif # List any extra directories to look for libraries here. EXTRALIBDIRS = $(RULESPATH)/ld +DFU_UTIL ?= dfu-util + dfu-util: $(BUILD_DIR)/$(TARGET).bin sizeafter - dfu-util $(DFU_ARGS) -D $(BUILD_DIR)/$(TARGET).bin + $(DFU_UTIL) $(DFU_ARGS) -D $(BUILD_DIR)/$(TARGET).bin -- cgit v1.2.3 From 9122b34a476908db49ddb5fcec0b0b05c67c75c2 Mon Sep 17 00:00:00 2001 From: Ryan MacLean Date: Sat, 29 Apr 2017 16:16:21 -0700 Subject: Adding Maximized Layout Both split shifts and HHKB split backspace. --- keyboards/amj60/amj60.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/keyboards/amj60/amj60.h b/keyboards/amj60/amj60.h index a0cb473310..c508e479ca 100644 --- a/keyboards/amj60/amj60.h +++ b/keyboards/amj60/amj60.h @@ -147,6 +147,21 @@ {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d} \ } +#define KEYMAP_MAX( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k49,\ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3c, \ + k40, k41, k42, k45, k4a, k4b, k4c, k4d \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \ + {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d}, \ + {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \ + {k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, k4a, k4b, k4c, k4d} \ +} + void matrix_init_user(void); void matrix_scan_user(void); -- cgit v1.2.3 From ff512ea5b4934638d28244c8667e840549784f2b Mon Sep 17 00:00:00 2001 From: Ryan MacLean Date: Sat, 29 Apr 2017 16:18:26 -0700 Subject: Addind Sample Maxed Out Keymap Keeping hold space for fn1, adding three other user-mappable keys. --- keyboards/amj60/keymaps/maximized/keymap.c | 61 ++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 keyboards/amj60/keymaps/maximized/keymap.c diff --git a/keyboards/amj60/keymaps/maximized/keymap.c b/keyboards/amj60/keymaps/maximized/keymap.c new file mode 100644 index 0000000000..d2a4be59f3 --- /dev/null +++ b/keyboards/amj60/keymaps/maximized/keymap.c @@ -0,0 +1,61 @@ +// This is the canonical layout file for the Quantum project. If you want to add another keyboard, +// this is the style you want to emulate. + +#include "amj60.h" + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _DEF 0 +#define _SPC 1 + +// dual-role shortcuts +#define SPACEDUAL LT(_SPC, KC_SPACE) + + +// increase readability +#define _______ KC_TRNS + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _DEF: Default Layer + * ,-----------------------------------------------------------. + * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \ | ~ | + * |-----------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| bspc| + * |-----------------------------------------------------------| + * |Caps | A| S| D| F| G| H| J| K| L| ;| '| Return | + * |-----------------------------------------------------------| + * |Sft | Fn0| Z| X| C| V| B| N| M| ,| .| /| Sft |Fn2| + * |-----------------------------------------------------------| + * |Ctrl|Win |Alt | Space/Fn0 |Alt |Win |Menu|RCtl| + * `-----------------------------------------------------------' + */ + [_DEF] = KEYMAP_MAX( + 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_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, F(0), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, F(1), \ + KC_LCTL, KC_LALT, KC_LGUI, SPACEDUAL, KC_RGUI, KC_RALT, KC_RCTL, F(2)), + + /* Keymap 1: F-and-vim Layer, modified with Space (by holding space) + * ,-----------------------------------------------------------. + * |PrSc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| | | + * |-----------------------------------------------------------| + * | |Paus| Up| [ | ] | | | | ( | ) | | | | Del | + * |-----------------------------------------------------------| + * | |Lft|Dwn|Rgt| | |Left|Down|Right|Up| | | PLAY | + * |-----------------------------------------------------------| + * | | | | | < | > | |M0 | | | | | Vol+ | | + * |-----------------------------------------------------------| + * | | | | |Alt |Prev|Vol-|Next| + * `-----------------------------------------------------------' + */ + [_SPC] = KEYMAP_MAX( + KC_PSCR, 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_PAUS, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ + _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, KC_MPLY, \ + _______, _______, _______, _______, _______, _______, KC_SPACE, M(0), _______, _______, _______, _______, KC_VOLU, _______, \ + _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT), + +}; -- cgit v1.2.3 From 4ff40a551a310e9b29a5838f87a9db58c0e5767e Mon Sep 17 00:00:00 2001 From: Weiyi Lou Date: Sat, 29 Apr 2017 22:02:01 +1000 Subject: Add `DYN_REC_STOP` to dynamic macros Dynamic macro functionality is modified to check for `DYN_REC_STOP`, so that macro recording can be stopped with a designated key combination (e.g. `qs` or anything) instead of mandating the use of a `_DYN` layer. `_DYN` layer stopping can still be done by passing `DYN_REC_STOP` within `process_record_user()`: 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)) { return false; } return true; } --- quantum/dynamic_macro.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/quantum/dynamic_macro.h b/quantum/dynamic_macro.h index 64093f293e..939816a597 100644 --- a/quantum/dynamic_macro.h +++ b/quantum/dynamic_macro.h @@ -40,6 +40,7 @@ enum dynamic_macro_keycodes { DYN_REC_START1 = DYNAMIC_MACRO_RANGE, DYN_REC_START2, + DYN_REC_STOP, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, }; @@ -209,9 +210,8 @@ bool process_record_dynamic_macro(uint16_t keycode, keyrecord_t *record) } else { /* A macro is being recorded right now. */ switch (keycode) { - case MO(_DYN): - /* Use the layer key used to access the macro recording as - * a stop button. */ + case DYN_REC_STOP: + /* Stop the macro recording. */ if (record->event.pressed) { /* Ignore the initial release * just after the recoding * starts. */ -- cgit v1.2.3 From 1201d4910fd7346ac27937e46071e09ec352f87f Mon Sep 17 00:00:00 2001 From: Weiyi Lou Date: Sat, 29 Apr 2017 22:05:31 +1000 Subject: Add cinaeco hhkb keymap --- keyboards/hhkb/keymaps/cinaeco/Makefile | 23 ++++ keyboards/hhkb/keymaps/cinaeco/README.md | 23 ++++ keyboards/hhkb/keymaps/cinaeco/config.h | 20 ++++ keyboards/hhkb/keymaps/cinaeco/keymap.c | 186 +++++++++++++++++++++++++++++++ 4 files changed, 252 insertions(+) create mode 100644 keyboards/hhkb/keymaps/cinaeco/Makefile create mode 100644 keyboards/hhkb/keymaps/cinaeco/README.md create mode 100644 keyboards/hhkb/keymaps/cinaeco/config.h create mode 100644 keyboards/hhkb/keymaps/cinaeco/keymap.c diff --git a/keyboards/hhkb/keymaps/cinaeco/Makefile b/keyboards/hhkb/keymaps/cinaeco/Makefile new file mode 100644 index 0000000000..05b724051e --- /dev/null +++ b/keyboards/hhkb/keymaps/cinaeco/Makefile @@ -0,0 +1,23 @@ +# cinaeco's HHKB firmware + +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +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 = 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. Do not enable this with audio at the same time. +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/hhkb/keymaps/cinaeco/README.md b/keyboards/hhkb/keymaps/cinaeco/README.md new file mode 100644 index 0000000000..c1c48e6093 --- /dev/null +++ b/keyboards/hhkb/keymaps/cinaeco/README.md @@ -0,0 +1,23 @@ +# QMK Keyboard Firmware for HHKB + +## Modifications + +### HHKB Fn Layer + +Added some Media keys. + +### Utility Layer (SpaceFN) + +Hold `Space` for: + +- Vi-style direction keys. +- WASD-style mouse keys. +- Dynamic macro playback on `1` and `2`. +- Qwerty/Colemak/Dvorak layout selection on `-`, `=` and `\ ` + +### Dynamic Macros + +Hold `q` and press: + +- `1` or `2` to record macro 1 or 2. +- `s` to stop recording. diff --git a/keyboards/hhkb/keymaps/cinaeco/config.h b/keyboards/hhkb/keymaps/cinaeco/config.h new file mode 100644 index 0000000000..c7b4c784c0 --- /dev/null +++ b/keyboards/hhkb/keymaps/cinaeco/config.h @@ -0,0 +1,20 @@ +#ifndef CONFIG_CINAECO_H +#define CONFIG_CINAECO_H + +#include "../../config.h" + +#undef MANUFACTURER +#undef PRODUCT +#undef DESCRIPTION +#define MANUFACTURER QMK +#define PRODUCT HHKB QMK cinaeco +#define DESCRIPTION HHKB on QMK Firmware with cinaeco keymap + +// Increase "Tap" detection window. Avoid missing 'q' or 'z' when typing slowly. +#undef TAPPING_TERM +#define TAPPING_TERM 230 + +// Uncomment to enable NKRO by default. May cause issues with KVM switches. +//#define FORCE_NKRO + +#endif diff --git a/keyboards/hhkb/keymaps/cinaeco/keymap.c b/keyboards/hhkb/keymaps/cinaeco/keymap.c new file mode 100644 index 0000000000..0b204600d1 --- /dev/null +++ b/keyboards/hhkb/keymaps/cinaeco/keymap.c @@ -0,0 +1,186 @@ +/* -*- eval: (turn-on-orgtbl); -*- + * cinaeco's HHKB Layout + */ +#include "hhkb.h" + +// Layers. +#define QWER 0 +#define COLE 1 +#define DVOR 2 +#define HHKB 3 +#define UTIL 4 +#define MREC 5 + +// Easier-to-read Layer Arrays. +#define ____ KC_TRNS + +enum hhkb_keycodes { + DYNAMIC_MACRO_RANGE = SAFE_RANGE, +}; + +#include "dynamic_macro.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + + /* QWER Layer: Qwerty Default + * + * ,--------------------------------------------------------------. + * |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| `| + * |--------------------------------------------------------------| + * |Tab |Q/MREC| W| E| R| T| Y| U| I| O| P| [| ]|Backs| + * |--------------------------------------------------------------| + * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Ent/Ctrl| + * |--------------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Fn0| + * `--------------------------------------------------------------' + * |Alt|Gui | Space/UTIL |Gui |Alt| + * `-------------------------------------------' + * + */ + + [QWER] = KEYMAP( + 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, LT(MREC, 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, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, CTL_T(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, LT(UTIL, KC_SPC), KC_RGUI, KC_RALT), + + + /* COLE Layer: Colemak + * + * ,--------------------------------------------------------------. + * |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| `| + * |--------------------------------------------------------------| + * |Tab |Q/MREC| W| F| P| G| J| L| U| Y| ;| [| ]|Backs| + * |--------------------------------------------------------------| + * |Ctrl | A| R| S| T| D| H| N| E| I| O| '|Ent/Ctrl| + * |--------------------------------------------------------------| + * |Shift | Z| X| C| V| K| B| M| ,| .| /|Shift |Fn0| + * `--------------------------------------------------------------' + * |Alt|Gui | Space/UTIL |Gui |Alt| + * `-------------------------------------------' + * + */ + + [COLE] = KEYMAP( + 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, LT(MREC, KC_Q), KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, \ + KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, CTL_T(KC_ENT), \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_K, KC_B, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \ + KC_LALT, KC_LGUI, LT(UTIL, KC_SPC), KC_RGUI, KC_RALT), + + + /* DVOR Layer: Dvorak + * + * ,--------------------------------------------------------------. + * |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| [| ]| \| `| + * |--------------------------------------------------------------| + * |Tab |'/MREC| ,| .| P| Y| F| G| C| R| L| /| =|Backs| + * |--------------------------------------------------------------| + * |Ctrl | A| O| E| U| I| D| H| T| N| S| -|Ent/Ctrl| + * |--------------------------------------------------------------| + * |Shift | ;| Q| J| K| X| B| M| W| V| Z|Shift |Fn0| + * `--------------------------------------------------------------' + * |Alt|Gui | Space/UTIL |Gui |Alt| + * `-------------------------------------------' + * + */ + + [DVOR] = KEYMAP( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, \ + KC_TAB, LT(MREC, KC_QUOT), KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC, \ + KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, CTL_T(KC_ENT), \ + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, MO(HHKB), \ + KC_LALT, KC_LGUI, LT(UTIL, KC_SPC), KC_RGUI, KC_RALT), + + + /* HHKB Layer: HHKB mode (HHKB Fn) + * + * ,-----------------------------------------------------------. + * |Pwr| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del| + * |-----------------------------------------------------------| + * |Caps |PLA|PRV|NXT| | | | |Psc|Slk|Pus|Up | |Backs| + * |-----------------------------------------------------------| + * | |VoD|VoU|Mut|Ejc| | *| /|Hom|PgU|Lef|Rig|Enter | + * |-----------------------------------------------------------| + * | | | | | | | +| -|End|PgD|Dow| | | + * `-----------------------------------------------------------' + * | | | |STOP | | + * `-------------------------------------------' + */ + + [HHKB] = KEYMAP( + KC_PWR, 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_INS, KC_DEL, \ + KC_CAPS, KC_MPLY, KC_MPRV, KC_MNXT, ____, ____, ____, ____, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ____, KC_BSPC, \ + ____, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, ____, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \ + ____, ____, ____, ____, ____, ____, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, ____, ____, \ + ____, ____, ____, KC_MSTP, ____), + + + /* UTIL Layer: Extra utilities + * + * ,-------------------------------------------------------------. + * |DFU|PLY1|PLY2| | | | | | | | |QWE|COL|DVO|DBG| + * |-------------------------------------------------------------| + * | |MLB |M-Up|MRB|MwU| |Hom|PgD|PgU|End| | | | | + * |-------------------------------------------------------------| + * | |M-Lt|M-Dn|M-R|MwD| |LEF|DOW|UP |RIG| | | | + * |-------------------------------------------------------------| + * | | | | | |SPC| | | | | | | | + * `-------------------------------------------------------------' + * | | | | | | + * `-------------------------------------------' + * + */ + + [UTIL] = KEYMAP( + RESET, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, ____, ____, ____, ____, ____, ____, ____, ____, DF(QWER), DF(COLE), DF(DVOR), DEBUG, \ + ____, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, ____, KC_HOME, KC_PGDN, KC_PGUP, KC_END, ____, ____, ____, ____, \ + ____, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, ____, ____, ____, \ + ____, ____, ____, ____, ____, KC_SPC, ____, ____, ____, ____, ____, ____, ____, \ + ____, ____, ____, ____, ____), + + + /* MREC Layer: Record macros with `q` + * + * ,-------------------------------------------------------------. + * | |REC1|REC2| | | | | | | | | | | | | + * |-------------------------------------------------------------| + * | | | | | | | | | | | | | | | + * |-------------------------------------------------------------| + * | | |RSTP| | | | | | | | | | | + * |-------------------------------------------------------------| + * | | | | | | | | | | | | | | + * `-------------------------------------------------------------' + * | | | | | | + * `-------------------------------------------' + * + */ + + [MREC] = KEYMAP( + ____, DYN_REC_START1, DYN_REC_START2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ + ____, ____, DYN_REC_STOP, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \ + ____, ____, ____, ____, ____) + +}; + + + +const uint16_t PROGMEM fn_actions[] = { + +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + return MACRO_NONE; +}; + +// For Dynamic Macros. +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (!process_record_dynamic_macro(keycode, record)) { + return false; + } + return true; +} -- cgit v1.2.3 From c8ac556e63c62078fe1edfc1a116c36ad34da8e3 Mon Sep 17 00:00:00 2001 From: Weiyi Lou Date: Sun, 30 Apr 2017 18:36:43 +1000 Subject: Update vifon keymap to use `DYN_REC_STOP` --- keyboards/planck/keymaps/vifon/keymap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/keyboards/planck/keymaps/vifon/keymap.c b/keyboards/planck/keymaps/vifon/keymap.c index ee0c0ac366..ecd5c2cc44 100644 --- a/keyboards/planck/keymaps/vifon/keymap.c +++ b/keyboards/planck/keymaps/vifon/keymap.c @@ -107,7 +107,8 @@ const uint16_t PROGMEM fn_actions[] = { bool process_record_user(uint16_t keycode, keyrecord_t *record) { static uint16_t key_timer; - if (!process_record_dynamic_macro(keycode, record)) { + uint16_t macro_kc = (keycode == MO(_DYN) ? DYN_REC_STOP : keycode); + if (!process_record_dynamic_macro(macro_kc, record)) { return false; } -- cgit v1.2.3 From 2f28652dcc22c74db4f3c60537fa07f6774451f9 Mon Sep 17 00:00:00 2001 From: Priyadi Iman Nurcahyo Date: Sun, 30 Apr 2017 18:03:03 +0700 Subject: Syntax fix --- keyboards/handwired/promethium/matrix.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/handwired/promethium/matrix.c b/keyboards/handwired/promethium/matrix.c index 2b7ce2bf5e..72dbe8d4d0 100644 --- a/keyboards/handwired/promethium/matrix.c +++ b/keyboards/handwired/promethium/matrix.c @@ -133,8 +133,8 @@ void matrix_init(void) { matrix_init_quantum(); } -uint8_t matrix_scan(void -){ +uint8_t matrix_scan(void) +{ // Set row, read cols for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) { # if (DEBOUNCING_DELAY > 0) -- cgit v1.2.3 From 343f8d368e7ce51a3b34705147b890445a12e3ea Mon Sep 17 00:00:00 2001 From: Priyadi Iman Nurcahyo Date: Sun, 30 Apr 2017 18:04:58 +0700 Subject: Simple RGB backlight theming --- keyboards/handwired/promethium/color.h | 15 +++ .../handwired/promethium/keymaps/priyadi/keymap.c | 145 +++++++++++---------- .../promethium/keymaps/priyadi/rgbtheme.h | 1 + .../promethium/keymaps/priyadi/rgbtheme_carbon.h | 36 +++++ .../promethium/keymaps/priyadi/rgbtheme_default.h | 36 +++++ 5 files changed, 161 insertions(+), 72 deletions(-) create mode 100644 keyboards/handwired/promethium/color.h create mode 100644 keyboards/handwired/promethium/keymaps/priyadi/rgbtheme.h create mode 100644 keyboards/handwired/promethium/keymaps/priyadi/rgbtheme_carbon.h create mode 100644 keyboards/handwired/promethium/keymaps/priyadi/rgbtheme_default.h diff --git a/keyboards/handwired/promethium/color.h b/keyboards/handwired/promethium/color.h new file mode 100644 index 0000000000..077242d5f1 --- /dev/null +++ b/keyboards/handwired/promethium/color.h @@ -0,0 +1,15 @@ +#define COLOR_BLANK 0, 0, 0 + +#define COLOR_BLACK 0, 0, 0 +#define COLOR_WHITE 15,15,15 +#define COLOR_GRAY 7, 7, 7 + +#define COLOR_RED 15, 0, 0 +#define COLOR_GREEN 0,15, 0 +#define COLOR_BLUE 0, 0,15 + +#define COLOR_YELLOW 15,15, 0 +#define COLOR_MAGENTA 15, 0,15 +#define COLOR_CYAN 0,15,15 + +#define COLOR_ORANGE 15, 5, 0 \ No newline at end of file diff --git a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c index 4cc3d6d60a..d562c7bbf8 100644 --- a/keyboards/handwired/promethium/keymaps/priyadi/keymap.c +++ b/keyboards/handwired/promethium/keymaps/priyadi/keymap.c @@ -31,6 +31,7 @@ along with this program. If not, see . #include "quantum.h" #ifdef RGBSPS_ENABLE #include "rgbsps.h" +#include "rgbtheme.h" #endif #ifdef PS2_MOUSE_ENABLE #include "ps2_mouse.h" @@ -42,13 +43,13 @@ along with this program. If not, see . #undef FAUXCLICKY_OFF #define FAUXCLICKY_OFF do { \ fauxclicky_enabled = false; \ - rgbsps_set(LED_AUDIO, 0, 0, 0); \ + rgbsps_set(LED_AUDIO, COLOR_BLANK); \ fauxclicky_stop(); \ } while (0) #undef FAUXCLICKY_ON #define FAUXCLICKY_ON do { \ fauxclicky_enabled = true; \ - rgbsps_set(LED_AUDIO, 8, 0, 8); \ + rgbsps_set(LED_AUDIO, THEME_COLOR_AUDIO); \ } while (0) #endif #endif @@ -469,33 +470,33 @@ const uint8_t PROGMEM LED_TRACKPOINT[] = { void led_turnoff_keys(void) { for(uint8_t i = 0; i < COUNT(LED_ALNUM); i++) { - rgbsps_set(pgm_read_byte(&LED_ALNUM[i]), 0, 0, 0); + rgbsps_set(pgm_read_byte(&LED_ALNUM[i]), COLOR_BLACK); } for(uint8_t i = 0; i < COUNT(LED_MODS); i++) { - rgbsps_set(pgm_read_byte(&LED_MODS[i]), 0, 0, 0); + rgbsps_set(pgm_read_byte(&LED_MODS[i]), COLOR_BLACK); } for(uint8_t i = 0; i < COUNT(LED_FN); i++) { - rgbsps_set(pgm_read_byte(&LED_FN[i]), 0, 0, 0); + rgbsps_set(pgm_read_byte(&LED_FN[i]), COLOR_BLACK); } } #ifdef RGBSPS_DEMO_ENABLE void led_demo(void) { - rgbsps_set(LED_IND_LINUX, 15, 15, 15); - rgbsps_set(LED_IND_APPLE, 15, 15, 15); - rgbsps_set(LED_IND_WINDOWS, 15, 15, 15); - rgbsps_set(LED_IND_QWERTY, 15, 10, 0); - rgbsps_set(LED_IND_ALT, 15, 10, 0); - rgbsps_set(LED_IND_AUDIO, 5, 11, 13); - rgbsps_set(LED_IND_BLUETOOTH, 0, 0, 15); - rgbsps_set(LED_IND_USB, 15, 15, 15); - rgbsps_set(LED_IND_CAPSLOCK, 15, 0, 0); - rgbsps_set(LED_IND_GUI, 15, 0, 15); - rgbsps_set(LED_IND_FUN, 15, 0, 0); - rgbsps_set(LED_IND_NUM, 0, 0, 15); - rgbsps_set(LED_IND_PUNC, 0, 15, 0); - rgbsps_set(LED_IND_GREEK, 0, 15, 15); - rgbsps_set(LED_IND_EMOJI, 15, 15, 0); + rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX); + rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE); + rgbsps_set(LED_IND_WINDOWS, THEME_COLOR_WINDOWS); + rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY); + rgbsps_set(LED_IND_ALT, THEME_COLOR_ALT); + rgbsps_set(LED_IND_AUDIO, THEME_COLOR_AUDIO); + rgbsps_set(LED_IND_BLUETOOTH, THEME_COLOR_BLUETOOTH); + rgbsps_set(LED_IND_USB, THEME_COLOR_USB); + rgbsps_set(LED_IND_CAPSLOCK, THEME_COLOR_CAPSLOCK); + rgbsps_set(LED_IND_GUI, THEME_COLOR_GUI); + rgbsps_set(LED_IND_FUN, THEME_COLOR_FUN); + rgbsps_set(LED_IND_NUM, THEME_COLOR_NUM); + rgbsps_set(LED_IND_PUNC, THEME_COLOR_PUNC); + rgbsps_set(LED_IND_GREEK, THEME_COLOR_GREEK); + rgbsps_set(LED_IND_EMOJI, THEME_COLOR_EMOJI); rgbsps_send(); } #endif @@ -508,26 +509,26 @@ void led_reset(void) { case GLOW_MIN: led_turnoff_keys(); for(uint8_t i = 0; i < COUNT(LED_HOMING); i++) { - rgbsps_set(pgm_read_byte(&LED_HOMING[i]), 8, 8, 8); + rgbsps_set(pgm_read_byte(&LED_HOMING[i]), THEME_COLOR_GLOW1_HOME); } - rgbsps_set(LED_F, 15, 0, 0); - rgbsps_set(LED_J, 15, 0, 0); + rgbsps_set(LED_F, THEME_COLOR_GLOW1_HOMING); + rgbsps_set(LED_J, THEME_COLOR_GLOW1_HOMING); break; case GLOW_FULL: for(uint8_t i = 0; i < COUNT(LED_ALNUM); i++) { - rgbsps_set(pgm_read_byte(&LED_ALNUM[i]), 8, 8, 8); + rgbsps_set(pgm_read_byte(&LED_ALNUM[i]), THEME_COLOR_GLOW2_ALPHA); } for(uint8_t i = 0; i < COUNT(LED_MODS); i++) { - rgbsps_set(pgm_read_byte(&LED_MODS[i]), 0, 15, 0); + rgbsps_set(pgm_read_byte(&LED_MODS[i]), THEME_COLOR_GLOW2_MODS); } for(uint8_t i = 0; i < COUNT(LED_FN); i++) { - rgbsps_set(pgm_read_byte(&LED_FN[i]), 0, 0, 15); + rgbsps_set(pgm_read_byte(&LED_FN[i]), THEME_COLOR_GLOW2_FN); } for(uint8_t i = 0; i < COUNT(LED_HOMING); i++) { - rgbsps_set(pgm_read_byte(&LED_HOMING[i]), 15, 0, 0); + rgbsps_set(pgm_read_byte(&LED_HOMING[i]), THEME_COLOR_GLOW2_HOME); } - rgbsps_set(LED_F, 15, 15, 0); - rgbsps_set(LED_J, 15, 15, 0); + rgbsps_set(LED_F, THEME_COLOR_GLOW2_HOMING); + rgbsps_set(LED_J, THEME_COLOR_GLOW2_HOMING); break; } } @@ -535,11 +536,11 @@ void led_reset(void) { void led_set_default_layer_indicator(void) { uint8_t default_layer = biton32(default_layer_state); if (default_layer == _QWERTY) { - rgbsps_set(LED_IND_QWERTY, 15, 10, 0); - rgbsps_set(LED_IND_ALT, 0, 0, 0); + rgbsps_set(LED_IND_QWERTY, THEME_COLOR_QWERTY); + rgbsps_set(LED_IND_ALT, COLOR_BLANK); } else { - rgbsps_set(LED_IND_QWERTY, 0, 0, 0); - rgbsps_set(LED_IND_ALT, 15, 10, 0); + rgbsps_set(LED_IND_QWERTY, COLOR_BLANK); + rgbsps_set(LED_IND_ALT, THEME_COLOR_ALT); } rgbsps_send(); return; @@ -550,12 +551,12 @@ void led_set_layer_indicator(void) { led_reset(); - rgbsps_set(LED_IND_GUI, 0, 0, 0); - rgbsps_set(LED_IND_FUN, 0, 0, 0); - rgbsps_set(LED_IND_NUM, 0, 0, 0); - rgbsps_set(LED_IND_PUNC, 0, 0, 0); - rgbsps_set(LED_IND_GREEK, 0, 0, 0); - rgbsps_set(LED_IND_EMOJI, 0, 0, 0); + rgbsps_set(LED_IND_GUI, COLOR_BLANK); + rgbsps_set(LED_IND_FUN, COLOR_BLANK); + rgbsps_set(LED_IND_NUM, COLOR_BLANK); + rgbsps_set(LED_IND_PUNC, COLOR_BLANK); + rgbsps_set(LED_IND_GREEK, COLOR_BLANK); + rgbsps_set(LED_IND_EMOJI, COLOR_BLANK); uint8_t layer = biton32(layer_state); if (oldlayer == layer) { @@ -571,71 +572,71 @@ void led_set_layer_indicator(void) { switch(layer) { case _GUI: - rgbsps_set(LED_IND_GUI, 15, 0, 15); + rgbsps_set(LED_IND_GUI, THEME_COLOR_GUI); break; case _FUN: - rgbsps_set(LED_IND_FUN, 15, 0, 0); + rgbsps_set(LED_IND_FUN, THEME_COLOR_FUN); break; case _NUM: - rgbsps_set(LED_IND_NUM, 0, 0, 15); + rgbsps_set(LED_IND_NUM, THEME_COLOR_NUM); break; case _PUNC: - rgbsps_set(LED_IND_PUNC, 0, 15, 0); + rgbsps_set(LED_IND_PUNC, THEME_COLOR_PUNC); break; case _GREEKL: case _GREEKU: - rgbsps_set(LED_IND_GREEK, 0, 15, 15); + rgbsps_set(LED_IND_GREEK, THEME_COLOR_GREEK); break; case _EMOJI: - rgbsps_set(LED_IND_EMOJI, 15, 15, 0); + rgbsps_set(LED_IND_EMOJI, THEME_COLOR_EMOJI); break; default: - rgbsps_set(LED_IND_GUI, 3, 3, 3); - rgbsps_set(LED_IND_FUN, 3, 3, 3); - rgbsps_set(LED_IND_NUM, 3, 3, 3); - rgbsps_set(LED_IND_PUNC, 3, 3, 3); - rgbsps_set(LED_IND_GREEK, 3, 3, 3); - rgbsps_set(LED_IND_EMOJI, 3, 3, 3); + rgbsps_set(LED_IND_GUI, THEME_COLOR_OTHERLAYER); + rgbsps_set(LED_IND_FUN, THEME_COLOR_OTHERLAYER); + rgbsps_set(LED_IND_NUM, THEME_COLOR_OTHERLAYER); + rgbsps_set(LED_IND_PUNC, THEME_COLOR_OTHERLAYER); + rgbsps_set(LED_IND_GREEK, THEME_COLOR_OTHERLAYER); + rgbsps_set(LED_IND_EMOJI, THEME_COLOR_OTHERLAYER); } rgbsps_send(); } void led_set_unicode_input_mode(void) { - rgbsps_set(LED_IND_LINUX, 0, 0, 0); - rgbsps_set(LED_IND_APPLE, 0, 0, 0); - rgbsps_set(LED_IND_WINDOWS, 0, 0, 0); + rgbsps_set(LED_IND_LINUX, COLOR_BLANK); + rgbsps_set(LED_IND_APPLE, COLOR_BLANK); + rgbsps_set(LED_IND_WINDOWS, COLOR_BLANK); switch (get_unicode_input_mode()) { case UC_LNX: - rgbsps_set(LED_IND_LINUX, 15, 15, 15); + rgbsps_set(LED_IND_LINUX, THEME_COLOR_LINUX); break; case UC_OSX: - rgbsps_set(LED_IND_APPLE, 15, 15, 15); + rgbsps_set(LED_IND_APPLE, THEME_COLOR_APPLE); break; case UC_WIN: case UC_WINC: - rgbsps_set(LED_IND_WINDOWS, 15, 15, 15); + rgbsps_set(LED_IND_WINDOWS, THEME_COLOR_WINDOWS); break; } rgbsps_send(); } void led_set_output_ble(void) { - rgbsps_set(LED_IND_BLUETOOTH, 0, 0, 15); - rgbsps_set(LED_IND_USB, 0, 0, 0); + rgbsps_set(LED_IND_BLUETOOTH, THEME_COLOR_BLUETOOTH); + rgbsps_set(LED_IND_USB, COLOR_BLANK); rgbsps_send(); } void led_set_output_usb(void) { - rgbsps_set(LED_IND_BLUETOOTH, 0, 0, 0); - rgbsps_set(LED_IND_USB, 15, 15, 15); + rgbsps_set(LED_IND_BLUETOOTH, COLOR_BLANK); + rgbsps_set(LED_IND_USB, THEME_COLOR_USB); rgbsps_send(); } void led_set_output_none(void) { - rgbsps_set(LED_IND_BLUETOOTH, 0, 0, 0); - rgbsps_set(LED_IND_USB, 0, 0, 0); + rgbsps_set(LED_IND_BLUETOOTH, COLOR_BLANK); + rgbsps_set(LED_IND_USB, COLOR_BLANK); rgbsps_send(); } @@ -644,9 +645,9 @@ void led_init(void) { rgbsps_turnoff(); // set trackpoint color - rgbsps_set(LED_TRACKPOINT1, 15, 0, 0); - rgbsps_set(LED_TRACKPOINT2, 0, 0, 15); - rgbsps_set(LED_TRACKPOINT3, 15, 0, 0); + rgbsps_set(LED_TRACKPOINT1, THEME_COLOR_TP1); + rgbsps_set(LED_TRACKPOINT2, THEME_COLOR_TP2); + rgbsps_set(LED_TRACKPOINT3, THEME_COLOR_TP3); // unicode input mode led_set_unicode_input_mode(); @@ -658,9 +659,9 @@ void led_init(void) { // clicky #ifdef FAUXCLICKY_ENABLE if (fauxclicky_enabled) { - rgbsps_set(LED_IND_AUDIO, 5, 11, 13); + rgbsps_set(LED_IND_AUDIO, THEME_COLOR_AUDIO); } else { - rgbsps_set(LED_IND_AUDIO, 0, 0, 0); + rgbsps_set(LED_IND_AUDIO, COLOR_BLANK); } #endif @@ -1244,9 +1245,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case FC_TOG: #ifdef RGBSPS_ENABLE if (fauxclicky_enabled) { - rgbsps_set(LED_IND_AUDIO, 5, 11, 13); + rgbsps_set(LED_IND_AUDIO, THEME_COLOR_AUDIO); } else { - rgbsps_set(LED_IND_AUDIO, 0, 0, 0); + rgbsps_set(LED_IND_AUDIO, COLOR_BLANK); } rgbsps_send(); #endif @@ -1320,9 +1321,9 @@ void turn_off_capslock() { bool new_capslock = usb_led & (1< Date: Sun, 30 Apr 2017 10:48:17 -0400 Subject: fixes s60_x keyboard --- keyboards/s60-x/Makefile | 5 - keyboards/s60-x/config.h | 46 - keyboards/s60-x/default/Makefile | 3 - keyboards/s60-x/default/config.h | 25 - keyboards/s60-x/default/default.c | 28 - keyboards/s60-x/default/default.h | 69 -- keyboards/s60-x/default/rules.mk | 9 - keyboards/s60-x/keymaps/ansi_qwertz/Makefile | 21 - keyboards/s60-x/keymaps/ansi_qwertz/config.h | 14 - .../docs/KB_US-International-Alternative.png | Bin 54748 -> 0 bytes .../docs/KB_US-International-Alternative.svg | 1046 ------------------- ...ional-Alternative.svg.2016_08_18_09_06_36.0.svg | 1049 -------------------- .../ansi_qwertz/docs/KB_US-International.png | Bin 54041 -> 0 bytes .../ansi_qwertz/docs/KB_US-International.svg | 935 ----------------- .../s60-x/keymaps/ansi_qwertz/docs/base_layer.PNG | Bin 29411 -> 0 bytes .../keymaps/ansi_qwertz/docs/function_layer.PNG | Bin 25567 -> 0 bytes .../keymaps/ansi_qwertz/docs/gaming_layer.PNG | Bin 17895 -> 0 bytes keyboards/s60-x/keymaps/ansi_qwertz/keymap.c | 237 ----- keyboards/s60-x/keymaps/ansi_qwertz/readme.md | 94 -- keyboards/s60-x/keymaps/custom/keymap.c | 28 - keyboards/s60-x/keymaps/custom/readme.md | 15 - keyboards/s60-x/keymaps/dbroqua/keymap.c | 194 ---- keyboards/s60-x/keymaps/default/keymap.c | 48 - keyboards/s60-x/keymaps/default/readme.md | 27 - keyboards/s60-x/keymaps/hasu/keymap.c | 182 ---- keyboards/s60-x/keymaps/hasu/readme.md | 4 - keyboards/s60-x/keymaps/hhkb/keymap.c | 52 - keyboards/s60-x/keymaps/hhkb/readme.md | 26 - keyboards/s60-x/keymaps/iso/keymap.c | 48 - keyboards/s60-x/keymaps/iso/readme.md | 28 - keyboards/s60-x/keymaps/jpec/keymap.c | 92 -- keyboards/s60-x/keymaps/jpec/readme.md | 1 - keyboards/s60-x/keymaps/plain/keymap.c | 25 - keyboards/s60-x/keymaps/plain/readme.md | 16 - keyboards/s60-x/keymaps/poker/keymap.c | 180 ---- keyboards/s60-x/keymaps/poker/readme.md | 31 - keyboards/s60-x/keymaps/poker_bit/keymap.c | 110 -- keyboards/s60-x/keymaps/poker_bit/readme.md | 31 - keyboards/s60-x/keymaps/poker_set/keymap.c | 178 ---- keyboards/s60-x/keymaps/poker_set/readme.md | 31 - keyboards/s60-x/keymaps/spacefn/keymap.c | 55 - keyboards/s60-x/keymaps/spacefn/readme.md | 27 - keyboards/s60-x/readme.md | 260 ----- keyboards/s60-x/rgb/Makefile | 3 - keyboards/s60-x/rgb/config.h | 38 - keyboards/s60-x/rgb/rgb.c | 1 - keyboards/s60-x/rgb/rgb.h | 37 - keyboards/s60-x/rgb/rules.mk | 9 - keyboards/s60-x/rules.mk | 65 -- keyboards/s60-x/s60-x.c | 1 - keyboards/s60-x/s60-x.h | 13 - keyboards/s60-x/s60-x_precompiled.zip | Bin 276106 -> 0 bytes keyboards/s60_x/Makefile | 5 + keyboards/s60_x/config.h | 59 ++ keyboards/s60_x/default/Makefile | 3 + keyboards/s60_x/default/config.h | 25 + keyboards/s60_x/default/default.c | 28 + keyboards/s60_x/default/default.h | 69 ++ keyboards/s60_x/default/rules.mk | 9 + keyboards/s60_x/keymaps/ansi_qwertz/Makefile | 21 + keyboards/s60_x/keymaps/ansi_qwertz/config.h | 14 + .../docs/KB_US-International-Alternative.png | Bin 0 -> 54748 bytes .../docs/KB_US-International-Alternative.svg | 1046 +++++++++++++++++++ ...ional-Alternative.svg.2016_08_18_09_06_36.0.svg | 1049 ++++++++++++++++++++ .../ansi_qwertz/docs/KB_US-International.png | Bin 0 -> 54041 bytes .../ansi_qwertz/docs/KB_US-International.svg | 935 +++++++++++++++++ .../s60_x/keymaps/ansi_qwertz/docs/base_layer.PNG | Bin 0 -> 29411 bytes .../keymaps/ansi_qwertz/docs/function_layer.PNG | Bin 0 -> 25567 bytes .../keymaps/ansi_qwertz/docs/gaming_layer.PNG | Bin 0 -> 17895 bytes keyboards/s60_x/keymaps/ansi_qwertz/keymap.c | 237 +++++ keyboards/s60_x/keymaps/ansi_qwertz/readme.md | 94 ++ keyboards/s60_x/keymaps/custom/keymap.c | 28 + keyboards/s60_x/keymaps/custom/readme.md | 15 + keyboards/s60_x/keymaps/dbroqua/keymap.c | 205 ++++ keyboards/s60_x/keymaps/default/keymap.c | 48 + keyboards/s60_x/keymaps/default/readme.md | 27 + keyboards/s60_x/keymaps/hasu/keymap.c | 182 ++++ keyboards/s60_x/keymaps/hasu/readme.md | 4 + keyboards/s60_x/keymaps/hhkb/keymap.c | 52 + keyboards/s60_x/keymaps/hhkb/readme.md | 26 + keyboards/s60_x/keymaps/iso/keymap.c | 48 + keyboards/s60_x/keymaps/iso/readme.md | 28 + keyboards/s60_x/keymaps/jpec/keymap.c | 92 ++ keyboards/s60_x/keymaps/jpec/readme.md | 1 + keyboards/s60_x/keymaps/plain/keymap.c | 25 + keyboards/s60_x/keymaps/plain/readme.md | 16 + keyboards/s60_x/keymaps/poker/keymap.c | 180 ++++ keyboards/s60_x/keymaps/poker/readme.md | 31 + keyboards/s60_x/keymaps/poker_bit/keymap.c | 110 ++ keyboards/s60_x/keymaps/poker_bit/readme.md | 31 + keyboards/s60_x/keymaps/poker_set/keymap.c | 178 ++++ keyboards/s60_x/keymaps/poker_set/readme.md | 31 + keyboards/s60_x/keymaps/spacefn/keymap.c | 55 + keyboards/s60_x/keymaps/spacefn/readme.md | 27 + keyboards/s60_x/readme.md | 255 +++++ keyboards/s60_x/rgb/Makefile | 3 + keyboards/s60_x/rgb/config.h | 32 + keyboards/s60_x/rgb/rgb.c | 1 + keyboards/s60_x/rgb/rgb.h | 37 + keyboards/s60_x/rgb/rules.mk | 9 + keyboards/s60_x/rules.mk | 65 ++ keyboards/s60_x/s60_x.c | 1 + keyboards/s60_x/s60_x.h | 13 + 103 files changed, 5450 insertions(+), 5437 deletions(-) delete mode 100644 keyboards/s60-x/Makefile delete mode 100644 keyboards/s60-x/config.h delete mode 100644 keyboards/s60-x/default/Makefile delete mode 100644 keyboards/s60-x/default/config.h delete mode 100644 keyboards/s60-x/default/default.c delete mode 100644 keyboards/s60-x/default/default.h delete mode 100644 keyboards/s60-x/default/rules.mk delete mode 100644 keyboards/s60-x/keymaps/ansi_qwertz/Makefile delete mode 100644 keyboards/s60-x/keymaps/ansi_qwertz/config.h delete mode 100644 keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.png delete mode 100644 keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg delete mode 100644 keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg.2016_08_18_09_06_36.0.svg delete mode 100644 keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International.png delete mode 100644 keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International.svg delete mode 100644 keyboards/s60-x/keymaps/ansi_qwertz/docs/base_layer.PNG delete mode 100644 keyboards/s60-x/keymaps/ansi_qwertz/docs/function_layer.PNG delete mode 100644 keyboards/s60-x/keymaps/ansi_qwertz/docs/gaming_layer.PNG delete mode 100644 keyboards/s60-x/keymaps/ansi_qwertz/keymap.c delete mode 100644 keyboards/s60-x/keymaps/ansi_qwertz/readme.md delete mode 100644 keyboards/s60-x/keymaps/custom/keymap.c delete mode 100644 keyboards/s60-x/keymaps/custom/readme.md delete mode 100644 keyboards/s60-x/keymaps/dbroqua/keymap.c delete mode 100644 keyboards/s60-x/keymaps/default/keymap.c delete mode 100644 keyboards/s60-x/keymaps/default/readme.md delete mode 100644 keyboards/s60-x/keymaps/hasu/keymap.c delete mode 100644 keyboards/s60-x/keymaps/hasu/readme.md delete mode 100644 keyboards/s60-x/keymaps/hhkb/keymap.c delete mode 100644 keyboards/s60-x/keymaps/hhkb/readme.md delete mode 100644 keyboards/s60-x/keymaps/iso/keymap.c delete mode 100644 keyboards/s60-x/keymaps/iso/readme.md delete mode 100644 keyboards/s60-x/keymaps/jpec/keymap.c delete mode 100644 keyboards/s60-x/keymaps/jpec/readme.md delete mode 100644 keyboards/s60-x/keymaps/plain/keymap.c delete mode 100644 keyboards/s60-x/keymaps/plain/readme.md delete mode 100644 keyboards/s60-x/keymaps/poker/keymap.c delete mode 100644 keyboards/s60-x/keymaps/poker/readme.md delete mode 100644 keyboards/s60-x/keymaps/poker_bit/keymap.c delete mode 100644 keyboards/s60-x/keymaps/poker_bit/readme.md delete mode 100644 keyboards/s60-x/keymaps/poker_set/keymap.c delete mode 100644 keyboards/s60-x/keymaps/poker_set/readme.md delete mode 100644 keyboards/s60-x/keymaps/spacefn/keymap.c delete mode 100644 keyboards/s60-x/keymaps/spacefn/readme.md delete mode 100644 keyboards/s60-x/readme.md delete mode 100644 keyboards/s60-x/rgb/Makefile delete mode 100644 keyboards/s60-x/rgb/config.h delete mode 100644 keyboards/s60-x/rgb/rgb.c delete mode 100644 keyboards/s60-x/rgb/rgb.h delete mode 100644 keyboards/s60-x/rgb/rules.mk delete mode 100644 keyboards/s60-x/rules.mk delete mode 100644 keyboards/s60-x/s60-x.c delete mode 100644 keyboards/s60-x/s60-x.h delete mode 100644 keyboards/s60-x/s60-x_precompiled.zip create mode 100644 keyboards/s60_x/Makefile create mode 100644 keyboards/s60_x/config.h create mode 100644 keyboards/s60_x/default/Makefile create mode 100644 keyboards/s60_x/default/config.h create mode 100644 keyboards/s60_x/default/default.c create mode 100644 keyboards/s60_x/default/default.h create mode 100644 keyboards/s60_x/default/rules.mk create mode 100644 keyboards/s60_x/keymaps/ansi_qwertz/Makefile create mode 100644 keyboards/s60_x/keymaps/ansi_qwertz/config.h create mode 100644 keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.png create mode 100644 keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg create mode 100644 keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg.2016_08_18_09_06_36.0.svg create mode 100644 keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International.png create mode 100644 keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International.svg create mode 100644 keyboards/s60_x/keymaps/ansi_qwertz/docs/base_layer.PNG create mode 100644 keyboards/s60_x/keymaps/ansi_qwertz/docs/function_layer.PNG create mode 100644 keyboards/s60_x/keymaps/ansi_qwertz/docs/gaming_layer.PNG create mode 100644 keyboards/s60_x/keymaps/ansi_qwertz/keymap.c create mode 100644 keyboards/s60_x/keymaps/ansi_qwertz/readme.md create mode 100644 keyboards/s60_x/keymaps/custom/keymap.c create mode 100644 keyboards/s60_x/keymaps/custom/readme.md create mode 100644 keyboards/s60_x/keymaps/dbroqua/keymap.c create mode 100644 keyboards/s60_x/keymaps/default/keymap.c create mode 100644 keyboards/s60_x/keymaps/default/readme.md create mode 100644 keyboards/s60_x/keymaps/hasu/keymap.c create mode 100644 keyboards/s60_x/keymaps/hasu/readme.md create mode 100644 keyboards/s60_x/keymaps/hhkb/keymap.c create mode 100644 keyboards/s60_x/keymaps/hhkb/readme.md create mode 100644 keyboards/s60_x/keymaps/iso/keymap.c create mode 100644 keyboards/s60_x/keymaps/iso/readme.md create mode 100644 keyboards/s60_x/keymaps/jpec/keymap.c create mode 100644 keyboards/s60_x/keymaps/jpec/readme.md create mode 100644 keyboards/s60_x/keymaps/plain/keymap.c create mode 100644 keyboards/s60_x/keymaps/plain/readme.md create mode 100644 keyboards/s60_x/keymaps/poker/keymap.c create mode 100644 keyboards/s60_x/keymaps/poker/readme.md create mode 100644 keyboards/s60_x/keymaps/poker_bit/keymap.c create mode 100644 keyboards/s60_x/keymaps/poker_bit/readme.md create mode 100644 keyboards/s60_x/keymaps/poker_set/keymap.c create mode 100644 keyboards/s60_x/keymaps/poker_set/readme.md create mode 100644 keyboards/s60_x/keymaps/spacefn/keymap.c create mode 100644 keyboards/s60_x/keymaps/spacefn/readme.md create mode 100644 keyboards/s60_x/readme.md create mode 100644 keyboards/s60_x/rgb/Makefile create mode 100644 keyboards/s60_x/rgb/config.h create mode 100644 keyboards/s60_x/rgb/rgb.c create mode 100644 keyboards/s60_x/rgb/rgb.h create mode 100644 keyboards/s60_x/rgb/rules.mk create mode 100644 keyboards/s60_x/rules.mk create mode 100644 keyboards/s60_x/s60_x.c create mode 100644 keyboards/s60_x/s60_x.h diff --git a/keyboards/s60-x/Makefile b/keyboards/s60-x/Makefile deleted file mode 100644 index 879e493a21..0000000000 --- a/keyboards/s60-x/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -SUBPROJECT_DEFAULT = default - -ifndef MAKEFILE_INCLUDED - include ../../Makefile -endif \ No newline at end of file diff --git a/keyboards/s60-x/config.h b/keyboards/s60-x/config.h deleted file mode 100644 index 8e7bc78be2..0000000000 --- a/keyboards/s60-x/config.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -Copyright 2012 Jun Wako -Copyright 2016 Julien Pecqueur -Copyright 2016 Felix Uhl - -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 . -*/ - -#ifndef CONFIG_H -#define CONFIG_H - -#include "config_common.h" - -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Massdrop - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 15 - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCING_DELAY 5 - -/* key combination for command */ -#define IS_COMMAND() ( \ - keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ -) - -#endif diff --git a/keyboards/s60-x/default/Makefile b/keyboards/s60-x/default/Makefile deleted file mode 100644 index 191c6bb664..0000000000 --- a/keyboards/s60-x/default/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifndef MAKEFILE_INCLUDED - include ../../../Makefile -endif \ No newline at end of file diff --git a/keyboards/s60-x/default/config.h b/keyboards/s60-x/default/config.h deleted file mode 100644 index 436c6fa8b6..0000000000 --- a/keyboards/s60-x/default/config.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef DEFAULT_CONFIG_H -#define DEFAULT_CONFIG_H - -#include "../config.h" - -#define PRODUCT S60-X -#define DESCRIPTION q.m.k. keyboard firmware for S60-X - -#define MATRIX_ROW_PINS { B7, B3, B2, B1, B0 } -#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, E6, F1 } -#define UNUSED_PINS { F0 } - -#define LOCKING_SUPPORT_ENABLE -#define LOCKING_RESYNC_ENABLE - -/* key combination for magic key command */ -#define IS_COMMAND() ( \ - keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ -) - -#define NO_ACTION_ONESHOT -#define NO_ACTION_MACRO -#define NO_ACTION_FUNCTION - -#endif diff --git a/keyboards/s60-x/default/default.c b/keyboards/s60-x/default/default.c deleted file mode 100644 index 253f5495c2..0000000000 --- a/keyboards/s60-x/default/default.c +++ /dev/null @@ -1,28 +0,0 @@ -#include "default.h" - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - - matrix_init_user(); -} - -void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) - - matrix_scan_user(); -} - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware - - return process_record_user(keycode, record); -} - -void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here - - led_set_user(usb_led); -} diff --git a/keyboards/s60-x/default/default.h b/keyboards/s60-x/default/default.h deleted file mode 100644 index 86233ef7e0..0000000000 --- a/keyboards/s60-x/default/default.h +++ /dev/null @@ -1,69 +0,0 @@ -/* -Copyright 2012,2013 Jun Wako -Copyright 2015 Vin�cius Nery Cordeiro -Copyright 2016 Felix Uhl - -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 . -*/ - -#ifndef DEFAULT_H -#define DEFAULT_H - -#include "quantum.h" - -#ifdef __INTELLISENSE__ -#define PROGMEM -#include "../config.h" -#endif - -/* S60-X keymap definition macro -* K31 is the extra key next to short left ISO shift -* K2C is the moved key next to enter on ISO boards -* K3C is the extra key next to short right JIS shift -* K0D is extra key from split backspace -* K3E is extra key from HHKB-style split right shift -*/ - -#define KEYMAP( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ - K40, K41, K42, K46, K4A, K4B, K4C, K4D \ -) { \ - { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ - { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \ - { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO }, \ - { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ - { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, KC_NO } \ -} - -/*This special definition is used for S60-X keymaps that were ported from TMK - * QMK has a lot of keycodes that don't start with KC_, so using the regular KEYMAP macro is recommended - */ -#define LEGACY_KEYMAP( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ - K40, K41, K42, K46, K4A, K4B, K4C, K4D \ -) { \ - { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K0C, KC_##K0D, KC_##K0E }, \ - { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K1C, KC_##K1D, KC_NO }, \ - { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D, KC_NO }, \ - { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K3C, KC_##K3D, KC_##K3E }, \ - { KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_NO, KC_NO, KC_##K46, KC_NO, KC_NO, KC_NO, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D, KC_NO } \ -} - -#endif \ No newline at end of file diff --git a/keyboards/s60-x/default/rules.mk b/keyboards/s60-x/default/rules.mk deleted file mode 100644 index aaa3764df6..0000000000 --- a/keyboards/s60-x/default/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -CONSOLE_ENABLE ?= no # Console for debug(+400) -COMMAND_ENABLE ?= no # Commands for debug and configuration -NKRO_ENABLE ?= no # USB 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 -RGBLIGHT_ENABLE ?= no - -ifndef QUANTUM_DIR - include ../../../Makefile -endif \ No newline at end of file diff --git a/keyboards/s60-x/keymaps/ansi_qwertz/Makefile b/keyboards/s60-x/keymaps/ansi_qwertz/Makefile deleted file mode 100644 index 6a078bcc3f..0000000000 --- a/keyboards/s60-x/keymaps/ansi_qwertz/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically -# -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE = no # Mouse keys(+4700) -EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = yes # Console for debug(+400) -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 = no # Enable keyboard backlight functionality -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. Do not enable this with audio at the same time. -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - -ifndef QUANTUM_DIR - include ../../../../Makefile -endif \ No newline at end of file diff --git a/keyboards/s60-x/keymaps/ansi_qwertz/config.h b/keyboards/s60-x/keymaps/ansi_qwertz/config.h deleted file mode 100644 index 6c01d579f8..0000000000 --- a/keyboards/s60-x/keymaps/ansi_qwertz/config.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H - -#include "../../config.h" - -// keymap needs oneshot functionality -#undef NO_ACTION_ONESHOT - -#undef IS_COMMAND -#define IS_COMMAND() ( \ - keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ -) - -#endif \ No newline at end of file diff --git a/keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.png b/keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.png deleted file mode 100644 index 168780c824..0000000000 Binary files a/keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.png and /dev/null differ diff --git a/keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg b/keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg deleted file mode 100644 index f03858993e..0000000000 --- a/keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg +++ /dev/null @@ -1,1046 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Shift - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ˝ - ¯ - ˛ - ˘ - o - . - ˇ - ˙ - - - diff --git a/keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg.2016_08_18_09_06_36.0.svg b/keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg.2016_08_18_09_06_36.0.svg deleted file mode 100644 index 2304b2a4c3..0000000000 --- a/keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg.2016_08_18_09_06_36.0.svg +++ /dev/null @@ -1,1049 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Shift - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ˝ - ¯ - ˛ - ˘ - o - . - ˇ - ˙ - - - diff --git a/keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International.png b/keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International.png deleted file mode 100644 index 875eb3652f..0000000000 Binary files a/keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International.png and /dev/null differ diff --git a/keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International.svg b/keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International.svg deleted file mode 100644 index 1ca6a9c872..0000000000 --- a/keyboards/s60-x/keymaps/ansi_qwertz/docs/KB_US-International.svg +++ /dev/null @@ -1,935 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Shift - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/keyboards/s60-x/keymaps/ansi_qwertz/docs/base_layer.PNG b/keyboards/s60-x/keymaps/ansi_qwertz/docs/base_layer.PNG deleted file mode 100644 index c730c2d65a..0000000000 Binary files a/keyboards/s60-x/keymaps/ansi_qwertz/docs/base_layer.PNG and /dev/null differ diff --git a/keyboards/s60-x/keymaps/ansi_qwertz/docs/function_layer.PNG b/keyboards/s60-x/keymaps/ansi_qwertz/docs/function_layer.PNG deleted file mode 100644 index fae2439cab..0000000000 Binary files a/keyboards/s60-x/keymaps/ansi_qwertz/docs/function_layer.PNG and /dev/null differ diff --git a/keyboards/s60-x/keymaps/ansi_qwertz/docs/gaming_layer.PNG b/keyboards/s60-x/keymaps/ansi_qwertz/docs/gaming_layer.PNG deleted file mode 100644 index 59b202be2b..0000000000 Binary files a/keyboards/s60-x/keymaps/ansi_qwertz/docs/gaming_layer.PNG and /dev/null differ diff --git a/keyboards/s60-x/keymaps/ansi_qwertz/keymap.c b/keyboards/s60-x/keymaps/ansi_qwertz/keymap.c deleted file mode 100644 index 317a245bef..0000000000 --- a/keyboards/s60-x/keymaps/ansi_qwertz/keymap.c +++ /dev/null @@ -1,237 +0,0 @@ -/* -Copyright 2016 Julien Pecqueur -Copyright 2016 Felix Uhl - -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 . -*/ - -#include "s60-x.h" - -//make keymap a little easier to read -#define _______ KC_TRNS -#define XXXXXXX KC_NO - -#define ONESHOT_TAP_TOGGLE 2 -#define ONESHOT_TIMEOUT 1 - -//uncomment to activate dead keys -//#define DONT_REVIVE_DEADKEYS 1 - -//Function keycodes for better readability -//SpaceFN -//OneShot LeftShift -//GamingMode Lock (disables SpaceFn and OneShot LShift) -//Function -//Mute microphone -#define KC_SPACEFN KC_FN0 -#define KC_OSLS KC_FN3 -#define KC_GMLK KC_FN1 -#define KC_FUNC KC_FN2 -#define MICMUTE RCTL(KC_LCTL) - -enum function_codes { - F_SPACEFN = 0, - F_OSLS = 3, - F_GMLK = 1, - F_FUNC = 2 -}; - -enum layer_names { - DEFAULT, - GAMING, - FUNCTION -}; - -enum languages { - GERMAN -}; - -#define LANGUAGE GERMAN - -enum custom_keycodes { - KC_CM_A = SAFE_RANGE, -// KC_CM_B, - KC_CM_C, -// KC_CM_D, - KC_CM_E, -// KC_CM_F, - KC_CM_G, -// KC_CM_H, - KC_CM_I, -// KC_CM_J, - KC_CM_K, - KC_CM_L, - KC_CM_M, - KC_CM_N, - KC_CM_O, - KC_CM_P, -// KC_CM_Q, - KC_CM_R, - KC_CM_S, -// KC_CM_T, - KC_CM_U, -// KC_CM_V, - KC_CM_W, -// KC_CM_X, - KC_CM_Y, - KC_CM_Z -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Layout 0: Default Layer - * ,-----------------------------------------------------------. - * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \|Del| - * |-----------------------------------------------------------| - * |Tab | Q| W| E| R| T| Z| U| I| O| P| [| ]|BckSp| - * |-----------------------------------------------------------| - * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return | - * |-----------------------------------------------------------| - * |Shift | Y| X| C| V| B| N| M| ,| .| /| Up |RSft| - * |-----------------------------------------------------------| - * |Fn2 |Gui |Alt | SpaceFn |Alt |Left|Down|Right| - * `-----------------------------------------------------------' - */ - [DEFAULT] = KEYMAP( - 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_DEL, \ - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \ - KC_LCTL, 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_LSFT, KC_NUBS, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_UP, KC_RSFT, \ - KC_FUNC, KC_LGUI, KC_LALT, KC_SPACEFN, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT - ), - - /* Layout 1: Gaming Layer, SpaceFn disabled - * ,-----------------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| - * | | | | | | | | | | | | | | | - * |-----------------------------------------------------------| - * | | | | | | | | | | | | | | - * |-----------------------------------------------------------| - * | | | | | | | | | | | | |Fn1 | - * |-----------------------------------------------------------| - * | |RSft| | Space | | | | | - * `-----------------------------------------------------------' - */ - [GAMING] = KEYMAP( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GMLK, \ - _______, KC_RSFT, _______, KC_SPC, _______, _______, _______, _______ - ), - - /* Layout 2: Function Layer - * MicMute requires special software to be installed. Check readme.md for more information - * ,-----------------------------------------------------------. - * |` | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|RES| - * |-----------------------------------------------------------| - * | | | | |Prv|Ply|Nxt| | | | |Prt|Slk|Pau | - * |-----------------------------------------------------------| - * | | | | |Vl-|Mut|Vl+| | | | | |PEnt | - * |-----------------------------------------------------------| - * | | | | |MicMut|Cal| | | | |Pau |PUp |Fn1 | - * |-----------------------------------------------------------| - * | | | | | |Home|PDn |End | - * `-----------------------------------------------------------' - */ - [FUNCTION] = KEYMAP( - 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_INS, RESET, \ - _______, _______, KC_CM_W, KC_CM_E, KC_MPRV, KC_MPLY, KC_MNXT, KC_CM_U, KC_CM_I, KC_CM_O, KC_CM_P, KC_PSCR, KC_SLCK, KC_PAUS, \ - _______, KC_CM_A, KC_CM_S, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_CM_K, KC_CM_L, _______, _______, _______, KC_PENT, \ - _______, _______, KC_CM_Y, _______, KC_CM_C, MICMUTE, KC_CALC, KC_CM_N, KC_CM_M, _______, _______, _______, _______, KC_PGUP, KC_GMLK, \ - _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END - ), -}; - -/* -* Fn action definition -*/ -const uint16_t PROGMEM fn_actions[] = { - [F_SPACEFN] = ACTION_LAYER_TAP_KEY(2, KC_SPACE), // SpaceFn layout 1 - [F_GMLK] = ACTION_LAYER_TOGGLE(1), // Disable SpaceFn and Oneshot Shift - [F_FUNC] = ACTION_LAYER_MOMENTARY(2), // SpaceFn layout 1 - [F_OSLS] = ACTION_MODS_ONESHOT(MOD_LSFT) // Oneshot Leftshift -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - return MACRO_NONE; -}; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_german(uint16_t keycode, keyrecord_t *record) { - uint16_t send_code = 0; - if (record->event.pressed) { - switch (keycode) { - case KC_CM_A: - send_code = KC_Q; - break; - case KC_CM_O: - send_code = KC_P; - break; - case KC_CM_U: - send_code = KC_Y; - break; - case KC_CM_S: - send_code = KC_S; - break; - } - - if (send_code == 0) { - return true; - } - else { - register_code(KC_RALT); - register_code(send_code); - unregister_code(send_code); - unregister_code(KC_RALT); - return false; - } - } - return true; -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - //revive dead keys -#ifndef DONT_REVIVE_DEADKEYS - bool shift_active = keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_LSFT)); - bool altgr_active = keyboard_report->mods & (MOD_BIT(KC_RALT)); - if ((keycode == KC_QUOT && !altgr_active) || - keycode == KC_GRV || - (keycode == KC_6 && shift_active)) - { - if (record->event.pressed) { - register_code(keycode); - unregister_code(keycode); - register_code(KC_SPACE); - unregister_code(KC_SPACE); - } - return false; - } -#endif -#if LANGUAGE == GERMAN - return process_german(keycode, record); -#else - return true; -#endif -} - -void led_set_user(uint8_t usb_led) { - -} \ No newline at end of file diff --git a/keyboards/s60-x/keymaps/ansi_qwertz/readme.md b/keyboards/s60-x/keymaps/ansi_qwertz/readme.md deleted file mode 100644 index b220106121..0000000000 --- a/keyboards/s60-x/keymaps/ansi_qwertz/readme.md +++ /dev/null @@ -1,94 +0,0 @@ -# ANSI_QWERTZ - -[Click here to go to the layers directly.](readme.md#1-layers) - -This keymap was specifically designed to support keycaps with ANSI layout and legends, while retaining the possibility of inputting characters -with diacritics that are normally not used in the english language. - -It currently relies on the US-International keyboard layout, which can be installed in any current operating system without the use of third party hardware. - -##0 Features -* Input of letters with diacritics on familiar QWERTZ layout -* Support for ANSI-legend keycaps -* Option to "revive" all dead keys -* Dedicated arrow cluster -* SpaceFN for easy access to Function keys and diacritic input -* Locking "Gaming Mode" that disables SpaceFN and allows to bind GUI key in Games -* Reset key binding, no need to press hardware reset button to program -* Microphone Mute key (requires 3rd-party software, see below) - -###0.0 Languages -The US-International Layout is currently required for the support of non-english languages. This keymap swaps Y and Z to provide the familiar QWERTZ position for characters when using that layout. -All diacritic characters are input by either holding `Space` or `Fn` and pressing the corresponding key. For languages that aren't yet supported explicitly, -one can also use AltGr to input the characters as intended by the US-Intl layout or the dead keys, if they're kept from being [revived](readme.md#04-revive-dead-keys). - -The illustration below shows the "US International" layout available in the Language settings of Windows, Linux and Mac OS. - -![KB_US-International](docs/KB_US-International.png) - -Not all languages are supported by this layout. Linux also offers the "US International Alternative" layout, -which contains more dead keys to input pretty much every diacritic character in a language using latin letters. More information can be found [here](http://web.archive.org/web/20160818101234/http://dry.sailingissues.com/us-international-keyboard-layout.html). - -![KB_US-International-Alternative](docs/KB_US-International-Alternative.png) - -####0.0.0 Explicitly Supported Languages -* German - -####0.0.1 Implicitly Supported Languages -This list only applies to Windows. Linux systems support all languages, see above. This list might be incomplete! Please add your language if you find it's supported. - -* French - -###0.1 SpaceFN -SpaceFN basically means that `Space` acts as a normal spacebar when tapped, but acts as a layer-key when held down. -This means that you can't hold space to output multiple spaces consecutively and that space only registers once released. -The advantage is that the spacebar is easier to reach than any other `Fn`-key could be. - -###0.2 "Gaming Mode" -To alleviate the problems SpaceFN would cause when gaming, the Gaming Mode is pretty much a layer that can be turned on by pressing Fn+RShift. -This will turn the double-role Spacebar into a normal one, so the Fn-layer (and thus function and media keys) can only be accessed with the Fn-key. -It also turns the GUI-key (aka Win-key aka Super-key) into Right Shift, so it can be bound in Games. This is especially useful when playing with ESDF instead of WASD. - -###0.3 Mute Microphone -The function layer has a "Mute Microphone"-key. As this is not an existing media key and you can't normally set a shortcut to this function, -you need to set this up in software before using it, see below. This key is bound to `RCtrl+LCtrl`, a keycombination that -no other program in existence uses for anything, at least to my knowledge. It also can't be pressed with this keymap in any other way. - -####0.3.0 Linux -Follow [these instructions](http://askubuntu.com/a/13364). - -#####0.3.1 Windows (Requires 3rd Party Software) -*DISCLAIMER: I take no responsibility for any potential harm caused by third party applications!* - -You'll need a utility called "MicMute". It is available on [Sourceforge](https://sourceforge.net/projects/micmute/). -After installing and running the tool, you only need to use the "Setup Shortcut" option to bind the key to muting the microphone -and check whether your microphone is selected under "Devices". - -###0.4 Revive Dead Keys -Some diacritics that are commonly used are dead keys on the international layouts, for example `` ` ``, `'`, or `"`. -The dead keys on the regular international layout (shown in red [here](readme.md#00-languages)) are revived with this keymap by automatically inserting a space if one of those characters is typed. -If you don't want this to be the case, uncomment the following line in `keymap.c` prior to compiling: -``` -//#define DONT_REVIVE_DEADKEYS 1 -``` - -##1 Layers -###1.0 Base Layer -The base layer is shown here for ANSI keysm, HHKB-style right shift and split backspace. If you use a 2U backspace key there, `Del` will not be available. -Again, the Y and Z keys are swapped, so you get the QWERTZ-positions of Y and Z when using the US-International layout. - -![base_layer](docs/base_layer.PNG) - -###1.1 Gaming layer -To turn this layer on, please use the combination `Fn+RShift`, not `Space+RShift`. If you do the latter, the Function layer will become stuck. You can press `Fn` once to unstick it if this happens to you. A solution is being worked on. - -![gaming_layer](docs/gaming_layer.PNG) - -###1.2 Function Layer -This is the function layer for German diacritics. It can be accessed via the `Fn` or by holding `Space` on the base layer. - -![function_layer](docs/function_layer.PNG) - - - - diff --git a/keyboards/s60-x/keymaps/custom/keymap.c b/keyboards/s60-x/keymaps/custom/keymap.c deleted file mode 100644 index fb2a40b85e..0000000000 --- a/keyboards/s60-x/keymaps/custom/keymap.c +++ /dev/null @@ -1,28 +0,0 @@ -#include "s60-x.h" - -/* Main layer: Test layout, using all keys. - - 0 1 2 3 4 5 6 7 8 9 A B C D E - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - 0 │GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │PGUP │BKSPC│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - 1 │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - 2 │CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │PGDN │ENTER│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - 3 │LSHFT│HOME │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ END │RSHFT│ UP │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - 4 │LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│R_GUI│ APP │RCTRL│█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -*/ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: ANSI qwerty */ - LEGACY_KEYMAP(GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, PGUP, BSPC, \ - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ - CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, PGDN, ENT , \ - LSFT, HOME, Z, X, C, V, B, N, M, COMM, DOT, SLSH, END, RSFT, UP, \ - LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, RCTL), -}; -const uint16_t PROGMEM fn_actions[] = {}; - diff --git a/keyboards/s60-x/keymaps/custom/readme.md b/keyboards/s60-x/keymaps/custom/readme.md deleted file mode 100644 index cf87bd915f..0000000000 --- a/keyboards/s60-x/keymaps/custom/readme.md +++ /dev/null @@ -1,15 +0,0 @@ -### 8 Custom -The custom keymap - [keymap_custom.c](keymap_custom.c) - is where I tested all the switches, not being concerned with a specific layout or layers. It's a plain layout option with the extra keys used on ISO & HHKB layouts being assigned some other keys. - -#### 8.0 Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │PgUp │BkSpc│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │PgDwn│Enter│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Shift│Home │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ End │Shift│ Up │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60-x/keymaps/dbroqua/keymap.c b/keyboards/s60-x/keymaps/dbroqua/keymap.c deleted file mode 100644 index 0a714445ce..0000000000 --- a/keyboards/s60-x/keymaps/dbroqua/keymap.c +++ /dev/null @@ -1,194 +0,0 @@ -#include "s60-x.h" - -#define _DEFAULT 0 -#define _FN 1 -#define _SFX 2 - -// Fillers to make layering more clear -#define ______ KC_TRNS - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Qwerty gui/alt/space/alt/gui - * ,-----------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | - * |-----------------------------------------------------------------------------------------+ - * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | - * |-----------------------------------------------------------------------------------------+ - * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter | - * |-----------------------------------------------------------------------------------------+ - * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN | - * |-----------------------------------------------------------------------------------------+ - * |LGUI | LAlt | Space | RAlt |RGUI | - * `-----------------------------------------------------------------' - */ - [_DEFAULT] = KEYMAP( /* Basic QWERTY */ - 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, 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, KC_SLSH, ______, KC_RSFT, MO(_FN), \ - ______, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, ______, ______ \ - ), - -/* FN Layer - * ,-----------------------------------------------------------------------------------------. - * | SFX | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | - * |-----------------------------------------------------------------------------------------+ - * | CAPS | | | | | | | | Psc | Slck| Paus| Up | | | - * |-----------------------------------------------------------------------------------------+ - * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| | - * |-----------------------------------------------------------------------------------------+ - * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | | - * |-----------------------------------------------------------------------------------------+ - * | | | | Stop | | - * `-----------------------------------------------------------------' - */ - [_FN] = KEYMAP( /* Layer 1 */ - TG(_SFX),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_INS, KC_DEL, \ - KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, ______, \ - ______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT,______, ______, \ - ______, ______, KC_MPRV, KC_MPLY, KC_MNXT,______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN,______, ______, ______, \ - ______, ______, ______, ______, KC_MSTP, ______, ______, ______ \ - ), - - -/* SFX Layer - * ,-----------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | BL- | BL+ | BL | | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | RGBT| RGBM| | | | | | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | | - * |-----------------------------------------------------------------------------------------+ - * | | | | | | - * `-----------------------------------------------------------------' - */ - [_SFX] = KEYMAP( - ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ - ______, BL_TOGG,BL_STEP,BL_DEC, BL_INC, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ - ______, F(0), F(1), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ - ______, ______, F(2), F(3), F(4), F(5), F(6), F(7), ______, ______, ______, ______, ______, ______, ______, \ - ______, ______, ______, ______, ______, ______, ______, ______ \ - ) -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - keyevent_t event = record->event; - - switch (id) { - - } - return MACRO_NONE; -} - -enum function_id { - RGBLED_TOGGLE, - RGBLED_STEP_MODE, - RGBLED_INCREASE_HUE, - RGBLED_DECREASE_HUE, - RGBLED_INCREASE_SAT, - RGBLED_DECREASE_SAT, - RGBLED_INCREASE_VAL, - RGBLED_DECREASE_VAL -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(RGBLED_TOGGLE), - [1] = ACTION_FUNCTION(RGBLED_STEP_MODE), - [2] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), - [3] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), - [4] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), - [5] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), - [6] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), - [7] = ACTION_FUNCTION(RGBLED_DECREASE_VAL) -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - switch (id) { - case RGBLED_TOGGLE: - if (record->event.pressed) { - rgblight_toggle(); - } - break; - case RGBLED_INCREASE_HUE: - if (record->event.pressed) { - rgblight_increase_hue(); - } - break; - case RGBLED_DECREASE_HUE: - if (record->event.pressed) { - rgblight_decrease_hue(); - } - break; - case RGBLED_INCREASE_SAT: - if (record->event.pressed) { - rgblight_increase_sat(); - } - break; - case RGBLED_DECREASE_SAT: - if (record->event.pressed) { - rgblight_decrease_sat(); - } - break; - case RGBLED_INCREASE_VAL: - if (record->event.pressed) { - rgblight_increase_val(); - } - break; - case RGBLED_DECREASE_VAL: - if (record->event.pressed) { - rgblight_decrease_val(); - } - break; - case RGBLED_STEP_MODE: - if (record->event.pressed) { - rgblight_step(); - } - break; - } -} - -void matrix_init_user(void) { -} - -void matrix_scan_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - - if (usb_led & (1 << USB_LED_NUM_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_CAPS_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_COMPOSE)) { - - } else { - - } - - if (usb_led & (1 << USB_LED_KANA)) { - - } else { - - } - -} \ No newline at end of file diff --git a/keyboards/s60-x/keymaps/default/keymap.c b/keyboards/s60-x/keymaps/default/keymap.c deleted file mode 100644 index eb0c6b056e..0000000000 --- a/keyboards/s60-x/keymaps/default/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -#include "s60-x.h" - -/* 0: Main layer -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -*/ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: ANSI qwerty */ - LEGACY_KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ - CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT , \ - LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, RALT, FN0, APP, RCTL), - -/* 1: Fn layer -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │Left │Down │Right│ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -*/ - LEGACY_KEYMAP( - GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ - TRNS, TRNS, UP, TRNS, TRNS, TRNS, TRNS, TRNS, PGUP, PGDN, PSCR, SLCK, PAUS, TRNS, \ - TRNS, LEFT, DOWN, RGHT, 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, TRNS, TRNS, TRNS), -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay -}; diff --git a/keyboards/s60-x/keymaps/default/readme.md b/keyboards/s60-x/keymaps/default/readme.md deleted file mode 100644 index 01cda9df9b..0000000000 --- a/keyboards/s60-x/keymaps/default/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -### 1 Standard - ANSI -The standard keymap is the one that is pre-flashed on the S60-X. - -#### 1.0 Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -#### 1.1 Fn layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │Left │Down │Right│ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60-x/keymaps/hasu/keymap.c b/keyboards/s60-x/keymaps/hasu/keymap.c deleted file mode 100644 index cbeaae0281..0000000000 --- a/keyboards/s60-x/keymaps/hasu/keymap.c +++ /dev/null @@ -1,182 +0,0 @@ -#include "s60-x.h" - -/* - * Hasu - */ -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap 0: Default Layer -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ Fn2 │ ' │▒▒▒▒▒│ENTER│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ Fn1 │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ Fn3 │ Fn3 │ Fn0 │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ - CAPS, A, S, D, F, G, H, J, K, L, FN2, QUOT, NO, ENT, \ - LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, FN1, NO, FN9, NO, \ - LCTL, LGUI, LALT, SPC, RALT, FN3, FN3, FN0), - /* Keymap 1: colemak -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ TAB │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │ \ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│BKSPC│ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │▒▒▒▒▒│ENTER│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│R_WIN│ APP │ Fn0 │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ - TAB, Q, W, F, P, G, J, L, U, Y, SCLN, LBRC, RBRC, BSLS, \ - BSPC, A, R, S, T, D, H, N, E, I, O, QUOT, NO, ENT, \ - LSFT, NO, Z, X, C, V, B, K, M, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, FN0), - /* Keymap 2: dvorak -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │▒▒▒▒▒│BKSPC│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ TAB │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │ \ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│CAPSL│ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │▒▒▒▒▒│ENTER│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│R_WIN│ APP │ FN0 │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, LBRC, RBRC, NO, BSPC, \ - TAB, QUOT, COMM, DOT, P, Y, F, G, C, R, L, SLSH, EQL, BSLS, \ - CAPS, A, O, E, U, I, D, H, T, N, S, MINS, NO, ENT, \ - LSFT, NO, SCLN, Q, J, K, X, B, M, W, V, Z, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, FN0), - /* Keymap 3: workman -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ TAB │ Q │ D │ E │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │ \ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│BKSPC│ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │▒▒▒▒▒│ENTER│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ Z │ X │ M │ C │ V │ K │ L │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│R_WIN│ APP │ FN0 │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ - TAB, Q, D, R, W, B, J, F, U, P, SCLN, LBRC, RBRC, BSLS, \ - BSPC, A, S, H, T, G, Y, N, E, O, I, QUOT, NO, ENT, \ - LSFT, NO, Z, X, M, C, V, K, L, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, FN0), - /* Overlay 4: HHKB mode -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ Del │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│Caps │ │ │ │ │ │ │ │ Psc │ Slk │Pause│ Up │ │ Ins │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│ VoD │ VoU │Mute │ │ │NP_* │NP_/ │Home │PgUp │Left │Right│▒▒▒▒▒│Enter│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ │ │ │ │ │NP_+ │NP_- │ End │PgDwn│Down │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_GUI│L_ALT│█████│█████│█████│Space│█████│█████│█████│R_ALT│R_GUI│ App │ │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, DEL, \ - CAPS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PSCR, SLCK, PAUS, UP, TRNS, INS, \ - LCTL, VOLD, VOLU, MUTE, TRNS, TRNS, PAST, PSLS, HOME, PGUP, LEFT, RGHT, TRNS, ENT, \ - LSFT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PPLS, PMNS, END, PGDN, DOWN, TRNS, RSFT, TRNS, \ - LCTL, LGUI, LALT, SPC, RALT, RGUI, FN4, TRNS), - /* Overlay 5: Vi mode (Slash) -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│BkSpc│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ Tab │Home │PgDwn│ Up │PgUp │ End │Home │PgDwn│PgUp │ End │ │ │ │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│ │Left │Down │Right│ │Left │Down │ Up │Right│ │ │▒▒▒▒▒│Enter│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ │ │ │ │ │Home │PgDwn│PgUp │ End │ │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_GUI│L_ALT│█████│█████│█████│Space│█████│█████│█████│R_ALT│R_GUI│ APP │RCTRL│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, BSPC, \ - TAB, HOME, PGDN, UP, PGUP, END, HOME, PGDN, PGUP, END, TRNS, TRNS, TRNS, TRNS, \ - LCTL, TRNS, LEFT, DOWN, RGHT, TRNS, LEFT, DOWN, UP, RGHT, TRNS, TRNS, TRNS, ENT, \ - LSFT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, HOME, PGDN, PGUP, END, TRNS, TRNS, RSFT, TRNS, \ - LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, RCTL), - /* Overlay 6: Mouse mode (Semicolon/App) -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│BkSpc│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ Tab │ │ │ │ │ │ MwL │ MwD │ MwU │ MwR │ │ │ │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│ │ Ac0 │ Ac1 │ Ac2 │ │ McL │ McD │ McU │ McR │ │ │▒▒▒▒▒│Enter│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSFHT│▒▒▒▒▒│ │ │ │ │ Mb3 │ Mb2 │ Mb1 │ Mb4 │ Mb5 │ │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_GUI│L_ALT│█████│█████│█████│ Mb1 │█████│█████│█████│ │ │ │RCTRL│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel - */ - LEGACY_KEYMAP( - GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, BSPC, \ - TAB, TRNS, TRNS, TRNS, TRNS, TRNS, WH_L, WH_D, WH_U, WH_R, TRNS, TRNS, TRNS, TRNS, \ - LCTL, TRNS, ACL0, ACL1, ACL2, TRNS, MS_L, MS_D, MS_U, MS_R, TRNS, TRNS, TRNS, ENT, \ - LSFT, TRNS, TRNS, TRNS, TRNS, TRNS, BTN3, BTN2, BTN1, BTN4, BTN5, TRNS, TRNS, RSFT, TRNS, \ - LCTL, LGUI, LALT, BTN1, TRNS, TRNS, TRNS, RCTL), - /* Overlay 7: Layout selector -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ Lq │ Lc │ Ld │ Lw │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ Lq │ Lw │ │ │ │ │ │ │ │ │ │ │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ Ld │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ │ │ Lc │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - -Lq: set Qwerty layout -Lc: set Colemak layout -Ld: set Dvorak layout -Lw: set Workman layout - - */ - LEGACY_KEYMAP( - FN5, FN6, FN7, FN8, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ - TRNS, FN5, FN8, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ - TRNS, TRNS, TRNS, FN7, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ - TRNS, TRNS, TRNS, TRNS, FN6, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), -}; - -/* - * Fn action definition - */ -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(4), - [1] = ACTION_LAYER_TAP_KEY(5, KC_SLASH), - [2] = ACTION_LAYER_TAP_KEY(6, KC_SCLN), - [3] = ACTION_LAYER_MOMENTARY(6), - [4] = ACTION_LAYER_MOMENTARY(7), // to Layout selector - [5] = ACTION_DEFAULT_LAYER_SET(0), // set qwerty layout - [6] = ACTION_DEFAULT_LAYER_SET(1), // set colemak layout - [7] = ACTION_DEFAULT_LAYER_SET(2), // set dvorak layout - [8] = ACTION_DEFAULT_LAYER_SET(3), // set workman layout - [9] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_GRV), -}; diff --git a/keyboards/s60-x/keymaps/hasu/readme.md b/keyboards/s60-x/keymaps/hasu/readme.md deleted file mode 100644 index 64969b616d..0000000000 --- a/keyboards/s60-x/keymaps/hasu/readme.md +++ /dev/null @@ -1,4 +0,0 @@ -### 5. Hasu -This is Hasu's favorite keymap with HHKB Fn, Vi cursor and Mousekey layer. See [keymap_hasu.c](keymap_hasu.c) for detail. - -(Hasu is the initial creator of the TMK firmware, in case you weren't aware.) \ No newline at end of file diff --git a/keyboards/s60-x/keymaps/hhkb/keymap.c b/keyboards/s60-x/keymaps/hhkb/keymap.c deleted file mode 100644 index 9afd1247f8..0000000000 --- a/keyboards/s60-x/keymaps/hhkb/keymap.c +++ /dev/null @@ -1,52 +0,0 @@ -#include "s60-x.h" - -/* - * HHKB Layout - */ -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: Default layer -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │BkSpc│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Fn3 │ ' │▒▒▒▒▒│Enter│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│Shift│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│Shift│ Fn │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│▒▒▒▒▒│ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│▒▒▒▒▒│ Alt │ Gui │▒▒▒▒▒│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, BSLS, GRV, \ - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSPC, \ - LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \ - LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, FN0, \ - NO, LGUI, LALT, SPC, NO, RALT, RGUI, NO), - /* 1: HHKB Fn layer -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ Pwr │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ Ins │ Del │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│Caps │ │ │ │ │ │ │ │ Psc │ Slk │ Pus │ Up │ │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ VoD │ VoU │ Mut │ Ejc │ │NP_* │NP_/ │Home │PgUp │Left │Right│▒▒▒▒▒│NPEnt│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ │ │ │ │ │NP_+ │NP_- │ End │PgDwn│Down │▒▒▒▒▒│ │ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│▒▒▒▒▒│ │ │█████│█████│█████│ │█████│█████│█████│▒▒▒▒▒│ │ │▒▒▒▒▒│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - PWR, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, \ - CAPS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PSCR, SLCK, PAUS, UP, TRNS, TRNS, \ - TRNS, VOLD, VOLU, MUTE, EJCT, TRNS, PAST, PSLS, HOME, PGUP, LEFT, RGHT, NO, PENT, \ - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PPLS, PMNS, END, PGDN, DOWN, NO, TRNS, TRNS, \ - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), -}; - -/* - * Fn action definition - */ -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), -}; diff --git a/keyboards/s60-x/keymaps/hhkb/readme.md b/keyboards/s60-x/keymaps/hhkb/readme.md deleted file mode 100644 index 2bceb26dd5..0000000000 --- a/keyboards/s60-x/keymaps/hhkb/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -### 7. HHKB -[keymap_hhkb.c](keymap_hhkb.c) emulates original HHKB layers. -#### 7.0: Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │BkSpc│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Fn3 │ ' │▒▒▒▒▒│Enter│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Shift│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│Shift│ Fn │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │▒▒▒▒▒│ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│▒▒▒▒▒│ Alt │ Gui │▒▒▒▒▒│█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -#### 7.1: HHKB Fn layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ Pwr │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ Ins │ Del │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Caps │ │ │ │ │ │ │ │ Psc │ Slk │ Pus │ Up │ │ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ VoD │ VoU │ Mut │ Ejc │ │ * │ / │Home │PgUp │Left │Right│▒▒▒▒▒│Enter│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │▒▒▒▒▒│ │ │ │ │ │ + │ - │ End │PgDwn│Down │▒▒▒▒▒│ │ │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │▒▒▒▒▒│ │ │█████│█████│█████│ │█████│█████│█████│▒▒▒▒▒│ │ │▒▒▒▒▒│█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60-x/keymaps/iso/keymap.c b/keyboards/s60-x/keymaps/iso/keymap.c deleted file mode 100644 index 43a9c48b05..0000000000 --- a/keyboards/s60-x/keymaps/iso/keymap.c +++ /dev/null @@ -1,48 +0,0 @@ -#include "s60-x.h" - -/* 0: Main layer -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │▒▒▒▒▒│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │NUHS │ENTER│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -*/ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: ANSI qwerty */ - LEGACY_KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, NO, \ - CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NUHS, ENT , \ - LSFT, BSLS, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, RALT, FN0, APP, RCTL), - -/* 1: Fn layer -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│▒▒▒▒▒│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │Left │Down │Right│ │ │ │ │ │ │ │ │ │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -*/ - LEGACY_KEYMAP( - GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ - TRNS, TRNS, UP, TRNS, TRNS, TRNS, TRNS, TRNS, PGUP, PGDN, PSCR, SLCK, PAUS, TRNS, \ - TRNS, LEFT, DOWN, RGHT, 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, TRNS, TRNS, TRNS), -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay -}; diff --git a/keyboards/s60-x/keymaps/iso/readme.md b/keyboards/s60-x/keymaps/iso/readme.md deleted file mode 100644 index 2c06bf86f0..0000000000 --- a/keyboards/s60-x/keymaps/iso/readme.md +++ /dev/null @@ -1,28 +0,0 @@ -### 2 Standard - ISO -The same as the standard keymap, but with additional ISO keys. - - -#### 2.0 Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │▒▒▒▒▒│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │NUHS │ENTER│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │LSHFT│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -#### 2.1 Fn layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│▒▒▒▒▒│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │Left │Down │Right│ │ │ │ │ │ │ │ │ │ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60-x/keymaps/jpec/keymap.c b/keyboards/s60-x/keymaps/jpec/keymap.c deleted file mode 100644 index c8fc133288..0000000000 --- a/keyboards/s60-x/keymaps/jpec/keymap.c +++ /dev/null @@ -1,92 +0,0 @@ -/* -Copyright 2016 Julien Pecqueur -Copyright 2016 Felix Uhl - -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 . -*/ - -#include "s60-x.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Layout 0: Default Layer - * ,-----------------------------------------------------------. - * |` | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | - * |-----------------------------------------------------------| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| - * |-----------------------------------------------------------| - * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return | - * |-----------------------------------------------------------| - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | - * |-----------------------------------------------------------| - * |Fn1 |Gui |Alt | SpaceFn |Alt |Gui |App |Ctrl| - * `-----------------------------------------------------------' - */ - LEGACY_KEYMAP( - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, BSPC, BSPC, \ - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ - LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NUHS, ENT, \ - LSFT, NUBS, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ - FN1, LGUI, LALT, FN0, RALT, RGUI, APP, RCTL), - - /* Layout 1: Function Layer - * ,-----------------------------------------------------------. - * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete | - * |-----------------------------------------------------------| - * | |Prv|Ply|Nxt|Stp| | |PUp|Up |PDn| |Slk|Pau|Ins | - * |-----------------------------------------------------------| - * | |Vl-|Mut|Vl+| | |Hom|Lef|Dow|Rig|End| |PEnt | - * |-----------------------------------------------------------| - * | |Prt|Cut|Cop|Pst|Cal| | | | | |CapsLock | - * |-----------------------------------------------------------| - * | | | | | | | | | - * `-----------------------------------------------------------' - */ - LEGACY_KEYMAP( - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, DEL, \ - TRNS, MPRV, MPLY, MNXT, MSTP, TRNS, TRNS, PGUP, UP, PGDN, TRNS, SLCK, PAUS, INS, \ - TRNS, VOLD, MUTE, VOLU, TRNS, TRNS, HOME, LEFT, DOWN, RGHT, END, TRNS, TRNS, PENT, \ - TRNS, TRNS, PSCR, FN2, FN3, FN4, CALC, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CAPS, TRNS, \ - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), -}; - -/* -* Fn action definition -*/ -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_TAP_KEY(1, KC_SPACE), /* SpaceFn layout 1 */ - [1] = ACTION_LAYER_MOMENTARY(1), /* Momentary layout 1 */ - [2] = ACTION_MODS_KEY(MOD_LSFT, KC_DEL), /* Cut */ - [3] = ACTION_MODS_KEY(MOD_LCTL, KC_INS), /* Copy */ - [4] = ACTION_MODS_KEY(MOD_LSFT, KC_INS), /* Paste */ -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - return MACRO_NONE; -}; - - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - -void led_set_user(uint8_t usb_led) { - -} \ No newline at end of file diff --git a/keyboards/s60-x/keymaps/jpec/readme.md b/keyboards/s60-x/keymaps/jpec/readme.md deleted file mode 100644 index 73318dad72..0000000000 --- a/keyboards/s60-x/keymaps/jpec/readme.md +++ /dev/null @@ -1 +0,0 @@ -# The default keymap for s60-x \ No newline at end of file diff --git a/keyboards/s60-x/keymaps/plain/keymap.c b/keyboards/s60-x/keymaps/plain/keymap.c deleted file mode 100644 index 790ac88e73..0000000000 --- a/keyboards/s60-x/keymaps/plain/keymap.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "s60-x.h" - -/* Main layer: -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│R_GUI│ APP │RCTRL│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -*/ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: qwerty */ - LEGACY_KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ - CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \ - LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, RCTL), -}; -const uint16_t PROGMEM fn_actions[] = {}; diff --git a/keyboards/s60-x/keymaps/plain/readme.md b/keyboards/s60-x/keymaps/plain/readme.md deleted file mode 100644 index ab13323e3b..0000000000 --- a/keyboards/s60-x/keymaps/plain/readme.md +++ /dev/null @@ -1,16 +0,0 @@ -### 4. Plain -Without any Fn layer this will be useful if you want to use key remapping tool like AHK on host. -See [keymap_plain.c](keymap_plain.c) for detail. - -#### 4.0 Plain Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60-x/keymaps/poker/keymap.c b/keyboards/s60-x/keymaps/poker/keymap.c deleted file mode 100644 index 0a8691792a..0000000000 --- a/keyboards/s60-x/keymaps/poker/keymap.c +++ /dev/null @@ -1,180 +0,0 @@ -#include "s60-x.h" - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: qwerty -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ - CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \ - LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), - /* 1: colemak -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ TAB │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │ \ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│BKSPC│ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │▒▒▒▒▒│ENTER│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ - TAB, Q, W, F, P, G, J, L, U, Y, SCLN, LBRC, RBRC, BSLS, \ - BSPC, A, R, S, T, D, H, N, E, I, O, QUOT, NO, ENT, \ - LSFT, NO, Z, X, C, V, B, K, M, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), - /* 2: dvorak -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │▒▒▒▒▒│BKSPC│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ TAB │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │ \ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│CAPSL│ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │▒▒▒▒▒│ENTER│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, LBRC, RBRC, NO, BSPC, \ - TAB, QUOT, COMM, DOT, P, Y, F, G, C, R, L, SLSH, EQL, BSLS, \ - CAPS, A, O, E, U, I, D, H, T, N, S, MINS, NO, ENT, \ - LSFT, NO, SCLN, Q, J, K, X, B, M, W, V, Z, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), - /* 3: workman -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ TAB │ Q │ D │ E │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │ \ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│BKSPC│ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │▒▒▒▒▒│ENTER│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ Z │ X │ M │ C │ V │ K │ L │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ - TAB, Q, D, R, W, B, J, F, U, P, SCLN, LBRC, RBRC, BSLS, \ - BSPC, A, S, H, T, G, Y, N, E, O, I, QUOT, NO, ENT, \ - LSFT, NO, Z, X, M, C, V, K, L, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), - /* 4: Poker with Arrow -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ Up │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ │█████│█████│█████│ │Left │Down │Right│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - 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, 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, UP, TRNS, \ - TRNS, TRNS, TRNS, TRNS, TRNS, LEFT, DOWN, RGHT), - /* 5: Poker with Esc -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ ESC │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - ESC, 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, 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, TRNS, TRNS, TRNS, TRNS, TRNS), - /* 6: Poker Fn -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ FnQ │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ FnL │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Tsk │ End │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ FnS │█████│█████│█████│ │ │ │ │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - -Fn: to Fn overlay -FnL: to Layout selector overaly -FnQ: toggle Esc overlay -FnS: toggle Arrow overlay - - */ - LEGACY_KEYMAP( - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ - TRNS, FN2, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, FN4, \ - TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN3, END, TRNS, TRNS, \ - TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, TRNS, TRNS, \ - TRNS, TRNS, TRNS, FN1, TRNS, TRNS, TRNS, TRNS), - /* 7: Layout selector -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ Lq │ Lc │ Ld │ Lw │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ Lq │ Lw │ │ │ │ │ │ │ │ │ │ │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ Ld │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ │ │ Lc │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - -Lq: set Qwerty layout -Lc: set Colemak layout -Ld: set Dvorak layout -Lw: set Workman layout - - */ - LEGACY_KEYMAP( - FN5, FN6, FN7, FN8, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ - TRNS, FN5, FN8, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ - TRNS, TRNS, TRNS, FN7, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ - TRNS, TRNS, TRNS, TRNS, FN6, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), -}; -const uint16_t PROGMEM fn_actions[] = { - /* Poker Layout */ - [0] = ACTION_LAYER_MOMENTARY(6), // to Fn overlay - [1] = ACTION_LAYER_TOGGLE(4), // toggle arrow overlay - [2] = ACTION_LAYER_TOGGLE(5), // toggle Esc overlay - [3] = ACTION_MODS_KEY(MOD_RCTL|MOD_RSFT, KC_ESC), // Task(RControl,RShift+Esc) - [4] = ACTION_LAYER_MOMENTARY(7), // to Layout selector - [5] = ACTION_DEFAULT_LAYER_SET(0), // set qwerty layout - [6] = ACTION_DEFAULT_LAYER_SET(1), // set colemak layout - [7] = ACTION_DEFAULT_LAYER_SET(2), // set dvorak layout - [8] = ACTION_DEFAULT_LAYER_SET(3), // set workman layout -}; diff --git a/keyboards/s60-x/keymaps/poker/readme.md b/keyboards/s60-x/keymaps/poker/readme.md deleted file mode 100644 index 0d8be9d0f8..0000000000 --- a/keyboards/s60-x/keymaps/poker/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -### 3 Poker -[keymap_poker.c](keymap_poker.c) emulates original Poker layers -while both [keymap_poker_bit.c](keymap_poker_bit.c) and [keymap_poker_set.c](keymap_poker_set.c) implements same layout in different way and they fix a minor issue of original Poker and enhance arrow keys. - - Fn + Esc = ` - Fn + {left, down, up, right} = {home, pgdown, pgup, end} - -#### 3.0 Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Fn │ Gui │ App │Ctrl │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -#### 3.1 Poker Fn layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ FnQ │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Tsk │ End │▒▒▒▒▒│ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ Up │▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │█████│█████│█████│ FnS │█████│█████│█████│ Fn │Left │Down │Right│█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60-x/keymaps/poker_bit/keymap.c b/keyboards/s60-x/keymaps/poker_bit/keymap.c deleted file mode 100644 index 7626038f42..0000000000 --- a/keyboards/s60-x/keymaps/poker_bit/keymap.c +++ /dev/null @@ -1,110 +0,0 @@ -#include "s60-x.h" - -// Poker fix with toggle and bit operation -// Fn + Esc = ` -// Fn + {left, down, up, right} = {home, pgdown, pgup, end} -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: qwerty -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ - LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \ - LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), - /* 4: Poker Default + Fn'd -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│Caps │ Fn2 │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Fn4 │ End │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ Fn1 │█████│█████│█████│ │ │ │ │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - [4] = LEGACY_KEYMAP( - TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ - CAPS, FN2, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, TRNS, \ - TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN4, END, TRNS, TRNS, \ - TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, TRNS, TRNS, \ - TRNS, TRNS, TRNS, FN1, TRNS, TRNS, TRNS, TRNS), - /* 5: Poker with Arrow -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│PgUp │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ │█████│█████│█████│ Fn3 │Home │PgDwn│ End │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - 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, 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, PGUP, TRNS, \ - TRNS, TRNS, TRNS, TRNS, FN3, HOME, PGDN, END), - /* 6: Poker with Esc -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ ESC │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - ESC, 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, 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, TRNS, TRNS, TRNS, TRNS, TRNS), - /* 7: Poker with Arrow + Fn'd -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ Up │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ │█████│█████│█████│ │Left │Down │Right│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - 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, 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, UP, TRNS, \ - TRNS, TRNS, TRNS, TRNS, TRNS, LEFT, DOWN, RGHT), -}; -const uint16_t PROGMEM fn_actions[] = { - /* Poker Layout */ - [0] = ACTION_LAYER_BIT_XOR(1, 0b0101, ON_BOTH), // Poker Fn(with fix for Esc) - [1] = ACTION_LAYER_TOGGLE(5), // Poker Arrow toggle - [2] = ACTION_LAYER_TOGGLE(6), // Poker Esc toggle - [3] = ACTION_LAYER_BIT_XOR(1, 0b1101, ON_BOTH), // Poker Fn(with fix for Arrow) - [4] = ACTION_MODS_KEY(MOD_RCTL|MOD_RSFT, KC_ESC), // FN3 Task(RControl,RShift+Esc) -}; diff --git a/keyboards/s60-x/keymaps/poker_bit/readme.md b/keyboards/s60-x/keymaps/poker_bit/readme.md deleted file mode 100644 index 0d8be9d0f8..0000000000 --- a/keyboards/s60-x/keymaps/poker_bit/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -### 3 Poker -[keymap_poker.c](keymap_poker.c) emulates original Poker layers -while both [keymap_poker_bit.c](keymap_poker_bit.c) and [keymap_poker_set.c](keymap_poker_set.c) implements same layout in different way and they fix a minor issue of original Poker and enhance arrow keys. - - Fn + Esc = ` - Fn + {left, down, up, right} = {home, pgdown, pgup, end} - -#### 3.0 Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Fn │ Gui │ App │Ctrl │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -#### 3.1 Poker Fn layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ FnQ │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Tsk │ End │▒▒▒▒▒│ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ Up │▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │█████│█████│█████│ FnS │█████│█████│█████│ Fn │Left │Down │Right│█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60-x/keymaps/poker_set/keymap.c b/keyboards/s60-x/keymaps/poker_set/keymap.c deleted file mode 100644 index 09423e75b3..0000000000 --- a/keyboards/s60-x/keymaps/poker_set/keymap.c +++ /dev/null @@ -1,178 +0,0 @@ -#include "s60-x.h" - -// Poker fix with set(state transition) -// Fn + Esc = ` -// Fn + {left, down, up, right} = {home, pgdown, pgup, end} -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: qwerty -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ - LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \ - LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), - /* 1: Poker with Arrow -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ Up │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ │█████│█████│█████│ Fn1 │Left │Down │Right│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - 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, 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, UP, TRNS, \ - TRNS, TRNS, TRNS, TRNS, FN1, LEFT, DOWN, RGHT), - /* 2: Poker with Esc -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ ESC │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ │█████│█████│█████│ Fn2 │ │ │ │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - ESC, 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, 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, TRNS, FN2, TRNS, TRNS, TRNS), - /* 3: Poker with Arrow and Esc -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ Esc │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ Up │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ │█████│█████│█████│ Fn3 │Left │Down │Right│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - ESC, 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, 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, UP, TRNS, \ - TRNS, TRNS, TRNS, TRNS, FN3, LEFT, DOWN, RGHT), - /* 4: Poker Fn'd -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ Fn6 │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Fn8 │ End │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ Fn5 │█████│█████│█████│ Fn4 │ │ │ │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ - TRNS, FN6, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, TRNS, \ - TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN8, END, TRNS, TRNS, \ - TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, TRNS, TRNS, \ - TRNS, TRNS, TRNS, FN5, FN4, TRNS, TRNS, TRNS), - /* 5: Poker Fn'd arrow -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ Fn7 │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Fn8 │ End │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│PgUp │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ Fn4 │█████│█████│█████│ Fn5 │Home │PgDwn│ End │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ - TRNS, FN7, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, TRNS, \ - TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN8, END, TRNS, TRNS, \ - TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, PGUP, TRNS, \ - TRNS, TRNS, TRNS, FN4, FN5, HOME, PGDN, END), - /* 6: Poker Fn'd Esc -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ Fn4 │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Fn8 │ End │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ Fn7 │█████│█████│█████│ Fn6 │ │ │ │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ - TRNS, FN4, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, TRNS, \ - TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN8, END, TRNS, TRNS, \ - TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, TRNS, TRNS, \ - TRNS, TRNS, TRNS, FN7, FN6, TRNS, TRNS, TRNS), - /* 7: Poker Fn'd Arrow + Esc -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ Fn5 │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Fn8 │ End │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│PgUp │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ Fn6 │█████│█████│█████│ Fn7 │Home │PgDwn│ End │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ - TRNS, FN5, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, TRNS, \ - TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN8, END, TRNS, TRNS, \ - TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, PGUP, TRNS, \ - TRNS, TRNS, TRNS, FN6, FN7, HOME, PGDN, END), -}; - -/* - * Fn action definition - */ -const uint16_t PROGMEM fn_actions[] = { - /* Poker Layout */ - [0] = ACTION_LAYER_SET(4, ON_PRESS), // FN0 move to Fn'd when press - [1] = ACTION_LAYER_SET(5, ON_PRESS), // FN1 move to Fn'd arrow when press - [2] = ACTION_LAYER_SET(6, ON_PRESS), // FN2 move to Fn'd Esc when press - [3] = ACTION_LAYER_SET(7, ON_PRESS), // FN3 move to Fn'd arrow + Esc when press - - //[4] = ACTION_LAYER_CLEAR(ON_RELEASE), // FN4 clear overlay when release - [4] = ACTION_LAYER_SET(0, ON_RELEASE), // FN4 clear overlay when release - [5] = ACTION_LAYER_SET(1, ON_RELEASE), // FN5 move to arrow when release - [6] = ACTION_LAYER_SET(2, ON_RELEASE), // FN6 move to Esc when release - [7] = ACTION_LAYER_SET(3, ON_RELEASE), // FN7 move to arrow + Esc when release - - [8] = ACTION_MODS_KEY(MOD_RCTL|MOD_RSFT, KC_ESC), // FN8 Task(RControl,RShift+Esc) -}; diff --git a/keyboards/s60-x/keymaps/poker_set/readme.md b/keyboards/s60-x/keymaps/poker_set/readme.md deleted file mode 100644 index 0d8be9d0f8..0000000000 --- a/keyboards/s60-x/keymaps/poker_set/readme.md +++ /dev/null @@ -1,31 +0,0 @@ -### 3 Poker -[keymap_poker.c](keymap_poker.c) emulates original Poker layers -while both [keymap_poker_bit.c](keymap_poker_bit.c) and [keymap_poker_set.c](keymap_poker_set.c) implements same layout in different way and they fix a minor issue of original Poker and enhance arrow keys. - - Fn + Esc = ` - Fn + {left, down, up, right} = {home, pgdown, pgup, end} - -#### 3.0 Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Fn │ Gui │ App │Ctrl │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -#### 3.1 Poker Fn layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ FnQ │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Tsk │ End │▒▒▒▒▒│ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ Up │▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │█████│█████│█████│ FnS │█████│█████│█████│ Fn │Left │Down │Right│█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60-x/keymaps/spacefn/keymap.c b/keyboards/s60-x/keymaps/spacefn/keymap.c deleted file mode 100644 index b6dc7ca7eb..0000000000 --- a/keyboards/s60-x/keymaps/spacefn/keymap.c +++ /dev/null @@ -1,55 +0,0 @@ -#include "s60-x.h" - -/* - * SpaceFN - * http://geekhack.org/index.php?topic=51069.0 - */ -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Keymap 0: Default Layer -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│LCTRL│L_GUI│L_ALT│█████│█████│█████Spc/Fn0█████│█████│█████│R_ALT│R_GUI│ APP │RCTRL│█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ - CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \ - LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ - LCTL, LGUI, LALT, FN0, RALT, RGUI, APP, RCTL), - - /* Overlay 1: SpaceFN -┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ -│ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ Del │ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ Esc │ │ │ │Home │ Up │ End │Pscr │Slck │Pause│ Ins │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │ │ │ │PgUp │Left │Down │Right│ │ │▒▒▒▒▒│ │█████│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │▒▒▒▒▒│ │ │ │Space│PgDwn│ ` │ ~ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ -├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ -│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ -└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - */ - LEGACY_KEYMAP( - GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, DEL, \ - TRNS, TRNS, TRNS, ESC, TRNS, TRNS, TRNS, HOME, UP, END, PSCR, SLCK, PAUS, INS, \ - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PGUP, LEFT, DOWN, RGHT, TRNS, TRNS, TRNS, TRNS, \ - TRNS, TRNS, TRNS, TRNS, TRNS, SPC, PGDN, GRV, FN1, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ - TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), -}; - -/* - * Fn action definition - */ -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_LAYER_TAP_KEY(1, KC_SPACE), - [1] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV), // tilde -}; diff --git a/keyboards/s60-x/keymaps/spacefn/readme.md b/keyboards/s60-x/keymaps/spacefn/readme.md deleted file mode 100644 index d04bd94865..0000000000 --- a/keyboards/s60-x/keymaps/spacefn/readme.md +++ /dev/null @@ -1,27 +0,0 @@ -### 6. SpaceFN -This layout proposed by spiceBar uses space bar to change layer with using Dual role key technique. See [keymap_spacefn.c](keymap_spacefn.c) and [SpaceFN discussion](http://geekhack.org/index.php?topic=51069.0). - -#### 6.0 Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Ctrl │ Gui │ Alt │█████│█████│████ Space/Fn ███│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -#### 6.1 SpaceFN layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ Del │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │ │ │ │ │Home │ Up │ End │ Psc │ Slk │Pause│ Ins │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │ │ │ │PgUp │Left │Down │Right│ │ │▒▒▒▒▒│ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │▒▒▒▒▒│ │ │ │ │Space│PgDwn│ ` │ ~ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │█████│█████│█████│ Fn │█████│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60-x/readme.md b/keyboards/s60-x/readme.md deleted file mode 100644 index 408ad13ac2..0000000000 --- a/keyboards/s60-x/readme.md +++ /dev/null @@ -1,260 +0,0 @@ -S60-x keyboard firmware -====================== -DIY compact keyboard designed by VinnyCordeiro for Sentraq. Most of the keymaps are based on GH60 code. This is a port from TMK to QMK based on the [original S60-X Repo](https://github.com/VinnyCordeiro/tmk_keyboard). - -## S60X Resources -- [Massdrop page](https://www.massdrop.com/buy/sentraq-60-diy-keyboard-kit?mode=guest_open) - -## Quickstart - -If you just want to test a few layouts, the archive [s60-x_precompiled.zip](s60-x_precompiled.zip) contains pre-compiled .hex-files for all available keymaps. Not all of them are tested. -You only need to flash them onto your keyboard, which is explained below, there's no need to setup a build environment. For a full list - -## Flashing your keyboard -The recommended programs for flashing your keyboard are [Atmel FLIP](http://www.atmel.com/tools/FLIP.aspx) (Windows) and [dfu-programmer](http://dfu-programmer.sourceforge.net/) (Linux/Windows). - -[QMK Firmware Flasher](https://github.com/qmk/qmk_firmware_flasher/releases) may work, as the S60-X keyboard uses the ATMega32U4 microcontroller, but it is untested. Use at your own risk. - -[Easy AVR USB Keyboard Firmware](https://deskthority.net/wiki/Easy_AVR_USB_Keyboard_Firmware) also supports S60-X, but it is completely unrelated to TMK firmware. Use at your own risk. - -**Programming the firmware (Windows)** - -1. download and install FLIP (http://www.atmel.com/tools/FLIP.aspx) -2. connect the keyboard, press the program button on the underside of the board (S1) and wait until it enumerates (you'll hear the "disconnect" and "connect" sound) -3. go to device manager, find the atmega32u4 chip and click "update driver" -4. choose location manually: folder named "usb" inside the installation directory of FLIP -5. once the driver is installed, run flip -6. Device -> Select: choose ATMega32U4 -7. Settings -> Communication -> USB, FLIP should show the signature at this point (58 1E 95 87) -8. File -> Load HEX file: choose the hex firmware: .hex -9. click "Run" -10. after programming is done, disconnect the device from USB and connect again. - - -**Programming the firmware (Linux)** - -1. Download and install/compile/unpack dfu-programmer from http://dfu-programmer.sourceforge.net/. -2. Issue the following commands in the command prompt after connecting the device and pressing the programming button (S1). You may need root permissions or udev rules to do that. - 1. `sudo dfu-programmer atmega32u4 erase` - 2. `sudo dfu-programmer atmega32u4 flash .hex` - 3. `sudo dfu-programmer atmega32u4 start` -3. The keyboard should start working. If it doesn't, reconnect the cable. - -## Building the firmware - -To build the firmware binary hex file with a keymap just do `make` with a keymap like this: - - $ make [custom|poker|poker_set|poker_bit|plain|hasu|spacefn|hhkb|] - -For a more detailed explanation of the build process and the environment setup, see the ["Getting Started" section](/readme.md#getting-started). - -## List of included Keymaps - -Several versions of keymaps are available in advance but you are recommended to define your favorite layout yourself. -To define your own keymap, copy the [default keymap template](/quantum/template/keymaps/default) directory into the `keymaps` directory and start modifying the `keymap.c` file. Some options might require you to change the `config.h` or `Makefile` as well, refer to the main documentation for more information on those. -If you want to later merge your finalised keymap into this repository to make it available for everyone, make sure to also modify the `readme.md` in your keymap directory to show a visual version of your keymap. - -Here's a list of the standard layouts that are provided with the precompiled .hex-files. - -### 0 Initial explanations -The █████ blocks on the layouts hides the switch positions that do not exist physically on the PCB. If you feel like hacking the keyboard and adding new keys, those are the positions that can be used. You'll have to modify the [keymap_common.h](keymap_common.h) file for that. - -The ▒▒▒▒▒ blocks hides switch positions not used on this particular layout, but they do exist on the PCB. - -There is no LED support on the PCB at the moment, but I'll let the code for that untouched. - - -### 1 [Standard - ANSI (default layout)](keymaps/default/keymap.c) -The standard keymap is the one that is pre-flashed on the S60-X. - -#### 1.0 Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -#### 1.1 Fn layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │Left │Down │Right│ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - - -### 2 [Standard - ISO](keymaps/iso/keymap.c) -The same as the standard keymap, but with additional ISO keys. - - -#### 2.0 Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │▒▒▒▒▒│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │NUHS │ENTER│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │LSHFT│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -#### 2.1 Fn layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│▒▒▒▒▒│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │Left │Down │Right│ │ │ │ │ │ │ │ │ │ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - - -### 3 Poker -[The poker keymap](keymaps/poker/keymap.c) emulates original Vortex Poker layers -while both [poker_bit](keymaps/poker_bit/keymap.c) and [poker_set](keymap/poker_set/keymap.c) implement the same layout in a slightly different way, fix a minor issue of the original poker Layout and enhance arrow keys. - - Fn + Esc = ` - Fn + {left, down, up, right} = {home, pgdown, pgup, end} - -#### 3.0 Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Fn │ Gui │ App │Ctrl │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -#### 3.1 Poker Fn layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ FnQ │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Tsk │ End │▒▒▒▒▒│ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ Up │▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │█████│█████│█████│ FnS │█████│█████│█████│ Fn │Left │Down │Right│█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - - -### 4. [Plain](keymaps/plain/keymap.c) -Without any Fn layer this will be useful if you want to use key remapping tool like AHK on host. - -#### 4.0 Plain Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - - -### 5. [Hasu](keymaps/hasu/keymap.c) -This is Hasu's favorite keymap with HHKB Fn, Vi cursor and Mousekey layer. - -(Hasu is the creator of the TMK firmware, for those who do not know that.) - - -### 6. [SpaceFN](keymaps/spacefn/keymap.c) -This layout proposed by spiceBar uses space bar to change layer with using Dual role key technique. Check the sourcefile and [SpaceFN discussion](http://geekhack.org/index.php?topic=51069.0) for more information. - -#### 6.0 Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Ctrl │ Gui │ Alt │█████│█████│████ Space/Fn ███│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -#### 6.1 SpaceFN layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ Del │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │ │ │ │ │Home │ Up │ End │ Psc │ Slk │Pause│ Ins │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │ │ │ │PgUp │Left │Down │Right│ │ │▒▒▒▒▒│ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │▒▒▒▒▒│ │ │ │ │Space│PgDwn│ ` │ ~ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ │ │█████│█████│█████│ Fn │█████│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - - -### 7. [HHKB](keymap/hhkb/keymap.c) -The HHKB keymap emulates original HHKB layers. -#### 7.0: Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │BkSpc│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Fn3 │ ' │▒▒▒▒▒│Enter│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Shift│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│Shift│ Fn │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │▒▒▒▒▒│ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│▒▒▒▒▒│ Alt │ Gui │▒▒▒▒▒│█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ -#### 7.1: HHKB Fn layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ Pwr │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ Ins │ Del │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Caps │ │ │ │ │ │ │ │ Psc │ Slk │ Pus │ Up │ │ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │ VoD │ VoU │ Mut │ Ejc │ │ * │ / │Home │PgUp │Left │Right│▒▒▒▒▒│Enter│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ │▒▒▒▒▒│ │ │ │ │ │ + │ - │ End │PgDwn│Down │▒▒▒▒▒│ │ │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │▒▒▒▒▒│ │ │█████│█████│█████│ │█████│█████│█████│▒▒▒▒▒│ │ │▒▒▒▒▒│█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - - -### 8 [Custom](keymaps/custom/keymap.c) -The custom keymap is where I tested all the switches, not being concerned with a specific layout or layers. It's a plain layout option with the extra keys used on ISO & HHKB layouts being assigned some other keys. - -#### 8.0 Default layer - ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │PgUp │BkSpc│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │PgDwn│Enter│█████│ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Shift│Home │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ End │Shift│ Up │ - ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ - │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ - └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ - -### 9. [ANSI_QWERTZ](keymaps/ansi_qwertz/keymap.c) - -This keymap was designed for inputting characters with diacritics with ANSI keycaps. -It provides toggleable SpaceFn functionality, a dedicated arrow cluster and a microphone mute key on the function layer as well as a bootloader reset key. - -For more info, [check here](keymaps/ansi_qwertz/readme.md). diff --git a/keyboards/s60-x/rgb/Makefile b/keyboards/s60-x/rgb/Makefile deleted file mode 100644 index bd09e5885d..0000000000 --- a/keyboards/s60-x/rgb/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifndef MAKEFILE_INCLUDED - include ../../../Makefile -endif diff --git a/keyboards/s60-x/rgb/config.h b/keyboards/s60-x/rgb/config.h deleted file mode 100644 index fbc143487e..0000000000 --- a/keyboards/s60-x/rgb/config.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef RBG_CONFIG_H -#define RBG_CONFIG_H - -#include "../config.h" - -#define PRODUCT S60-X-RGB -#define DESCRIPTION q.m.k. keyboard firmware for S60-X RGB - -/* key matrix pins */ -#define MATRIX_ROW_PINS { B5, B4, D7, D6, D4 } -#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, B6, C6, C7, F1, F0, E6, B3, B2, B1, B0 } -#define UNUSED_PINS - -/* number of backlight levels */ -#define BACKLIGHT_PIN B7 -#ifdef BACKLIGHT_PIN -#define BACKLIGHT_LEVELS 3 -#endif - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE - -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* prevent stuck modifiers */ -#define PREVENT_STUCK_MODIFIERS - -#define RGB_DI_PIN F6 -#ifdef RGB_DI_PIN -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 10 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#endif - -#endif \ No newline at end of file diff --git a/keyboards/s60-x/rgb/rgb.c b/keyboards/s60-x/rgb/rgb.c deleted file mode 100644 index 0117e14ae5..0000000000 --- a/keyboards/s60-x/rgb/rgb.c +++ /dev/null @@ -1 +0,0 @@ -#include "rgb.h" diff --git a/keyboards/s60-x/rgb/rgb.h b/keyboards/s60-x/rgb/rgb.h deleted file mode 100644 index cb7a5f567f..0000000000 --- a/keyboards/s60-x/rgb/rgb.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef S60XRGB_H -#define S60XRGB_H - -#include "quantum.h" - -#define KEYMAP( \ - K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ - K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \ - K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ - K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \ - K400, K401, K402, K406, K410, K411, K412, K413 \ -) { \ - { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ - { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, KC_NO }, \ - { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ - { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \ - { K400, K401, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413, KC_NO } \ -} - -/*This special definition is used for S60-X keymaps that were ported from TMK - * QMK has a lot of keycodes that don't start with KC_, so using the regular KEYMAP macro is recommended - */ -#define LEGACY_KEYMAP( \ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ - K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ - K40, K41, K42, K46, K4A, K4B, K4C, K4D \ -) { \ - { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K0C, KC_##K0D, KC_##K0E }, \ - { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K1C, KC_##K1D, KC_NO }, \ - { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D, KC_NO }, \ - { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K3C, KC_##K3D, KC_##K3E }, \ - { KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_NO, KC_NO, KC_##K46, KC_NO, KC_NO, KC_NO, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D, KC_NO } \ -} - -#endif \ No newline at end of file diff --git a/keyboards/s60-x/rgb/rules.mk b/keyboards/s60-x/rgb/rules.mk deleted file mode 100644 index 6953cc6d6d..0000000000 --- a/keyboards/s60-x/rgb/rules.mk +++ /dev/null @@ -1,9 +0,0 @@ -CONSOLE_ENABLE ?= no # Console for debug(+400) -COMMAND_ENABLE ?= no # Commands for debug and configuration -NKRO_ENABLE ?= yes # USB 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 -RGBLIGHT_ENABLE ?= yes # Enable RGB light - -ifndef QUANTUM_DIR - include ../../../Makefile -endif \ No newline at end of file diff --git a/keyboards/s60-x/rules.mk b/keyboards/s60-x/rules.mk deleted file mode 100644 index 0c568efe95..0000000000 --- a/keyboards/s60-x/rules.mk +++ /dev/null @@ -1,65 +0,0 @@ - - -# MCU name -#MCU = at90usb1287 -MCU = atmega32u4 - -# Processor frequency. -# This will define a symbol, F_CPU, in all source code files equal to the -# processor frequency in Hz. You can then use this symbol in your source code to -# calculate timings. Do NOT tack on a 'UL' at the end, this will be done -# automatically to create a 32-bit value in your source code. -# -# This will be an integer division of F_USB below, as it is sourced by -# F_USB after it has run through any CPU prescalers. Note that this value -# does not *change* the processor frequency - it should merely be updated to -# reflect the processor speed set externally so that the code can use accurate -# software delays. -F_CPU = 16000000 - - -# -# LUFA specific -# -# Target architecture (see library "Board Types" documentation). -ARCH = AVR8 - -# Input clock frequency. -# This will define a symbol, F_USB, in all source code files equal to the -# input clock frequency (before any prescaling is performed) in Hz. This value may -# differ from F_CPU if prescaling is used on the latter, and is required as the -# raw input clock is fed directly to the PLL sections of the AVR for high speed -# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' -# at the end, this will be done automatically to create a 32-bit value in your -# source code. -# -# If no clock division is performed on the input clock inside the AVR (via the -# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. -F_USB = $(F_CPU) - -# Interrupt driven control endpoint task(+60) -OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT - - -# Boot Section Size in *bytes* -# Teensy halfKay 512 -# Teensy++ halfKay 1024 -# Atmel DFU loader 4096 -# LUFA bootloader 4096 -# USBaspLoader 2048 -OPT_DEFS += -DBOOTLOADER_SIZE=4096 - - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) -EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend -# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -MIDI_ENABLE ?= no # MIDI controls -UNICODE_ENABLE ?= no # Unicode -BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID -AUDIO_ENABLE ?= no # Audio output on port C6 \ No newline at end of file diff --git a/keyboards/s60-x/s60-x.c b/keyboards/s60-x/s60-x.c deleted file mode 100644 index f031dd770d..0000000000 --- a/keyboards/s60-x/s60-x.c +++ /dev/null @@ -1 +0,0 @@ -#include "s60-x.h" \ No newline at end of file diff --git a/keyboards/s60-x/s60-x.h b/keyboards/s60-x/s60-x.h deleted file mode 100644 index 5bf8cfcefa..0000000000 --- a/keyboards/s60-x/s60-x.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef S60X_H -#define S60X_H - -#ifdef SUBPROJECT_default - #include "default.h" -#endif -#ifdef SUBPROJECT_rgb - #include "rgb.h" -#endif - -#include "quantum.h" - -#endif diff --git a/keyboards/s60-x/s60-x_precompiled.zip b/keyboards/s60-x/s60-x_precompiled.zip deleted file mode 100644 index 00d99ca8a1..0000000000 Binary files a/keyboards/s60-x/s60-x_precompiled.zip and /dev/null differ diff --git a/keyboards/s60_x/Makefile b/keyboards/s60_x/Makefile new file mode 100644 index 0000000000..879e493a21 --- /dev/null +++ b/keyboards/s60_x/Makefile @@ -0,0 +1,5 @@ +SUBPROJECT_DEFAULT = default + +ifndef MAKEFILE_INCLUDED + include ../../Makefile +endif \ No newline at end of file diff --git a/keyboards/s60_x/config.h b/keyboards/s60_x/config.h new file mode 100644 index 0000000000..8b97b3c814 --- /dev/null +++ b/keyboards/s60_x/config.h @@ -0,0 +1,59 @@ +/* +Copyright 2012 Jun Wako +Copyright 2016 Julien Pecqueur +Copyright 2016 Felix Uhl + +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 . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6060 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Massdrop + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* number of backlight levels */ +#define BACKLIGHT_PIN B7 +#ifdef BACKLIGHT_PIN +#define BACKLIGHT_LEVELS 3 +#endif + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCING_DELAY 5 + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +#ifdef SUBPROJECT_default + #include "default/config.h" +#endif +#ifdef SUBPROJECT_rgb + #include "rgb/config.h" +#endif + +#endif diff --git a/keyboards/s60_x/default/Makefile b/keyboards/s60_x/default/Makefile new file mode 100644 index 0000000000..191c6bb664 --- /dev/null +++ b/keyboards/s60_x/default/Makefile @@ -0,0 +1,3 @@ +ifndef MAKEFILE_INCLUDED + include ../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/s60_x/default/config.h b/keyboards/s60_x/default/config.h new file mode 100644 index 0000000000..436c6fa8b6 --- /dev/null +++ b/keyboards/s60_x/default/config.h @@ -0,0 +1,25 @@ +#ifndef DEFAULT_CONFIG_H +#define DEFAULT_CONFIG_H + +#include "../config.h" + +#define PRODUCT S60-X +#define DESCRIPTION q.m.k. keyboard firmware for S60-X + +#define MATRIX_ROW_PINS { B7, B3, B2, B1, B0 } +#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, E6, F1 } +#define UNUSED_PINS { F0 } + +#define LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE + +/* key combination for magic key command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +#define NO_ACTION_ONESHOT +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + +#endif diff --git a/keyboards/s60_x/default/default.c b/keyboards/s60_x/default/default.c new file mode 100644 index 0000000000..253f5495c2 --- /dev/null +++ b/keyboards/s60_x/default/default.c @@ -0,0 +1,28 @@ +#include "default.h" + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + + matrix_init_user(); +} + +void matrix_scan_kb(void) { + // put your looping keyboard code here + // runs every cycle (a lot) + + matrix_scan_user(); +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + // put your per-action keyboard code here + // runs for every action, just before processing by the firmware + + return process_record_user(keycode, record); +} + +void led_set_kb(uint8_t usb_led) { + // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here + + led_set_user(usb_led); +} diff --git a/keyboards/s60_x/default/default.h b/keyboards/s60_x/default/default.h new file mode 100644 index 0000000000..86233ef7e0 --- /dev/null +++ b/keyboards/s60_x/default/default.h @@ -0,0 +1,69 @@ +/* +Copyright 2012,2013 Jun Wako +Copyright 2015 Vin�cius Nery Cordeiro +Copyright 2016 Felix Uhl + +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 . +*/ + +#ifndef DEFAULT_H +#define DEFAULT_H + +#include "quantum.h" + +#ifdef __INTELLISENSE__ +#define PROGMEM +#include "../config.h" +#endif + +/* S60-X keymap definition macro +* K31 is the extra key next to short left ISO shift +* K2C is the moved key next to enter on ISO boards +* K3C is the extra key next to short right JIS shift +* K0D is extra key from split backspace +* K3E is extra key from HHKB-style split right shift +*/ + +#define KEYMAP( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ + { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, KC_NO } \ +} + +/*This special definition is used for S60-X keymaps that were ported from TMK + * QMK has a lot of keycodes that don't start with KC_, so using the regular KEYMAP macro is recommended + */ +#define LEGACY_KEYMAP( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D \ +) { \ + { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K0C, KC_##K0D, KC_##K0E }, \ + { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K1C, KC_##K1D, KC_NO }, \ + { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D, KC_NO }, \ + { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K3C, KC_##K3D, KC_##K3E }, \ + { KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_NO, KC_NO, KC_##K46, KC_NO, KC_NO, KC_NO, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D, KC_NO } \ +} + +#endif \ No newline at end of file diff --git a/keyboards/s60_x/default/rules.mk b/keyboards/s60_x/default/rules.mk new file mode 100644 index 0000000000..aaa3764df6 --- /dev/null +++ b/keyboards/s60_x/default/rules.mk @@ -0,0 +1,9 @@ +CONSOLE_ENABLE ?= no # Console for debug(+400) +COMMAND_ENABLE ?= no # Commands for debug and configuration +NKRO_ENABLE ?= no # USB 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 +RGBLIGHT_ENABLE ?= no + +ifndef QUANTUM_DIR + include ../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/s60_x/keymaps/ansi_qwertz/Makefile b/keyboards/s60_x/keymaps/ansi_qwertz/Makefile new file mode 100644 index 0000000000..6a078bcc3f --- /dev/null +++ b/keyboards/s60_x/keymaps/ansi_qwertz/Makefile @@ -0,0 +1,21 @@ +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = no # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = yes # Console for debug(+400) +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 = no # Enable keyboard backlight functionality +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. Do not enable this with audio at the same time. +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/s60_x/keymaps/ansi_qwertz/config.h b/keyboards/s60_x/keymaps/ansi_qwertz/config.h new file mode 100644 index 0000000000..6c01d579f8 --- /dev/null +++ b/keyboards/s60_x/keymaps/ansi_qwertz/config.h @@ -0,0 +1,14 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +// keymap needs oneshot functionality +#undef NO_ACTION_ONESHOT + +#undef IS_COMMAND +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ +) + +#endif \ No newline at end of file diff --git a/keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.png b/keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.png new file mode 100644 index 0000000000..168780c824 Binary files /dev/null and b/keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.png differ diff --git a/keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg b/keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg new file mode 100644 index 0000000000..f03858993e --- /dev/null +++ b/keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg @@ -0,0 +1,1046 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Shift + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ˝ + ¯ + ˛ + ˘ + o + . + ˇ + ˙ + + + diff --git a/keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg.2016_08_18_09_06_36.0.svg b/keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg.2016_08_18_09_06_36.0.svg new file mode 100644 index 0000000000..2304b2a4c3 --- /dev/null +++ b/keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International-Alternative.svg.2016_08_18_09_06_36.0.svg @@ -0,0 +1,1049 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Shift + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ˝ + ¯ + ˛ + ˘ + o + . + ˇ + ˙ + + + diff --git a/keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International.png b/keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International.png new file mode 100644 index 0000000000..875eb3652f Binary files /dev/null and b/keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International.png differ diff --git a/keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International.svg b/keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International.svg new file mode 100644 index 0000000000..1ca6a9c872 --- /dev/null +++ b/keyboards/s60_x/keymaps/ansi_qwertz/docs/KB_US-International.svg @@ -0,0 +1,935 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Shift + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/keyboards/s60_x/keymaps/ansi_qwertz/docs/base_layer.PNG b/keyboards/s60_x/keymaps/ansi_qwertz/docs/base_layer.PNG new file mode 100644 index 0000000000..c730c2d65a Binary files /dev/null and b/keyboards/s60_x/keymaps/ansi_qwertz/docs/base_layer.PNG differ diff --git a/keyboards/s60_x/keymaps/ansi_qwertz/docs/function_layer.PNG b/keyboards/s60_x/keymaps/ansi_qwertz/docs/function_layer.PNG new file mode 100644 index 0000000000..fae2439cab Binary files /dev/null and b/keyboards/s60_x/keymaps/ansi_qwertz/docs/function_layer.PNG differ diff --git a/keyboards/s60_x/keymaps/ansi_qwertz/docs/gaming_layer.PNG b/keyboards/s60_x/keymaps/ansi_qwertz/docs/gaming_layer.PNG new file mode 100644 index 0000000000..59b202be2b Binary files /dev/null and b/keyboards/s60_x/keymaps/ansi_qwertz/docs/gaming_layer.PNG differ diff --git a/keyboards/s60_x/keymaps/ansi_qwertz/keymap.c b/keyboards/s60_x/keymaps/ansi_qwertz/keymap.c new file mode 100644 index 0000000000..ebb3aece34 --- /dev/null +++ b/keyboards/s60_x/keymaps/ansi_qwertz/keymap.c @@ -0,0 +1,237 @@ +/* +Copyright 2016 Julien Pecqueur +Copyright 2016 Felix Uhl + +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 . +*/ + +#include "s60_x.h" + +//make keymap a little easier to read +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +#define ONESHOT_TAP_TOGGLE 2 +#define ONESHOT_TIMEOUT 1 + +//uncomment to activate dead keys +//#define DONT_REVIVE_DEADKEYS 1 + +//Function keycodes for better readability +//SpaceFN +//OneShot LeftShift +//GamingMode Lock (disables SpaceFn and OneShot LShift) +//Function +//Mute microphone +#define KC_SPACEFN KC_FN0 +#define KC_OSLS KC_FN3 +#define KC_GMLK KC_FN1 +#define KC_FUNC KC_FN2 +#define MICMUTE RCTL(KC_LCTL) + +enum function_codes { + F_SPACEFN = 0, + F_OSLS = 3, + F_GMLK = 1, + F_FUNC = 2 +}; + +enum layer_names { + DEFAULT, + GAMING, + FUNCTION +}; + +enum languages { + GERMAN +}; + +#define LANGUAGE GERMAN + +enum custom_keycodes { + KC_CM_A = SAFE_RANGE, +// KC_CM_B, + KC_CM_C, +// KC_CM_D, + KC_CM_E, +// KC_CM_F, + KC_CM_G, +// KC_CM_H, + KC_CM_I, +// KC_CM_J, + KC_CM_K, + KC_CM_L, + KC_CM_M, + KC_CM_N, + KC_CM_O, + KC_CM_P, +// KC_CM_Q, + KC_CM_R, + KC_CM_S, +// KC_CM_T, + KC_CM_U, +// KC_CM_V, + KC_CM_W, +// KC_CM_X, + KC_CM_Y, + KC_CM_Z +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Layout 0: Default Layer + * ,-----------------------------------------------------------. + * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \|Del| + * |-----------------------------------------------------------| + * |Tab | Q| W| E| R| T| Z| U| I| O| P| [| ]|BckSp| + * |-----------------------------------------------------------| + * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return | + * |-----------------------------------------------------------| + * |Shift | Y| X| C| V| B| N| M| ,| .| /| Up |RSft| + * |-----------------------------------------------------------| + * |Fn2 |Gui |Alt | SpaceFn |Alt |Left|Down|Right| + * `-----------------------------------------------------------' + */ + [DEFAULT] = KEYMAP( + 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_DEL, \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \ + KC_LCTL, 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_LSFT, KC_NUBS, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_UP, KC_RSFT, \ + KC_FUNC, KC_LGUI, KC_LALT, KC_SPACEFN, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* Layout 1: Gaming Layer, SpaceFn disabled + * ,-----------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------| + * | | | | | | | | | | | | | | | + * |-----------------------------------------------------------| + * | | | | | | | | | | | | | | + * |-----------------------------------------------------------| + * | | | | | | | | | | | | |Fn1 | + * |-----------------------------------------------------------| + * | |RSft| | Space | | | | | + * `-----------------------------------------------------------' + */ + [GAMING] = KEYMAP( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GMLK, \ + _______, KC_RSFT, _______, KC_SPC, _______, _______, _______, _______ + ), + + /* Layout 2: Function Layer + * MicMute requires special software to be installed. Check readme.md for more information + * ,-----------------------------------------------------------. + * |` | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|RES| + * |-----------------------------------------------------------| + * | | | | |Prv|Ply|Nxt| | | | |Prt|Slk|Pau | + * |-----------------------------------------------------------| + * | | | | |Vl-|Mut|Vl+| | | | | |PEnt | + * |-----------------------------------------------------------| + * | | | | |MicMut|Cal| | | | |Pau |PUp |Fn1 | + * |-----------------------------------------------------------| + * | | | | | |Home|PDn |End | + * `-----------------------------------------------------------' + */ + [FUNCTION] = KEYMAP( + 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_INS, RESET, \ + _______, _______, KC_CM_W, KC_CM_E, KC_MPRV, KC_MPLY, KC_MNXT, KC_CM_U, KC_CM_I, KC_CM_O, KC_CM_P, KC_PSCR, KC_SLCK, KC_PAUS, \ + _______, KC_CM_A, KC_CM_S, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_CM_K, KC_CM_L, _______, _______, _______, KC_PENT, \ + _______, _______, KC_CM_Y, _______, KC_CM_C, MICMUTE, KC_CALC, KC_CM_N, KC_CM_M, _______, _______, _______, _______, KC_PGUP, KC_GMLK, \ + _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), +}; + +/* +* Fn action definition +*/ +const uint16_t PROGMEM fn_actions[] = { + [F_SPACEFN] = ACTION_LAYER_TAP_KEY(2, KC_SPACE), // SpaceFn layout 1 + [F_GMLK] = ACTION_LAYER_TOGGLE(1), // Disable SpaceFn and Oneshot Shift + [F_FUNC] = ACTION_LAYER_MOMENTARY(2), // SpaceFn layout 1 + [F_OSLS] = ACTION_MODS_ONESHOT(MOD_LSFT) // Oneshot Leftshift +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + return MACRO_NONE; +}; + +void matrix_init_user(void) { + +} + +void matrix_scan_user(void) { + +} + +bool process_german(uint16_t keycode, keyrecord_t *record) { + uint16_t send_code = 0; + if (record->event.pressed) { + switch (keycode) { + case KC_CM_A: + send_code = KC_Q; + break; + case KC_CM_O: + send_code = KC_P; + break; + case KC_CM_U: + send_code = KC_Y; + break; + case KC_CM_S: + send_code = KC_S; + break; + } + + if (send_code == 0) { + return true; + } + else { + register_code(KC_RALT); + register_code(send_code); + unregister_code(send_code); + unregister_code(KC_RALT); + return false; + } + } + return true; +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + //revive dead keys +#ifndef DONT_REVIVE_DEADKEYS + bool shift_active = keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_LSFT)); + bool altgr_active = keyboard_report->mods & (MOD_BIT(KC_RALT)); + if ((keycode == KC_QUOT && !altgr_active) || + keycode == KC_GRV || + (keycode == KC_6 && shift_active)) + { + if (record->event.pressed) { + register_code(keycode); + unregister_code(keycode); + register_code(KC_SPACE); + unregister_code(KC_SPACE); + } + return false; + } +#endif +#if LANGUAGE == GERMAN + return process_german(keycode, record); +#else + return true; +#endif +} + +void led_set_user(uint8_t usb_led) { + +} \ No newline at end of file diff --git a/keyboards/s60_x/keymaps/ansi_qwertz/readme.md b/keyboards/s60_x/keymaps/ansi_qwertz/readme.md new file mode 100644 index 0000000000..b220106121 --- /dev/null +++ b/keyboards/s60_x/keymaps/ansi_qwertz/readme.md @@ -0,0 +1,94 @@ +# ANSI_QWERTZ + +[Click here to go to the layers directly.](readme.md#1-layers) + +This keymap was specifically designed to support keycaps with ANSI layout and legends, while retaining the possibility of inputting characters +with diacritics that are normally not used in the english language. + +It currently relies on the US-International keyboard layout, which can be installed in any current operating system without the use of third party hardware. + +##0 Features +* Input of letters with diacritics on familiar QWERTZ layout +* Support for ANSI-legend keycaps +* Option to "revive" all dead keys +* Dedicated arrow cluster +* SpaceFN for easy access to Function keys and diacritic input +* Locking "Gaming Mode" that disables SpaceFN and allows to bind GUI key in Games +* Reset key binding, no need to press hardware reset button to program +* Microphone Mute key (requires 3rd-party software, see below) + +###0.0 Languages +The US-International Layout is currently required for the support of non-english languages. This keymap swaps Y and Z to provide the familiar QWERTZ position for characters when using that layout. +All diacritic characters are input by either holding `Space` or `Fn` and pressing the corresponding key. For languages that aren't yet supported explicitly, +one can also use AltGr to input the characters as intended by the US-Intl layout or the dead keys, if they're kept from being [revived](readme.md#04-revive-dead-keys). + +The illustration below shows the "US International" layout available in the Language settings of Windows, Linux and Mac OS. + +![KB_US-International](docs/KB_US-International.png) + +Not all languages are supported by this layout. Linux also offers the "US International Alternative" layout, +which contains more dead keys to input pretty much every diacritic character in a language using latin letters. More information can be found [here](http://web.archive.org/web/20160818101234/http://dry.sailingissues.com/us-international-keyboard-layout.html). + +![KB_US-International-Alternative](docs/KB_US-International-Alternative.png) + +####0.0.0 Explicitly Supported Languages +* German + +####0.0.1 Implicitly Supported Languages +This list only applies to Windows. Linux systems support all languages, see above. This list might be incomplete! Please add your language if you find it's supported. + +* French + +###0.1 SpaceFN +SpaceFN basically means that `Space` acts as a normal spacebar when tapped, but acts as a layer-key when held down. +This means that you can't hold space to output multiple spaces consecutively and that space only registers once released. +The advantage is that the spacebar is easier to reach than any other `Fn`-key could be. + +###0.2 "Gaming Mode" +To alleviate the problems SpaceFN would cause when gaming, the Gaming Mode is pretty much a layer that can be turned on by pressing Fn+RShift. +This will turn the double-role Spacebar into a normal one, so the Fn-layer (and thus function and media keys) can only be accessed with the Fn-key. +It also turns the GUI-key (aka Win-key aka Super-key) into Right Shift, so it can be bound in Games. This is especially useful when playing with ESDF instead of WASD. + +###0.3 Mute Microphone +The function layer has a "Mute Microphone"-key. As this is not an existing media key and you can't normally set a shortcut to this function, +you need to set this up in software before using it, see below. This key is bound to `RCtrl+LCtrl`, a keycombination that +no other program in existence uses for anything, at least to my knowledge. It also can't be pressed with this keymap in any other way. + +####0.3.0 Linux +Follow [these instructions](http://askubuntu.com/a/13364). + +#####0.3.1 Windows (Requires 3rd Party Software) +*DISCLAIMER: I take no responsibility for any potential harm caused by third party applications!* + +You'll need a utility called "MicMute". It is available on [Sourceforge](https://sourceforge.net/projects/micmute/). +After installing and running the tool, you only need to use the "Setup Shortcut" option to bind the key to muting the microphone +and check whether your microphone is selected under "Devices". + +###0.4 Revive Dead Keys +Some diacritics that are commonly used are dead keys on the international layouts, for example `` ` ``, `'`, or `"`. +The dead keys on the regular international layout (shown in red [here](readme.md#00-languages)) are revived with this keymap by automatically inserting a space if one of those characters is typed. +If you don't want this to be the case, uncomment the following line in `keymap.c` prior to compiling: +``` +//#define DONT_REVIVE_DEADKEYS 1 +``` + +##1 Layers +###1.0 Base Layer +The base layer is shown here for ANSI keysm, HHKB-style right shift and split backspace. If you use a 2U backspace key there, `Del` will not be available. +Again, the Y and Z keys are swapped, so you get the QWERTZ-positions of Y and Z when using the US-International layout. + +![base_layer](docs/base_layer.PNG) + +###1.1 Gaming layer +To turn this layer on, please use the combination `Fn+RShift`, not `Space+RShift`. If you do the latter, the Function layer will become stuck. You can press `Fn` once to unstick it if this happens to you. A solution is being worked on. + +![gaming_layer](docs/gaming_layer.PNG) + +###1.2 Function Layer +This is the function layer for German diacritics. It can be accessed via the `Fn` or by holding `Space` on the base layer. + +![function_layer](docs/function_layer.PNG) + + + + diff --git a/keyboards/s60_x/keymaps/custom/keymap.c b/keyboards/s60_x/keymaps/custom/keymap.c new file mode 100644 index 0000000000..66eac33356 --- /dev/null +++ b/keyboards/s60_x/keymaps/custom/keymap.c @@ -0,0 +1,28 @@ +#include "s60_x.h" + +/* Main layer: Test layout, using all keys. + + 0 1 2 3 4 5 6 7 8 9 A B C D E + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + 0 │GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │PGUP │BKSPC│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + 1 │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + 2 │CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │PGDN │ENTER│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + 3 │LSHFT│HOME │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ END │RSHFT│ UP │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + 4 │LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│R_GUI│ APP │RCTRL│█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +*/ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* 0: ANSI qwerty */ + LEGACY_KEYMAP(GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, PGUP, BSPC, \ + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ + CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, PGDN, ENT , \ + LSFT, HOME, Z, X, C, V, B, N, M, COMM, DOT, SLSH, END, RSFT, UP, \ + LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, RCTL), +}; +const uint16_t PROGMEM fn_actions[] = {}; + diff --git a/keyboards/s60_x/keymaps/custom/readme.md b/keyboards/s60_x/keymaps/custom/readme.md new file mode 100644 index 0000000000..cf87bd915f --- /dev/null +++ b/keyboards/s60_x/keymaps/custom/readme.md @@ -0,0 +1,15 @@ +### 8 Custom +The custom keymap - [keymap_custom.c](keymap_custom.c) - is where I tested all the switches, not being concerned with a specific layout or layers. It's a plain layout option with the extra keys used on ISO & HHKB layouts being assigned some other keys. + +#### 8.0 Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │PgUp │BkSpc│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │PgDwn│Enter│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Shift│Home │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ End │Shift│ Up │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60_x/keymaps/dbroqua/keymap.c b/keyboards/s60_x/keymaps/dbroqua/keymap.c new file mode 100644 index 0000000000..8d1887e75a --- /dev/null +++ b/keyboards/s60_x/keymaps/dbroqua/keymap.c @@ -0,0 +1,205 @@ +#include "s60_x.h" + +#define _DEFAULT 0 +#define _FN 1 +#define _SFX 2 + +// Fillers to make layering more clear +#define ______ KC_TRNS + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Qwerty gui/alt/space/alt/gui + * ,-----------------------------------------------------------------------------------------. + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | + * |-----------------------------------------------------------------------------------------+ + * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | + * |-----------------------------------------------------------------------------------------+ + * | Ctrl | A | S | D | F | G | H | J | K | L | ; | ' | Enter | + * |-----------------------------------------------------------------------------------------+ + * | Shift | Z | X | C | V | B | N | M | , | . | / | RShift | FN | + * |-----------------------------------------------------------------------------------------+ + * |LGUI | LAlt | Space | RAlt |RGUI | + * `-----------------------------------------------------------------' + */ + [_DEFAULT] = KEYMAP( /* Basic QWERTY */ + 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, 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, KC_SLSH, ______, KC_RSFT, MO(_FN), \ + ______, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, ______, ______ \ + ), + +/* FN Layer + * ,-----------------------------------------------------------------------------------------. + * | SFX | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del | + * |-----------------------------------------------------------------------------------------+ + * | CAPS | | | | | | | | Psc | Slck| Paus| Up | | | + * |-----------------------------------------------------------------------------------------+ + * | | Vol-| Vol+| Mute| | | * | / | Home| PgUp| Left|Right| | + * |-----------------------------------------------------------------------------------------+ + * | | Prev| Play| Next| | | + | - | End |PgDn| Down| | | + * |-----------------------------------------------------------------------------------------+ + * | | | | Stop | | + * `-----------------------------------------------------------------' + */ + [_FN] = KEYMAP( /* Layer 1 */ + TG(_SFX),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_INS, KC_DEL, \ + KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, ______, \ + ______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT,______, ______, \ + ______, ______, KC_MPRV, KC_MPLY, KC_MNXT,______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN,______, ______, ______, \ + ______, ______, ______, ______, KC_MSTP, ______, ______, ______ \ + ), + + +/* SFX Layer + * ,-----------------------------------------------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | BL- | BL+ | BL | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | RGBT| RGBM| | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | + * `-----------------------------------------------------------------' + */ + [_SFX] = KEYMAP( + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, BL_TOGG,BL_STEP,BL_DEC, BL_INC, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, F(0), F(1), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, F(2), F(3), F(4), F(5), F(6), F(7), ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, ______, ______, ______, ______, ______, ______ \ + ) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + return MACRO_NONE; +} + +enum function_id { + RGBLED_TOGGLE, + RGBLED_STEP_MODE, + RGBLED_INCREASE_HUE, + RGBLED_DECREASE_HUE, + RGBLED_INCREASE_SAT, + RGBLED_DECREASE_SAT, + RGBLED_INCREASE_VAL, + RGBLED_DECREASE_VAL +}; + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_FUNCTION(RGBLED_TOGGLE), + [1] = ACTION_FUNCTION(RGBLED_STEP_MODE), + [2] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), + [3] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), + [4] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), + [5] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), + [6] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), + [7] = ACTION_FUNCTION(RGBLED_DECREASE_VAL) +}; + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { + switch (id) { + case RGBLED_TOGGLE: + if (record->event.pressed) { + #ifdef RGB_ENABLE + rgblight_toggle(); + #endif + } + break; + case RGBLED_INCREASE_HUE: + if (record->event.pressed) { + #ifdef RGB_ENABLE + rgblight_increase_hue(); + #endif + } + break; + case RGBLED_DECREASE_HUE: + if (record->event.pressed) { + #ifdef RGB_ENABLE + rgblight_decrease_hue(); + #endif + } + break; + case RGBLED_INCREASE_SAT: + if (record->event.pressed) { + #ifdef RGB_ENABLE + rgblight_increase_sat(); + #endif + } + break; + case RGBLED_DECREASE_SAT: + if (record->event.pressed) { + #ifdef RGB_ENABLE + rgblight_decrease_sat(); + #endif + } + break; + case RGBLED_INCREASE_VAL: + if (record->event.pressed) { + #ifdef RGB_ENABLE + rgblight_increase_val(); + #endif + } + break; + case RGBLED_DECREASE_VAL: + if (record->event.pressed) { + #ifdef RGB_ENABLE + rgblight_decrease_val(); + #endif + } + break; + case RGBLED_STEP_MODE: + if (record->event.pressed) { + #ifdef RGB_ENABLE + rgblight_step(); + #endif + } + break; + } +} + +void matrix_init_user(void) { +} + +void matrix_scan_user(void) { +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + return true; +} + +void led_set_user(uint8_t usb_led) { + + if (usb_led & (1 << USB_LED_NUM_LOCK)) { + + } else { + + } + + if (usb_led & (1 << USB_LED_CAPS_LOCK)) { + + } else { + + } + + if (usb_led & (1 << USB_LED_SCROLL_LOCK)) { + + } else { + + } + + if (usb_led & (1 << USB_LED_COMPOSE)) { + + } else { + + } + + if (usb_led & (1 << USB_LED_KANA)) { + + } else { + + } + +} \ No newline at end of file diff --git a/keyboards/s60_x/keymaps/default/keymap.c b/keyboards/s60_x/keymaps/default/keymap.c new file mode 100644 index 0000000000..a616e79b34 --- /dev/null +++ b/keyboards/s60_x/keymaps/default/keymap.c @@ -0,0 +1,48 @@ +#include "s60_x.h" + +/* 0: Main layer +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +*/ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* 0: ANSI qwerty */ + LEGACY_KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ + CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT , \ + LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ + LCTL, LGUI, LALT, SPC, RALT, FN0, APP, RCTL), + +/* 1: Fn layer +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │Left │Down │Right│ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +*/ + LEGACY_KEYMAP( + GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ + TRNS, TRNS, UP, TRNS, TRNS, TRNS, TRNS, TRNS, PGUP, PGDN, PSCR, SLCK, PAUS, TRNS, \ + TRNS, LEFT, DOWN, RGHT, 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, TRNS, TRNS, TRNS), +}; + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay +}; diff --git a/keyboards/s60_x/keymaps/default/readme.md b/keyboards/s60_x/keymaps/default/readme.md new file mode 100644 index 0000000000..01cda9df9b --- /dev/null +++ b/keyboards/s60_x/keymaps/default/readme.md @@ -0,0 +1,27 @@ +### 1 Standard - ANSI +The standard keymap is the one that is pre-flashed on the S60-X. + +#### 1.0 Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +#### 1.1 Fn layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │Left │Down │Right│ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60_x/keymaps/hasu/keymap.c b/keyboards/s60_x/keymaps/hasu/keymap.c new file mode 100644 index 0000000000..ac90dc6b20 --- /dev/null +++ b/keyboards/s60_x/keymaps/hasu/keymap.c @@ -0,0 +1,182 @@ +#include "s60_x.h" + +/* + * Hasu + */ +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap 0: Default Layer +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ Fn2 │ ' │▒▒▒▒▒│ENTER│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ Fn1 │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ Fn3 │ Fn3 │ Fn0 │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ + CAPS, A, S, D, F, G, H, J, K, L, FN2, QUOT, NO, ENT, \ + LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, FN1, NO, FN9, NO, \ + LCTL, LGUI, LALT, SPC, RALT, FN3, FN3, FN0), + /* Keymap 1: colemak +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ TAB │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │ \ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│BKSPC│ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │▒▒▒▒▒│ENTER│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│R_WIN│ APP │ Fn0 │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ + TAB, Q, W, F, P, G, J, L, U, Y, SCLN, LBRC, RBRC, BSLS, \ + BSPC, A, R, S, T, D, H, N, E, I, O, QUOT, NO, ENT, \ + LSFT, NO, Z, X, C, V, B, K, M, COMM, DOT, SLSH, NO, RSFT, NO, \ + LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, FN0), + /* Keymap 2: dvorak +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │▒▒▒▒▒│BKSPC│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ TAB │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │ \ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│CAPSL│ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │▒▒▒▒▒│ENTER│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│R_WIN│ APP │ FN0 │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, LBRC, RBRC, NO, BSPC, \ + TAB, QUOT, COMM, DOT, P, Y, F, G, C, R, L, SLSH, EQL, BSLS, \ + CAPS, A, O, E, U, I, D, H, T, N, S, MINS, NO, ENT, \ + LSFT, NO, SCLN, Q, J, K, X, B, M, W, V, Z, NO, RSFT, NO, \ + LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, FN0), + /* Keymap 3: workman +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ TAB │ Q │ D │ E │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │ \ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│BKSPC│ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │▒▒▒▒▒│ENTER│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ Z │ X │ M │ C │ V │ K │ L │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│R_WIN│ APP │ FN0 │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ + TAB, Q, D, R, W, B, J, F, U, P, SCLN, LBRC, RBRC, BSLS, \ + BSPC, A, S, H, T, G, Y, N, E, O, I, QUOT, NO, ENT, \ + LSFT, NO, Z, X, M, C, V, K, L, COMM, DOT, SLSH, NO, RSFT, NO, \ + LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, FN0), + /* Overlay 4: HHKB mode +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ Del │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│Caps │ │ │ │ │ │ │ │ Psc │ Slk │Pause│ Up │ │ Ins │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│ VoD │ VoU │Mute │ │ │NP_* │NP_/ │Home │PgUp │Left │Right│▒▒▒▒▒│Enter│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ │ │ │ │ │NP_+ │NP_- │ End │PgDwn│Down │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_GUI│L_ALT│█████│█████│█████│Space│█████│█████│█████│R_ALT│R_GUI│ App │ │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, DEL, \ + CAPS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PSCR, SLCK, PAUS, UP, TRNS, INS, \ + LCTL, VOLD, VOLU, MUTE, TRNS, TRNS, PAST, PSLS, HOME, PGUP, LEFT, RGHT, TRNS, ENT, \ + LSFT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PPLS, PMNS, END, PGDN, DOWN, TRNS, RSFT, TRNS, \ + LCTL, LGUI, LALT, SPC, RALT, RGUI, FN4, TRNS), + /* Overlay 5: Vi mode (Slash) +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│BkSpc│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ Tab │Home │PgDwn│ Up │PgUp │ End │Home │PgDwn│PgUp │ End │ │ │ │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│ │Left │Down │Right│ │Left │Down │ Up │Right│ │ │▒▒▒▒▒│Enter│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ │ │ │ │ │Home │PgDwn│PgUp │ End │ │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_GUI│L_ALT│█████│█████│█████│Space│█████│█████│█████│R_ALT│R_GUI│ APP │RCTRL│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, BSPC, \ + TAB, HOME, PGDN, UP, PGUP, END, HOME, PGDN, PGUP, END, TRNS, TRNS, TRNS, TRNS, \ + LCTL, TRNS, LEFT, DOWN, RGHT, TRNS, LEFT, DOWN, UP, RGHT, TRNS, TRNS, TRNS, ENT, \ + LSFT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, HOME, PGDN, PGUP, END, TRNS, TRNS, RSFT, TRNS, \ + LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, RCTL), + /* Overlay 6: Mouse mode (Semicolon/App) +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│BkSpc│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ Tab │ │ │ │ │ │ MwL │ MwD │ MwU │ MwR │ │ │ │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│ │ Ac0 │ Ac1 │ Ac2 │ │ McL │ McD │ McU │ McR │ │ │▒▒▒▒▒│Enter│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSFHT│▒▒▒▒▒│ │ │ │ │ Mb3 │ Mb2 │ Mb1 │ Mb4 │ Mb5 │ │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_GUI│L_ALT│█████│█████│█████│ Mb1 │█████│█████│█████│ │ │ │RCTRL│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel + */ + LEGACY_KEYMAP( + GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, BSPC, \ + TAB, TRNS, TRNS, TRNS, TRNS, TRNS, WH_L, WH_D, WH_U, WH_R, TRNS, TRNS, TRNS, TRNS, \ + LCTL, TRNS, ACL0, ACL1, ACL2, TRNS, MS_L, MS_D, MS_U, MS_R, TRNS, TRNS, TRNS, ENT, \ + LSFT, TRNS, TRNS, TRNS, TRNS, TRNS, BTN3, BTN2, BTN1, BTN4, BTN5, TRNS, TRNS, RSFT, TRNS, \ + LCTL, LGUI, LALT, BTN1, TRNS, TRNS, TRNS, RCTL), + /* Overlay 7: Layout selector +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ Lq │ Lc │ Ld │ Lw │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ Lq │ Lw │ │ │ │ │ │ │ │ │ │ │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ Ld │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ │ │ Lc │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + +Lq: set Qwerty layout +Lc: set Colemak layout +Ld: set Dvorak layout +Lw: set Workman layout + + */ + LEGACY_KEYMAP( + FN5, FN6, FN7, FN8, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ + TRNS, FN5, FN8, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ + TRNS, TRNS, TRNS, FN7, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ + TRNS, TRNS, TRNS, TRNS, FN6, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), +}; + +/* + * Fn action definition + */ +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_MOMENTARY(4), + [1] = ACTION_LAYER_TAP_KEY(5, KC_SLASH), + [2] = ACTION_LAYER_TAP_KEY(6, KC_SCLN), + [3] = ACTION_LAYER_MOMENTARY(6), + [4] = ACTION_LAYER_MOMENTARY(7), // to Layout selector + [5] = ACTION_DEFAULT_LAYER_SET(0), // set qwerty layout + [6] = ACTION_DEFAULT_LAYER_SET(1), // set colemak layout + [7] = ACTION_DEFAULT_LAYER_SET(2), // set dvorak layout + [8] = ACTION_DEFAULT_LAYER_SET(3), // set workman layout + [9] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_GRV), +}; diff --git a/keyboards/s60_x/keymaps/hasu/readme.md b/keyboards/s60_x/keymaps/hasu/readme.md new file mode 100644 index 0000000000..64969b616d --- /dev/null +++ b/keyboards/s60_x/keymaps/hasu/readme.md @@ -0,0 +1,4 @@ +### 5. Hasu +This is Hasu's favorite keymap with HHKB Fn, Vi cursor and Mousekey layer. See [keymap_hasu.c](keymap_hasu.c) for detail. + +(Hasu is the initial creator of the TMK firmware, in case you weren't aware.) \ No newline at end of file diff --git a/keyboards/s60_x/keymaps/hhkb/keymap.c b/keyboards/s60_x/keymaps/hhkb/keymap.c new file mode 100644 index 0000000000..dc1bfffc47 --- /dev/null +++ b/keyboards/s60_x/keymaps/hhkb/keymap.c @@ -0,0 +1,52 @@ +#include "s60_x.h" + +/* + * HHKB Layout + */ +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* 0: Default layer +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │BkSpc│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Fn3 │ ' │▒▒▒▒▒│Enter│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│Shift│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│Shift│ Fn │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│▒▒▒▒▒│ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│▒▒▒▒▒│ Alt │ Gui │▒▒▒▒▒│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, BSLS, GRV, \ + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSPC, \ + LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \ + LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, FN0, \ + NO, LGUI, LALT, SPC, NO, RALT, RGUI, NO), + /* 1: HHKB Fn layer +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ Pwr │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ Ins │ Del │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│Caps │ │ │ │ │ │ │ │ Psc │ Slk │ Pus │ Up │ │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ VoD │ VoU │ Mut │ Ejc │ │NP_* │NP_/ │Home │PgUp │Left │Right│▒▒▒▒▒│NPEnt│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ │ │ │ │ │NP_+ │NP_- │ End │PgDwn│Down │▒▒▒▒▒│ │ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│▒▒▒▒▒│ │ │█████│█████│█████│ │█████│█████│█████│▒▒▒▒▒│ │ │▒▒▒▒▒│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + PWR, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, \ + CAPS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PSCR, SLCK, PAUS, UP, TRNS, TRNS, \ + TRNS, VOLD, VOLU, MUTE, EJCT, TRNS, PAST, PSLS, HOME, PGUP, LEFT, RGHT, NO, PENT, \ + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PPLS, PMNS, END, PGDN, DOWN, NO, TRNS, TRNS, \ + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), +}; + +/* + * Fn action definition + */ +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_MOMENTARY(1), +}; diff --git a/keyboards/s60_x/keymaps/hhkb/readme.md b/keyboards/s60_x/keymaps/hhkb/readme.md new file mode 100644 index 0000000000..2bceb26dd5 --- /dev/null +++ b/keyboards/s60_x/keymaps/hhkb/readme.md @@ -0,0 +1,26 @@ +### 7. HHKB +[keymap_hhkb.c](keymap_hhkb.c) emulates original HHKB layers. +#### 7.0: Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │BkSpc│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Fn3 │ ' │▒▒▒▒▒│Enter│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Shift│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│Shift│ Fn │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │▒▒▒▒▒│ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│▒▒▒▒▒│ Alt │ Gui │▒▒▒▒▒│█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +#### 7.1: HHKB Fn layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ Pwr │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ Ins │ Del │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Caps │ │ │ │ │ │ │ │ Psc │ Slk │ Pus │ Up │ │ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ VoD │ VoU │ Mut │ Ejc │ │ * │ / │Home │PgUp │Left │Right│▒▒▒▒▒│Enter│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │▒▒▒▒▒│ │ │ │ │ │ + │ - │ End │PgDwn│Down │▒▒▒▒▒│ │ │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │▒▒▒▒▒│ │ │█████│█████│█████│ │█████│█████│█████│▒▒▒▒▒│ │ │▒▒▒▒▒│█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60_x/keymaps/iso/keymap.c b/keyboards/s60_x/keymaps/iso/keymap.c new file mode 100644 index 0000000000..f6fc741728 --- /dev/null +++ b/keyboards/s60_x/keymaps/iso/keymap.c @@ -0,0 +1,48 @@ +#include "s60_x.h" + +/* 0: Main layer +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │▒▒▒▒▒│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │NUHS │ENTER│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +*/ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* 0: ANSI qwerty */ + LEGACY_KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, NO, \ + CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NUHS, ENT , \ + LSFT, BSLS, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ + LCTL, LGUI, LALT, SPC, RALT, FN0, APP, RCTL), + +/* 1: Fn layer +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│▒▒▒▒▒│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │Left │Down │Right│ │ │ │ │ │ │ │ │ │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +*/ + LEGACY_KEYMAP( + GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ + TRNS, TRNS, UP, TRNS, TRNS, TRNS, TRNS, TRNS, PGUP, PGDN, PSCR, SLCK, PAUS, TRNS, \ + TRNS, LEFT, DOWN, RGHT, 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, TRNS, TRNS, TRNS), +}; + +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay +}; diff --git a/keyboards/s60_x/keymaps/iso/readme.md b/keyboards/s60_x/keymaps/iso/readme.md new file mode 100644 index 0000000000..2c06bf86f0 --- /dev/null +++ b/keyboards/s60_x/keymaps/iso/readme.md @@ -0,0 +1,28 @@ +### 2 Standard - ISO +The same as the standard keymap, but with additional ISO keys. + + +#### 2.0 Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │▒▒▒▒▒│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │NUHS │ENTER│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │LSHFT│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +#### 2.1 Fn layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│▒▒▒▒▒│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │Left │Down │Right│ │ │ │ │ │ │ │ │ │ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60_x/keymaps/jpec/keymap.c b/keyboards/s60_x/keymaps/jpec/keymap.c new file mode 100644 index 0000000000..21e77c10b2 --- /dev/null +++ b/keyboards/s60_x/keymaps/jpec/keymap.c @@ -0,0 +1,92 @@ +/* +Copyright 2016 Julien Pecqueur +Copyright 2016 Felix Uhl + +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 . +*/ + +#include "s60_x.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Layout 0: Default Layer + * ,-----------------------------------------------------------. + * |` | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | + * |-----------------------------------------------------------| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| + * |-----------------------------------------------------------| + * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return | + * |-----------------------------------------------------------| + * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | + * |-----------------------------------------------------------| + * |Fn1 |Gui |Alt | SpaceFn |Alt |Gui |App |Ctrl| + * `-----------------------------------------------------------' + */ + LEGACY_KEYMAP( + GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, BSPC, BSPC, \ + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ + LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NUHS, ENT, \ + LSFT, NUBS, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ + FN1, LGUI, LALT, FN0, RALT, RGUI, APP, RCTL), + + /* Layout 1: Function Layer + * ,-----------------------------------------------------------. + * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete | + * |-----------------------------------------------------------| + * | |Prv|Ply|Nxt|Stp| | |PUp|Up |PDn| |Slk|Pau|Ins | + * |-----------------------------------------------------------| + * | |Vl-|Mut|Vl+| | |Hom|Lef|Dow|Rig|End| |PEnt | + * |-----------------------------------------------------------| + * | |Prt|Cut|Cop|Pst|Cal| | | | | |CapsLock | + * |-----------------------------------------------------------| + * | | | | | | | | | + * `-----------------------------------------------------------' + */ + LEGACY_KEYMAP( + ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, DEL, \ + TRNS, MPRV, MPLY, MNXT, MSTP, TRNS, TRNS, PGUP, UP, PGDN, TRNS, SLCK, PAUS, INS, \ + TRNS, VOLD, MUTE, VOLU, TRNS, TRNS, HOME, LEFT, DOWN, RGHT, END, TRNS, TRNS, PENT, \ + TRNS, TRNS, PSCR, FN2, FN3, FN4, CALC, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CAPS, TRNS, \ + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), +}; + +/* +* Fn action definition +*/ +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_TAP_KEY(1, KC_SPACE), /* SpaceFn layout 1 */ + [1] = ACTION_LAYER_MOMENTARY(1), /* Momentary layout 1 */ + [2] = ACTION_MODS_KEY(MOD_LSFT, KC_DEL), /* Cut */ + [3] = ACTION_MODS_KEY(MOD_LCTL, KC_INS), /* Copy */ + [4] = ACTION_MODS_KEY(MOD_LSFT, KC_INS), /* Paste */ +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + return MACRO_NONE; +}; + + +void matrix_init_user(void) { + +} + +void matrix_scan_user(void) { + +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + return true; +} + +void led_set_user(uint8_t usb_led) { + +} \ No newline at end of file diff --git a/keyboards/s60_x/keymaps/jpec/readme.md b/keyboards/s60_x/keymaps/jpec/readme.md new file mode 100644 index 0000000000..73318dad72 --- /dev/null +++ b/keyboards/s60_x/keymaps/jpec/readme.md @@ -0,0 +1 @@ +# The default keymap for s60-x \ No newline at end of file diff --git a/keyboards/s60_x/keymaps/plain/keymap.c b/keyboards/s60_x/keymaps/plain/keymap.c new file mode 100644 index 0000000000..d5075a07b9 --- /dev/null +++ b/keyboards/s60_x/keymaps/plain/keymap.c @@ -0,0 +1,25 @@ +#include "s60_x.h" + +/* Main layer: +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│R_GUI│ APP │RCTRL│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +*/ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* 0: qwerty */ + LEGACY_KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ + CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \ + LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ + LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, RCTL), +}; +const uint16_t PROGMEM fn_actions[] = {}; diff --git a/keyboards/s60_x/keymaps/plain/readme.md b/keyboards/s60_x/keymaps/plain/readme.md new file mode 100644 index 0000000000..ab13323e3b --- /dev/null +++ b/keyboards/s60_x/keymaps/plain/readme.md @@ -0,0 +1,16 @@ +### 4. Plain +Without any Fn layer this will be useful if you want to use key remapping tool like AHK on host. +See [keymap_plain.c](keymap_plain.c) for detail. + +#### 4.0 Plain Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60_x/keymaps/poker/keymap.c b/keyboards/s60_x/keymaps/poker/keymap.c new file mode 100644 index 0000000000..5b917704e4 --- /dev/null +++ b/keyboards/s60_x/keymaps/poker/keymap.c @@ -0,0 +1,180 @@ +#include "s60_x.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* 0: qwerty +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ + CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \ + LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ + LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), + /* 1: colemak +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ TAB │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │ \ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│BKSPC│ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │▒▒▒▒▒│ENTER│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ + TAB, Q, W, F, P, G, J, L, U, Y, SCLN, LBRC, RBRC, BSLS, \ + BSPC, A, R, S, T, D, H, N, E, I, O, QUOT, NO, ENT, \ + LSFT, NO, Z, X, C, V, B, K, M, COMM, DOT, SLSH, NO, RSFT, NO, \ + LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), + /* 2: dvorak +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │▒▒▒▒▒│BKSPC│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ TAB │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │ \ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│CAPSL│ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │▒▒▒▒▒│ENTER│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, LBRC, RBRC, NO, BSPC, \ + TAB, QUOT, COMM, DOT, P, Y, F, G, C, R, L, SLSH, EQL, BSLS, \ + CAPS, A, O, E, U, I, D, H, T, N, S, MINS, NO, ENT, \ + LSFT, NO, SCLN, Q, J, K, X, B, M, W, V, Z, NO, RSFT, NO, \ + LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), + /* 3: workman +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ TAB │ Q │ D │ E │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │ \ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│BKSPC│ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │▒▒▒▒▒│ENTER│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ Z │ X │ M │ C │ V │ K │ L │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ + TAB, Q, D, R, W, B, J, F, U, P, SCLN, LBRC, RBRC, BSLS, \ + BSPC, A, S, H, T, G, Y, N, E, O, I, QUOT, NO, ENT, \ + LSFT, NO, Z, X, M, C, V, K, L, COMM, DOT, SLSH, NO, RSFT, NO, \ + LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), + /* 4: Poker with Arrow +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ Up │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ │█████│█████│█████│ │Left │Down │Right│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + 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, 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, UP, TRNS, \ + TRNS, TRNS, TRNS, TRNS, TRNS, LEFT, DOWN, RGHT), + /* 5: Poker with Esc +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ ESC │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + ESC, 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, 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, TRNS, TRNS, TRNS, TRNS, TRNS), + /* 6: Poker Fn +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ FnQ │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ FnL │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Tsk │ End │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ FnS │█████│█████│█████│ │ │ │ │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + +Fn: to Fn overlay +FnL: to Layout selector overaly +FnQ: toggle Esc overlay +FnS: toggle Arrow overlay + + */ + LEGACY_KEYMAP( + ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ + TRNS, FN2, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, FN4, \ + TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN3, END, TRNS, TRNS, \ + TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, TRNS, TRNS, \ + TRNS, TRNS, TRNS, FN1, TRNS, TRNS, TRNS, TRNS), + /* 7: Layout selector +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ Lq │ Lc │ Ld │ Lw │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ Lq │ Lw │ │ │ │ │ │ │ │ │ │ │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ Ld │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ │ │ Lc │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + +Lq: set Qwerty layout +Lc: set Colemak layout +Ld: set Dvorak layout +Lw: set Workman layout + + */ + LEGACY_KEYMAP( + FN5, FN6, FN7, FN8, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ + TRNS, FN5, FN8, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ + TRNS, TRNS, TRNS, FN7, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ + TRNS, TRNS, TRNS, TRNS, FN6, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), +}; +const uint16_t PROGMEM fn_actions[] = { + /* Poker Layout */ + [0] = ACTION_LAYER_MOMENTARY(6), // to Fn overlay + [1] = ACTION_LAYER_TOGGLE(4), // toggle arrow overlay + [2] = ACTION_LAYER_TOGGLE(5), // toggle Esc overlay + [3] = ACTION_MODS_KEY(MOD_RCTL|MOD_RSFT, KC_ESC), // Task(RControl,RShift+Esc) + [4] = ACTION_LAYER_MOMENTARY(7), // to Layout selector + [5] = ACTION_DEFAULT_LAYER_SET(0), // set qwerty layout + [6] = ACTION_DEFAULT_LAYER_SET(1), // set colemak layout + [7] = ACTION_DEFAULT_LAYER_SET(2), // set dvorak layout + [8] = ACTION_DEFAULT_LAYER_SET(3), // set workman layout +}; diff --git a/keyboards/s60_x/keymaps/poker/readme.md b/keyboards/s60_x/keymaps/poker/readme.md new file mode 100644 index 0000000000..0d8be9d0f8 --- /dev/null +++ b/keyboards/s60_x/keymaps/poker/readme.md @@ -0,0 +1,31 @@ +### 3 Poker +[keymap_poker.c](keymap_poker.c) emulates original Poker layers +while both [keymap_poker_bit.c](keymap_poker_bit.c) and [keymap_poker_set.c](keymap_poker_set.c) implements same layout in different way and they fix a minor issue of original Poker and enhance arrow keys. + + Fn + Esc = ` + Fn + {left, down, up, right} = {home, pgdown, pgup, end} + +#### 3.0 Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Fn │ Gui │ App │Ctrl │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +#### 3.1 Poker Fn layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ FnQ │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Tsk │ End │▒▒▒▒▒│ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ Up │▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │█████│█████│█████│ FnS │█████│█████│█████│ Fn │Left │Down │Right│█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60_x/keymaps/poker_bit/keymap.c b/keyboards/s60_x/keymaps/poker_bit/keymap.c new file mode 100644 index 0000000000..1f7b1b633d --- /dev/null +++ b/keyboards/s60_x/keymaps/poker_bit/keymap.c @@ -0,0 +1,110 @@ +#include "s60_x.h" + +// Poker fix with toggle and bit operation +// Fn + Esc = ` +// Fn + {left, down, up, right} = {home, pgdown, pgup, end} +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* 0: qwerty +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ + LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \ + LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ + LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), + /* 4: Poker Default + Fn'd +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│Caps │ Fn2 │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Fn4 │ End │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ Fn1 │█████│█████│█████│ │ │ │ │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + [4] = LEGACY_KEYMAP( + TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ + CAPS, FN2, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, TRNS, \ + TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN4, END, TRNS, TRNS, \ + TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, TRNS, TRNS, \ + TRNS, TRNS, TRNS, FN1, TRNS, TRNS, TRNS, TRNS), + /* 5: Poker with Arrow +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│PgUp │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ │█████│█████│█████│ Fn3 │Home │PgDwn│ End │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + 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, 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, PGUP, TRNS, \ + TRNS, TRNS, TRNS, TRNS, FN3, HOME, PGDN, END), + /* 6: Poker with Esc +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ ESC │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + ESC, 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, 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, TRNS, TRNS, TRNS, TRNS, TRNS), + /* 7: Poker with Arrow + Fn'd +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ Up │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ │█████│█████│█████│ │Left │Down │Right│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + 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, 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, UP, TRNS, \ + TRNS, TRNS, TRNS, TRNS, TRNS, LEFT, DOWN, RGHT), +}; +const uint16_t PROGMEM fn_actions[] = { + /* Poker Layout */ + [0] = ACTION_LAYER_BIT_XOR(1, 0b0101, ON_BOTH), // Poker Fn(with fix for Esc) + [1] = ACTION_LAYER_TOGGLE(5), // Poker Arrow toggle + [2] = ACTION_LAYER_TOGGLE(6), // Poker Esc toggle + [3] = ACTION_LAYER_BIT_XOR(1, 0b1101, ON_BOTH), // Poker Fn(with fix for Arrow) + [4] = ACTION_MODS_KEY(MOD_RCTL|MOD_RSFT, KC_ESC), // FN3 Task(RControl,RShift+Esc) +}; diff --git a/keyboards/s60_x/keymaps/poker_bit/readme.md b/keyboards/s60_x/keymaps/poker_bit/readme.md new file mode 100644 index 0000000000..0d8be9d0f8 --- /dev/null +++ b/keyboards/s60_x/keymaps/poker_bit/readme.md @@ -0,0 +1,31 @@ +### 3 Poker +[keymap_poker.c](keymap_poker.c) emulates original Poker layers +while both [keymap_poker_bit.c](keymap_poker_bit.c) and [keymap_poker_set.c](keymap_poker_set.c) implements same layout in different way and they fix a minor issue of original Poker and enhance arrow keys. + + Fn + Esc = ` + Fn + {left, down, up, right} = {home, pgdown, pgup, end} + +#### 3.0 Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Fn │ Gui │ App │Ctrl │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +#### 3.1 Poker Fn layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ FnQ │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Tsk │ End │▒▒▒▒▒│ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ Up │▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │█████│█████│█████│ FnS │█████│█████│█████│ Fn │Left │Down │Right│█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60_x/keymaps/poker_set/keymap.c b/keyboards/s60_x/keymaps/poker_set/keymap.c new file mode 100644 index 0000000000..52eee53218 --- /dev/null +++ b/keyboards/s60_x/keymaps/poker_set/keymap.c @@ -0,0 +1,178 @@ +#include "s60_x.h" + +// Poker fix with set(state transition) +// Fn + Esc = ` +// Fn + {left, down, up, right} = {home, pgdown, pgup, end} +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* 0: qwerty +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ + LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \ + LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ + LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), + /* 1: Poker with Arrow +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ Up │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ │█████│█████│█████│ Fn1 │Left │Down │Right│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + 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, 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, UP, TRNS, \ + TRNS, TRNS, TRNS, TRNS, FN1, LEFT, DOWN, RGHT), + /* 2: Poker with Esc +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ ESC │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ │█████│█████│█████│ Fn2 │ │ │ │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + ESC, 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, 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, TRNS, FN2, TRNS, TRNS, TRNS), + /* 3: Poker with Arrow and Esc +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ Esc │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ Up │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ │█████│█████│█████│ Fn3 │Left │Down │Right│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + ESC, 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, 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, UP, TRNS, \ + TRNS, TRNS, TRNS, TRNS, FN3, LEFT, DOWN, RGHT), + /* 4: Poker Fn'd +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ Fn6 │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Fn8 │ End │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ Fn5 │█████│█████│█████│ Fn4 │ │ │ │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ + TRNS, FN6, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, TRNS, \ + TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN8, END, TRNS, TRNS, \ + TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, TRNS, TRNS, \ + TRNS, TRNS, TRNS, FN5, FN4, TRNS, TRNS, TRNS), + /* 5: Poker Fn'd arrow +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ Fn7 │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Fn8 │ End │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│PgUp │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ Fn4 │█████│█████│█████│ Fn5 │Home │PgDwn│ End │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ + TRNS, FN7, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, TRNS, \ + TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN8, END, TRNS, TRNS, \ + TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, PGUP, TRNS, \ + TRNS, TRNS, TRNS, FN4, FN5, HOME, PGDN, END), + /* 6: Poker Fn'd Esc +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ Fn4 │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Fn8 │ End │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ Fn7 │█████│█████│█████│ Fn6 │ │ │ │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ + TRNS, FN4, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, TRNS, \ + TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN8, END, TRNS, TRNS, \ + TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, TRNS, TRNS, \ + TRNS, TRNS, TRNS, FN7, FN6, TRNS, TRNS, TRNS), + /* 7: Poker Fn'd Arrow + Esc +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ Fn5 │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Fn8 │ End │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│PgUp │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ Fn6 │█████│█████│█████│ Fn7 │Home │PgDwn│ End │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \ + TRNS, FN5, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, TRNS, \ + TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN8, END, TRNS, TRNS, \ + TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, PGUP, TRNS, \ + TRNS, TRNS, TRNS, FN6, FN7, HOME, PGDN, END), +}; + +/* + * Fn action definition + */ +const uint16_t PROGMEM fn_actions[] = { + /* Poker Layout */ + [0] = ACTION_LAYER_SET(4, ON_PRESS), // FN0 move to Fn'd when press + [1] = ACTION_LAYER_SET(5, ON_PRESS), // FN1 move to Fn'd arrow when press + [2] = ACTION_LAYER_SET(6, ON_PRESS), // FN2 move to Fn'd Esc when press + [3] = ACTION_LAYER_SET(7, ON_PRESS), // FN3 move to Fn'd arrow + Esc when press + + //[4] = ACTION_LAYER_CLEAR(ON_RELEASE), // FN4 clear overlay when release + [4] = ACTION_LAYER_SET(0, ON_RELEASE), // FN4 clear overlay when release + [5] = ACTION_LAYER_SET(1, ON_RELEASE), // FN5 move to arrow when release + [6] = ACTION_LAYER_SET(2, ON_RELEASE), // FN6 move to Esc when release + [7] = ACTION_LAYER_SET(3, ON_RELEASE), // FN7 move to arrow + Esc when release + + [8] = ACTION_MODS_KEY(MOD_RCTL|MOD_RSFT, KC_ESC), // FN8 Task(RControl,RShift+Esc) +}; diff --git a/keyboards/s60_x/keymaps/poker_set/readme.md b/keyboards/s60_x/keymaps/poker_set/readme.md new file mode 100644 index 0000000000..0d8be9d0f8 --- /dev/null +++ b/keyboards/s60_x/keymaps/poker_set/readme.md @@ -0,0 +1,31 @@ +### 3 Poker +[keymap_poker.c](keymap_poker.c) emulates original Poker layers +while both [keymap_poker_bit.c](keymap_poker_bit.c) and [keymap_poker_set.c](keymap_poker_set.c) implements same layout in different way and they fix a minor issue of original Poker and enhance arrow keys. + + Fn + Esc = ` + Fn + {left, down, up, right} = {home, pgdown, pgup, end} + +#### 3.0 Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Fn │ Gui │ App │Ctrl │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +#### 3.1 Poker Fn layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ FnQ │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Tsk │ End │▒▒▒▒▒│ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ Up │▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │█████│█████│█████│ FnS │█████│█████│█████│ Fn │Left │Down │Right│█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60_x/keymaps/spacefn/keymap.c b/keyboards/s60_x/keymaps/spacefn/keymap.c new file mode 100644 index 0000000000..28369580ed --- /dev/null +++ b/keyboards/s60_x/keymaps/spacefn/keymap.c @@ -0,0 +1,55 @@ +#include "s60_x.h" + +/* + * SpaceFN + * http://geekhack.org/index.php?topic=51069.0 + */ +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap 0: Default Layer +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│LCTRL│L_GUI│L_ALT│█████│█████│█████Spc/Fn0█████│█████│█████│R_ALT│R_GUI│ APP │RCTRL│█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \ + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \ + CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \ + LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \ + LCTL, LGUI, LALT, FN0, RALT, RGUI, APP, RCTL), + + /* Overlay 1: SpaceFN +┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ +│ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ Del │ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ Esc │ │ │ │Home │ Up │ End │Pscr │Slck │Pause│ Ins │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │ │ │ │PgUp │Left │Down │Right│ │ │▒▒▒▒▒│ │█████│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │▒▒▒▒▒│ │ │ │Space│PgDwn│ ` │ ~ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ +├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ +│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ +└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + */ + LEGACY_KEYMAP( + GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, DEL, \ + TRNS, TRNS, TRNS, ESC, TRNS, TRNS, TRNS, HOME, UP, END, PSCR, SLCK, PAUS, INS, \ + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PGUP, LEFT, DOWN, RGHT, TRNS, TRNS, TRNS, TRNS, \ + TRNS, TRNS, TRNS, TRNS, TRNS, SPC, PGDN, GRV, FN1, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ + TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), +}; + +/* + * Fn action definition + */ +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_TAP_KEY(1, KC_SPACE), + [1] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV), // tilde +}; diff --git a/keyboards/s60_x/keymaps/spacefn/readme.md b/keyboards/s60_x/keymaps/spacefn/readme.md new file mode 100644 index 0000000000..d04bd94865 --- /dev/null +++ b/keyboards/s60_x/keymaps/spacefn/readme.md @@ -0,0 +1,27 @@ +### 6. SpaceFN +This layout proposed by spiceBar uses space bar to change layer with using Dual role key technique. See [keymap_spacefn.c](keymap_spacefn.c) and [SpaceFN discussion](http://geekhack.org/index.php?topic=51069.0). + +#### 6.0 Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Ctrl │ Gui │ Alt │█████│█████│████ Space/Fn ███│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +#### 6.1 SpaceFN layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ Del │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │ │ │ │ │Home │ Up │ End │ Psc │ Slk │Pause│ Ins │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │ │ │ │PgUp │Left │Down │Right│ │ │▒▒▒▒▒│ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │▒▒▒▒▒│ │ │ │ │Space│PgDwn│ ` │ ~ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │█████│█████│█████│ Fn │█████│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ diff --git a/keyboards/s60_x/readme.md b/keyboards/s60_x/readme.md new file mode 100644 index 0000000000..e30b2f76ce --- /dev/null +++ b/keyboards/s60_x/readme.md @@ -0,0 +1,255 @@ +S60-x keyboard firmware +====================== +DIY compact keyboard designed by VinnyCordeiro for Sentraq. Most of the keymaps are based on GH60 code. This is a port from TMK to QMK based on the [original S60-X Repo](https://github.com/VinnyCordeiro/tmk_keyboard). + +## S60X Resources +- [Massdrop page](https://www.massdrop.com/buy/sentraq-60-diy-keyboard-kit?mode=guest_open) + +## Flashing your keyboard +The recommended programs for flashing your keyboard are [Atmel FLIP](http://www.atmel.com/tools/FLIP.aspx) (Windows) and [dfu-programmer](http://dfu-programmer.sourceforge.net/) (Linux/Windows). + +[QMK Firmware Flasher](https://github.com/qmk/qmk_firmware_flasher/releases) may work, as the S60-X keyboard uses the ATMega32U4 microcontroller, but it is untested. Use at your own risk. + +[Easy AVR USB Keyboard Firmware](https://deskthority.net/wiki/Easy_AVR_USB_Keyboard_Firmware) also supports S60-X, but it is completely unrelated to TMK firmware. Use at your own risk. + +**Programming the firmware (Windows)** + +1. download and install FLIP (http://www.atmel.com/tools/FLIP.aspx) +2. connect the keyboard, press the program button on the underside of the board (S1) and wait until it enumerates (you'll hear the "disconnect" and "connect" sound) +3. go to device manager, find the atmega32u4 chip and click "update driver" +4. choose location manually: folder named "usb" inside the installation directory of FLIP +5. once the driver is installed, run flip +6. Device -> Select: choose ATMega32U4 +7. Settings -> Communication -> USB, FLIP should show the signature at this point (58 1E 95 87) +8. File -> Load HEX file: choose the hex firmware: .hex +9. click "Run" +10. after programming is done, disconnect the device from USB and connect again. + + +**Programming the firmware (Linux)** + +1. Download and install/compile/unpack dfu-programmer from http://dfu-programmer.sourceforge.net/. +2. Issue the following commands in the command prompt after connecting the device and pressing the programming button (S1). You may need root permissions or udev rules to do that. + 1. `sudo dfu-programmer atmega32u4 erase` + 2. `sudo dfu-programmer atmega32u4 flash .hex` + 3. `sudo dfu-programmer atmega32u4 start` +3. The keyboard should start working. If it doesn't, reconnect the cable. + +## Building the firmware + +To build the firmware binary hex file with a keymap just do `make` with a keymap like this: + + $ make [custom|poker|poker_set|poker_bit|plain|hasu|spacefn|hhkb|] + +For a more detailed explanation of the build process and the environment setup, see the ["Getting Started" section](/readme.md#getting-started). + +## List of included Keymaps + +Several versions of keymaps are available in advance but you are recommended to define your favorite layout yourself. +To define your own keymap, copy the [default keymap template](/quantum/template/keymaps/default) directory into the `keymaps` directory and start modifying the `keymap.c` file. Some options might require you to change the `config.h` or `Makefile` as well, refer to the main documentation for more information on those. +If you want to later merge your finalised keymap into this repository to make it available for everyone, make sure to also modify the `readme.md` in your keymap directory to show a visual version of your keymap. + +Here's a list of the standard layouts that are provided with the precompiled .hex-files. + +### 0 Initial explanations +The █████ blocks on the layouts hides the switch positions that do not exist physically on the PCB. If you feel like hacking the keyboard and adding new keys, those are the positions that can be used. You'll have to modify the [keymap_common.h](keymap_common.h) file for that. + +The ▒▒▒▒▒ blocks hides switch positions not used on this particular layout, but they do exist on the PCB. + +There is no LED support on the PCB at the moment, but I'll let the code for that untouched. + + +### 1 [Standard - ANSI (default layout)](keymaps/default/keymap.c) +The standard keymap is the one that is pre-flashed on the S60-X. + +#### 1.0 Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +#### 1.1 Fn layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │Left │Down │Right│ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + + +### 2 [Standard - ISO](keymaps/iso/keymap.c) +The same as the standard keymap, but with additional ISO keys. + + +#### 2.0 Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │▒▒▒▒▒│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │NUHS │ENTER│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │LSHFT│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +#### 2.1 Fn layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│▒▒▒▒▒│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │Left │Down │Right│ │ │ │ │ │ │ │ │ │ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + + +### 3 Poker +[The poker keymap](keymaps/poker/keymap.c) emulates original Vortex Poker layers +while both [poker_bit](keymaps/poker_bit/keymap.c) and [poker_set](keymap/poker_set/keymap.c) implement the same layout in a slightly different way, fix a minor issue of the original poker Layout and enhance arrow keys. + + Fn + Esc = ` + Fn + {left, down, up, right} = {home, pgdown, pgup, end} + +#### 3.0 Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Fn │ Gui │ App │Ctrl │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +#### 3.1 Poker Fn layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ FnQ │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Tsk │ End │▒▒▒▒▒│ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ Up │▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │█████│█████│█████│ FnS │█████│█████│█████│ Fn │Left │Down │Right│█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + + +### 4. [Plain](keymaps/plain/keymap.c) +Without any Fn layer this will be useful if you want to use key remapping tool like AHK on host. + +#### 4.0 Plain Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + + +### 5. [Hasu](keymaps/hasu/keymap.c) +This is Hasu's favorite keymap with HHKB Fn, Vi cursor and Mousekey layer. + +(Hasu is the creator of the TMK firmware, for those who do not know that.) + + +### 6. [SpaceFN](keymaps/spacefn/keymap.c) +This layout proposed by spiceBar uses space bar to change layer with using Dual role key technique. Check the sourcefile and [SpaceFN discussion](http://geekhack.org/index.php?topic=51069.0) for more information. + +#### 6.0 Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BkSpc│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ 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 │ , │ . │ / │▒▒▒▒▒│Shift│▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Ctrl │ Gui │ Alt │█████│█████│████ Space/Fn ███│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +#### 6.1 SpaceFN layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ Del │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │ │ │ │ │Home │ Up │ End │ Psc │ Slk │Pause│ Ins │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │ │ │ │PgUp │Left │Down │Right│ │ │▒▒▒▒▒│ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │▒▒▒▒▒│ │ │ │ │Space│PgDwn│ ` │ ~ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ │ │█████│█████│█████│ Fn │█████│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + + +### 7. [HHKB](keymap/hhkb/keymap.c) +The HHKB keymap emulates original HHKB layers. +#### 7.0: Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │BkSpc│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Fn3 │ ' │▒▒▒▒▒│Enter│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Shift│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│Shift│ Fn │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │▒▒▒▒▒│ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│▒▒▒▒▒│ Alt │ Gui │▒▒▒▒▒│█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ +#### 7.1: HHKB Fn layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ Pwr │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ Ins │ Del │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Caps │ │ │ │ │ │ │ │ Psc │ Slk │ Pus │ Up │ │ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │ VoD │ VoU │ Mut │ Ejc │ │ * │ / │Home │PgUp │Left │Right│▒▒▒▒▒│Enter│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ │▒▒▒▒▒│ │ │ │ │ │ + │ - │ End │PgDwn│Down │▒▒▒▒▒│ │ │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │▒▒▒▒▒│ │ │█████│█████│█████│ │█████│█████│█████│▒▒▒▒▒│ │ │▒▒▒▒▒│█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + + +### 8 [Custom](keymaps/custom/keymap.c) +The custom keymap is where I tested all the switches, not being concerned with a specific layout or layers. It's a plain layout option with the extra keys used on ISO & HHKB layouts being assigned some other keys. + +#### 8.0 Default layer + ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ + │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │PgUp │BkSpc│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │PgDwn│Enter│█████│ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Shift│Home │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ End │Shift│ Up │ + ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ + │Ctrl │ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│ Alt │ Gui │ App │Ctrl │█████│ + └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ + +### 9. [ANSI_QWERTZ](keymaps/ansi_qwertz/keymap.c) + +This keymap was designed for inputting characters with diacritics with ANSI keycaps. +It provides toggleable SpaceFn functionality, a dedicated arrow cluster and a microphone mute key on the function layer as well as a bootloader reset key. + +For more info, [check here](keymaps/ansi_qwertz/readme.md). diff --git a/keyboards/s60_x/rgb/Makefile b/keyboards/s60_x/rgb/Makefile new file mode 100644 index 0000000000..bd09e5885d --- /dev/null +++ b/keyboards/s60_x/rgb/Makefile @@ -0,0 +1,3 @@ +ifndef MAKEFILE_INCLUDED + include ../../../Makefile +endif diff --git a/keyboards/s60_x/rgb/config.h b/keyboards/s60_x/rgb/config.h new file mode 100644 index 0000000000..81efc87d54 --- /dev/null +++ b/keyboards/s60_x/rgb/config.h @@ -0,0 +1,32 @@ +#ifndef RBG_CONFIG_H +#define RBG_CONFIG_H + +#include "../config.h" + +#define PRODUCT S60-X-RGB +#define DESCRIPTION q.m.k. keyboard firmware for S60-X RGB + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B5, B4, D7, D6, D4 } +#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, B6, C6, C7, F1, F0, E6, B3, B2, B1, B0 } +#define UNUSED_PINS + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* prevent stuck modifiers */ +#define PREVENT_STUCK_MODIFIERS + +#define RGB_DI_PIN F6 +#ifdef RGB_DI_PIN +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 10 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#endif + +#endif \ No newline at end of file diff --git a/keyboards/s60_x/rgb/rgb.c b/keyboards/s60_x/rgb/rgb.c new file mode 100644 index 0000000000..0117e14ae5 --- /dev/null +++ b/keyboards/s60_x/rgb/rgb.c @@ -0,0 +1 @@ +#include "rgb.h" diff --git a/keyboards/s60_x/rgb/rgb.h b/keyboards/s60_x/rgb/rgb.h new file mode 100644 index 0000000000..cb7a5f567f --- /dev/null +++ b/keyboards/s60_x/rgb/rgb.h @@ -0,0 +1,37 @@ +#ifndef S60XRGB_H +#define S60XRGB_H + +#include "quantum.h" + +#define KEYMAP( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \ + K400, K401, K402, K406, K410, K411, K412, K413 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, KC_NO }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \ + { K400, K401, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413, KC_NO } \ +} + +/*This special definition is used for S60-X keymaps that were ported from TMK + * QMK has a lot of keycodes that don't start with KC_, so using the regular KEYMAP macro is recommended + */ +#define LEGACY_KEYMAP( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \ + K40, K41, K42, K46, K4A, K4B, K4C, K4D \ +) { \ + { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K0C, KC_##K0D, KC_##K0E }, \ + { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K1C, KC_##K1D, KC_NO }, \ + { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D, KC_NO }, \ + { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K3C, KC_##K3D, KC_##K3E }, \ + { KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_NO, KC_NO, KC_##K46, KC_NO, KC_NO, KC_NO, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D, KC_NO } \ +} + +#endif \ No newline at end of file diff --git a/keyboards/s60_x/rgb/rules.mk b/keyboards/s60_x/rgb/rules.mk new file mode 100644 index 0000000000..6953cc6d6d --- /dev/null +++ b/keyboards/s60_x/rgb/rules.mk @@ -0,0 +1,9 @@ +CONSOLE_ENABLE ?= no # Console for debug(+400) +COMMAND_ENABLE ?= no # Commands for debug and configuration +NKRO_ENABLE ?= yes # USB 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 +RGBLIGHT_ENABLE ?= yes # Enable RGB light + +ifndef QUANTUM_DIR + include ../../../Makefile +endif \ No newline at end of file diff --git a/keyboards/s60_x/rules.mk b/keyboards/s60_x/rules.mk new file mode 100644 index 0000000000..0c568efe95 --- /dev/null +++ b/keyboards/s60_x/rules.mk @@ -0,0 +1,65 @@ + + +# MCU name +#MCU = at90usb1287 +MCU = atmega32u4 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + + +# Boot Section Size in *bytes* +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700) +EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +MIDI_ENABLE ?= no # MIDI controls +UNICODE_ENABLE ?= no # Unicode +BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE ?= no # Audio output on port C6 \ No newline at end of file diff --git a/keyboards/s60_x/s60_x.c b/keyboards/s60_x/s60_x.c new file mode 100644 index 0000000000..595418bfac --- /dev/null +++ b/keyboards/s60_x/s60_x.c @@ -0,0 +1 @@ +#include "s60_x.h" \ No newline at end of file diff --git a/keyboards/s60_x/s60_x.h b/keyboards/s60_x/s60_x.h new file mode 100644 index 0000000000..5bf8cfcefa --- /dev/null +++ b/keyboards/s60_x/s60_x.h @@ -0,0 +1,13 @@ +#ifndef S60X_H +#define S60X_H + +#ifdef SUBPROJECT_default + #include "default.h" +#endif +#ifdef SUBPROJECT_rgb + #include "rgb.h" +#endif + +#include "quantum.h" + +#endif -- cgit v1.2.3 From 7ce94eb468ff34f904f8ef8fdeb3c5fe2d09d78c Mon Sep 17 00:00:00 2001 From: Ryan MacLean Date: Sun, 30 Apr 2017 15:04:00 -0700 Subject: Cleaning Up Dockerfile Layers Per Official Docs From the official docs: ``` Note: The official Debian and Ubuntu images automatically run apt-get clean, so explicit invocation is not required. ``` Also added ` && rm -rf /var/lib/apt/lists/*` as part of the install line which probably does what was intended (no need to make a new layer). Added apt-get update to the RUN payload, as it should be part of the same layer. Both are documented here: https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/ --- Dockerfile | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 744ded8579..88da06f02a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,7 @@ FROM debian:jessie MAINTAINER Erik Dasque -RUN apt-get update -RUN apt-get install --no-install-recommends -y build-essential \ +RUN apt-get update && apt-get install --no-install-recommends -y build-essential \ gcc \ unzip \ wget \ @@ -15,10 +14,8 @@ RUN apt-get install --no-install-recommends -y build-essential \ gcc-arm-none-eabi \ binutils-arm-none-eabi \ libnewlib-arm-none-eabi \ - git - -RUN apt-get clean -RUN rm -rf /var/lib/apt/lists/* + git \ + && rm -rf /var/lib/apt/lists/* ENV keyboard=ergodox ENV subproject=ez -- cgit v1.2.3 From 38b076d22d2363674585745cab4d476ad1386ef3 Mon Sep 17 00:00:00 2001 From: Thor77 Date: Wed, 3 May 2017 22:01:02 +0200 Subject: Add KEYMAP without KC_##-prefix and rename old variant to KEYMAP_KC --- keyboards/ps2avrGB/ps2avrGB.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/keyboards/ps2avrGB/ps2avrGB.h b/keyboards/ps2avrGB/ps2avrGB.h index 6432e3be9c..813f31f804 100644 --- a/keyboards/ps2avrGB/ps2avrGB.h +++ b/keyboards/ps2avrGB/ps2avrGB.h @@ -22,6 +22,24 @@ along with this program. If not, see . #include "action.h" #define KEYMAP( \ + K05, K25, K35, K45, K55, K06, KA6, KA7, K07, KB5, KC5, KD5, KE5, KD1, KE1, KE2, \ + K04, K14, K24, K34, K44, K54, K16, KB6, KB7, K17, KA4, KB4, KC4, KE4, KD0, \ + K03, K13, K23, K33, K43, K53, K26, KC6, KC7, K27, KA3, KB3, KC3, KD3, K67, \ + K02, K12, K22, K32, K42, K52, K36, KD6, KD7, K37, KA2, KB2, KD2, KE0, \ + K01, K11, K21, K31, K41, K51, K46, KE6, KE7, K47, KA1, KB1, K86, K77, \ + K00, K10, K20, K56, K57, KB0, KC0, K66, K76, K96 \ +){ \ + { K00, K10, K20, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KB0, KC0, KD0, KE0 }, \ + { K01, K11, K21, K31, K41, K51, KC_NO, KC_NO, KC_NO, KC_NO, KA1, KB1, KC_NO, KD1, KE1 }, \ + { K02, K12, K22, K32, K42, K52, KC_NO, KC_NO, KC_NO, KC_NO, KA2, KB2, KC_NO, KD2, KE2 }, \ + { K03, K13, K23, K33, K43, K53, KC_NO, KC_NO, KC_NO, KC_NO, KA3, KB3, KC3, KD3, KC_NO }, \ + { K04, K14, K24, K34, K44, K54, KC_NO, KC_NO, KC_NO, KC_NO, KA4, KB4, KC4, KC_NO, KE4 }, \ + { K05, KC_NO, K25, K35, K45, K55, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KB5, KC5, KD5, KE5 }, \ + { K06, K16, K26, K36, K46, K56, K66, K76, K86, K96, KA6, KB6, KC6, KD6, KE6 }, \ + { K07, K17, K27, K37, K47, K57, K67, K77, KC_NO, KC_NO, KA7, KB7, KC7, KD7, KE7 } \ +} + +#define KC_KEYMAP( \ K05, K25, K35, K45, K55, K06, KA6, KA7, K07, KB5, KC5, KD5, KE5, KD1, KE1, KE2, \ K04, K14, K24, K34, K44, K54, K16, KB6, KB7, K17, KA4, KB4, KC4, KE4, KD0, \ K03, K13, K23, K33, K43, K53, K26, KC6, KC7, K27, KA3, KB3, KC3, KD3, K67, \ -- cgit v1.2.3 From 7f3b1232c49509a930dfbb87e17ad2847e753815 Mon Sep 17 00:00:00 2001 From: Thor77 Date: Wed, 3 May 2017 22:13:46 +0200 Subject: Use KC_KEYMAP for default-keymap and remove obsolete explicit line-separator "\" --- keyboards/ps2avrGB/keymaps/default/keymap.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/keyboards/ps2avrGB/keymaps/default/keymap.c b/keyboards/ps2avrGB/keymaps/default/keymap.c index 5c66cde596..3e4cebc81e 100644 --- a/keyboards/ps2avrGB/keymaps/default/keymap.c +++ b/keyboards/ps2avrGB/keymaps/default/keymap.c @@ -18,14 +18,14 @@ along with this program. If not, see . #include "ps2avrGB.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - KEYMAP( \ - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,HOME,END, \ - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, DEL, \ - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, INS, \ - CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT,ENT, PGUP,\ - LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH,RSFT, UP, PGDN,\ - LCTL,LALT,LGUI, SPC, RGUI,RALT,RCTL,LEFT,DOWN,RGHT \ - ), + KC_KEYMAP( + ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,HOME,END, + GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, DEL, + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, INS, + CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT,ENT, PGUP, + LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH,RSFT, UP, PGDN, + LCTL,LALT,LGUI, SPC, RGUI,RALT,RCTL,LEFT,DOWN,RGHT + ) }; const uint16_t PROGMEM fn_actions[] = { -- cgit v1.2.3 From 40fe30e4d6b521284fa3cb7ae217ebb6d013bcdf Mon Sep 17 00:00:00 2001 From: Wojciech Siewierski Date: Wed, 3 May 2017 23:47:52 +0200 Subject: dynamic_macro.h: Ignore all the initial key releases Right after the user initiates the macro recording, they usually need to release some keys used to access the DYN_REC_START layers. It makes sense to ignore them. Note: The keys used to access the DYN_REC_STOP key are *not* ignored. --- quantum/dynamic_macro.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/quantum/dynamic_macro.h b/quantum/dynamic_macro.h index 939816a597..1a8ec40326 100644 --- a/quantum/dynamic_macro.h +++ b/quantum/dynamic_macro.h @@ -97,17 +97,24 @@ void dynamic_macro_play( /** * Record a single key in a dynamic macro. * + * @param macro_buffer[in] The start of the used macro buffer. * @param macro_pointer[in,out] The current buffer position. * @param macro_end2[in] The end of the other macro which shouldn't be overwritten. * @param direction[in] Either +1 or -1, which way to iterate the buffer. * @param record[in] The current keypress. */ void dynamic_macro_record_key( + keyrecord_t *macro_buffer, keyrecord_t **macro_pointer, keyrecord_t *macro_end2, int8_t direction, keyrecord_t *record) { + /* If we've just started recording, ignore all the key releases. */ + if (!record->event.pressed && *macro_pointer == macro_buffer) { + return; + } + if (*macro_pointer + direction != macro_end2) { **macro_pointer = *record; *macro_pointer += direction; @@ -230,10 +237,10 @@ bool process_record_dynamic_macro(uint16_t keycode, keyrecord_t *record) /* Store the key in the macro buffer and process it normally. */ switch (macro_id) { case 1: - dynamic_macro_record_key(¯o_pointer, r_macro_end, +1, record); + dynamic_macro_record_key(macro_buffer, ¯o_pointer, r_macro_end, +1, record); break; case 2: - dynamic_macro_record_key(¯o_pointer, macro_end, -1, record); + dynamic_macro_record_key(r_macro_buffer, ¯o_pointer, macro_end, -1, record); break; } return true; -- cgit v1.2.3 From 5e2a9992783e584f66dfeef16abf9d31c976311a Mon Sep 17 00:00:00 2001 From: Wojciech Siewierski Date: Thu, 4 May 2017 00:58:01 +0200 Subject: dynamic_macro.h: Always toggle the backlight twice as a notification Apparently sometimes the backlight was toggled only once and it was left on. --- quantum/dynamic_macro.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/quantum/dynamic_macro.h b/quantum/dynamic_macro.h index 1a8ec40326..c9120897f8 100644 --- a/quantum/dynamic_macro.h +++ b/quantum/dynamic_macro.h @@ -119,9 +119,7 @@ void dynamic_macro_record_key( **macro_pointer = *record; *macro_pointer += direction; } else { - /* Notify about the end of buffer. The blinks are paired - * because they should happen on both down and up events. */ - backlight_toggle(); + dynamic_macro_led_blink(); } } -- cgit v1.2.3 From 436d661775178fb62b46afdc3d755fdb413dcb35 Mon Sep 17 00:00:00 2001 From: Wojciech Siewierski Date: Thu, 4 May 2017 01:19:05 +0200 Subject: dynamic_macro.h: Fix an off-by-two error We need to check whether we just passed the after-the-end point of the other macro. Instead we were checking whether we are going to reach it now. --- quantum/dynamic_macro.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/quantum/dynamic_macro.h b/quantum/dynamic_macro.h index c9120897f8..9e7845c992 100644 --- a/quantum/dynamic_macro.h +++ b/quantum/dynamic_macro.h @@ -99,14 +99,14 @@ void dynamic_macro_play( * * @param macro_buffer[in] The start of the used macro buffer. * @param macro_pointer[in,out] The current buffer position. - * @param macro_end2[in] The end of the other macro which shouldn't be overwritten. + * @param macro2_end[in] The last buffer element it is safe to use before overwriting the other macro. * @param direction[in] Either +1 or -1, which way to iterate the buffer. * @param record[in] The current keypress. */ void dynamic_macro_record_key( keyrecord_t *macro_buffer, keyrecord_t **macro_pointer, - keyrecord_t *macro_end2, + keyrecord_t *macro2_end, int8_t direction, keyrecord_t *record) { @@ -115,7 +115,7 @@ void dynamic_macro_record_key( return; } - if (*macro_pointer + direction != macro_end2) { + if (*macro_pointer - direction != macro2_end) { **macro_pointer = *record; *macro_pointer += direction; } else { -- cgit v1.2.3 From 425f0a768b5b8389d88bd187d9029171f392b883 Mon Sep 17 00:00:00 2001 From: tengg Date: Thu, 4 May 2017 13:27:35 -0400 Subject: revise HHKB bootloader_size to 4096 such that sw reset works (#1274) --- keyboards/hhkb/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/hhkb/rules.mk b/keyboards/hhkb/rules.mk index a46271f023..e4190039f7 100644 --- a/keyboards/hhkb/rules.mk +++ b/keyboards/hhkb/rules.mk @@ -53,7 +53,7 @@ OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT #OPT_DEFS += -DBOOTLOADER_SIZE=4096 # as per original hasu settings -OPT_DEFS += -DBOOTLOADER_SIZE=512 +OPT_DEFS += -DBOOTLOADER_SIZE=4096 # Build Options # comment out to disable the options. -- cgit v1.2.3