diff --git a/docs/config_options.md b/docs/config_options.md index acc402665b7..8cdcc97e495 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -89,6 +89,8 @@ This is a C header file that is one of the first things included, and will persi * tries to keep switch state consistent with keyboard LED state * `#define IS_COMMAND() ( keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) )` * key combination that allows the use of magic commands (useful for debugging) +* `#define USB_MAX_POWER_CONSUMPTION` + * sets the maximum power (in mA) over USB for the device (default: 500) ## Features That Can Be Disabled diff --git a/docs/feature_tap_dance.md b/docs/feature_tap_dance.md index 0521826b25f..141c3108d06 100644 --- a/docs/feature_tap_dance.md +++ b/docs/feature_tap_dance.md @@ -179,42 +179,124 @@ Below is a specific example: * Double Tap = Send `Escape` * Double Tap and Hold = Send `Alt` -The following example can be easily expanded to more than 4 quite easily: +## Setup + +You will need a few things that can be used for 'Quad Function Tap-Dance'. The suggested setup is to create a user directory for yourself. This directory will contain rules.mk `.c` and `.h`. This directory should be called ``, and located in the top level `users` directory. There should already be a few examples to look at there. + +### In `/qmk_firmware/users//rules.mk` + +Put the following: ```c -//**************** Definitions needed for quad function to work *********************// -//Enums used to clearly convey the state of the tap dance +TAP_DANCE_ENABLE = yes +SRC += your_name.c +``` + +Pretty simple. It is a nice way to keep some rules common on all your keymaps. + + +### In `/qmk_firmware/users//.h` + +You will need a few things in this file: + +```c +#ifndef YOUR_NAME +#define YOUR_NAME + +#include "quantum.h" +#include "process_keycode/process_tap_dance.h" + + +typedef struct { + bool is_press_action; + int state; +} xtap; + enum { SINGLE_TAP = 1, SINGLE_HOLD = 2, DOUBLE_TAP = 3, DOUBLE_HOLD = 4, - DOUBLE_SINGLE_TAP = 5 //send SINGLE_TAP twice - NOT DOUBLE_TAP - // Add more enums here if you want for triple, quadruple, etc. + DOUBLE_SINGLE_TAP = 5, //send two single taps + TRIPLE_TAP = 6, + TRIPLE_HOLD = 7 }; -typedef struct { - bool is_press_action; - int state; -} tap; +//Tap dance enums +enum { + CTL_X = 0, + SOME_OTHER_DANCE +} +int cur_dance (qk_tap_dance_state_t *state); + +//for the x tap dance. Put it here so it can be used in any keymap +void x_finished (qk_tap_dance_state_t *state, void *user_data); +void x_reset (qk_tap_dance_state_t *state, void *user_data); +``` + +### In `/qmk_firmware/users//.c` + +And then in your user's `.c` file you implement the functions above: + +```c +#include "gordon.h" +#include "quantum.h" +#include "action.h" +#include "process_keycode/process_tap_dance.h" + +/* Return an integer that corresponds to what kind of tap dance should be executed. + * + * How to figure out tap dance state: interrupted and pressed. + * + * Interrupted: If the state of a dance dance is "interrupted", that means that another key has been hit + * under the tapping term. This is typically indicitive that you are trying to "tap" the key. + * + * Pressed: Whether or not the key is still being pressed. If this value is true, that means the tapping term + * has ended, but the key is still being pressed down. This generally means the key is being "held". + * + * One thing that is currenlty not possible with qmk software in regards to tap dance is to mimic the "permissive hold" + * feature. In general, advanced tap dances do not work well if they are used with commonly typed letters. + * For example "A". Tap dances are best used on non-letter keys that are not hit while typing letters. + * + * Good places to put an advanced tap dance: + * z,q,x,j,k,v,b, any function key, home/end, comma, semi-colon + * + * Criteria for "good placement" of a tap dance key: + * Not a key that is hit frequently in a sentence + * Not a key that is used frequently to double tap, for example 'tab' is often double tapped in a terminal, or + * in a web form. So 'tab' would be a poor choice for a tap dance. + * Letters used in common words as a double. For example 'p' in 'pepper'. If a tap dance function existed on the + * letter 'p', the word 'pepper' would be quite frustating to type. + * + * For the third point, there does exist the 'DOUBLE_SINGLE_TAP', however this is not fully tested + * + */ int cur_dance (qk_tap_dance_state_t *state) { if (state->count == 1) { - //If count = 1, and it has been interrupted - it doesn't matter if it is pressed or not: Send SINGLE_TAP - if (state->interrupted || state->pressed==0) return SINGLE_TAP; + if (state->interrupted || !state->pressed) return SINGLE_TAP; + //key has not been interrupted, but they key is still held. Means you want to send a 'HOLD'. else return SINGLE_HOLD; } - //If count = 2, and it has been interrupted - assume that user is trying to type the letter associated - //with single tap. In example below, that means to send `xx` instead of `Escape`. else if (state->count == 2) { + /* + * DOUBLE_SINGLE_TAP is to distinguish between typing "pepper", and actually wanting a double tap + * action when hitting 'pp'. Suggested use case for this return value is when you want to send two + * keystrokes of the key, and not the 'double tap' action/macro. + */ if (state->interrupted) return DOUBLE_SINGLE_TAP; else if (state->pressed) return DOUBLE_HOLD; else return DOUBLE_TAP; } - else return 6; //magic number. At some point this method will expand to work for more presses + //Assumes no one is trying to type the same letter three times (at least not quickly). + //If your tap dance key is 'KC_W', and you want to type "www." quickly - then you will need to add + //an exception here to return a 'TRIPLE_SINGLE_TAP', and define that enum just like 'DOUBLE_SINGLE_TAP' + if (state->count == 3) { + if (state->interrupted || !state->pressed) return TRIPLE_TAP; + else return TRIPLE_HOLD; + } + else return 8; //magic number. At some point this method will expand to work for more presses } -//**************** Definitions needed for quad function to work *********************// - //instanalize an instance of 'tap' for the 'x' tap dance. static tap xtap_state = { .is_press_action = true, @@ -245,6 +327,10 @@ void x_reset (qk_tap_dance_state_t *state, void *user_data) { } xtap_state.state = 0; } + +qk_tap_dance_action_t tap_dance_actions[] = { + [X_CTL] = ACTION_TAP_DANCE_FN_ADVANCED(NULL,x_finished, x_reset) +}; ``` -And then simply add this to your list of tap dance functions: -`[X_TAP_DANCE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, x_finished, x_reset)` + +And then simply use TD(X_CTL) anywhere in your keymap. diff --git a/docs/feature_terminal.md b/docs/feature_terminal.md index 334a46c2d46..1863599f844 100644 --- a/docs/feature_terminal.md +++ b/docs/feature_terminal.md @@ -14,12 +14,14 @@ When enabled, a `> ` prompt will appear, where you'll be able to type, backspace `#define TERMINAL_HELP` enables some other output helpers that aren't really needed with this page. +Pressing "up" and "down" will allow you to cycle through the past 5 commands entered. + ## Future Ideas * Keyboard/user-extensible commands * Smaller footprint * Arrow key support -* Command history +* Command history - Done * SD card support * LCD support for buffer display * Keycode -> name string LUT @@ -43,14 +45,39 @@ QMK Firmware Built: 2017-08-29-20:24:44 ``` + +### `print-buffer` + +Outputs the last 5 commands entered + +``` +> print-buffer +0. print-buffer +1. help +2. about +3. keymap 0 +4. help +5. flush-buffer +``` + +### `flush-buffer` + +Clears command buffer +``` +> flush-buffer +Buffer cleared! +``` + + ### `help` + Prints out the available commands: ``` > help commands available: - about help keycode keymap exit + about help keycode keymap exit print-buffer flush-buffer ``` ### `keycode ` diff --git a/keyboards/1up60rgb/config.h b/keyboards/1up60rgb/config.h index 2668ab21b89..bfdf354af7d 100644 --- a/keyboards/1up60rgb/config.h +++ b/keyboards/1up60rgb/config.h @@ -49,7 +49,7 @@ #define RGB_DI_PIN E2 #ifdef RGB_DI_PIN #define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 20 +#define RGBLED_NUM 16 #define RGBLIGHT_HUE_STEP 8 #define RGBLIGHT_SAT_STEP 8 #define RGBLIGHT_VAL_STEP 8 diff --git a/keyboards/alpha/info.json b/keyboards/alpha/info.json new file mode 100644 index 00000000000..b08e6d9a419 --- /dev/null +++ b/keyboards/alpha/info.json @@ -0,0 +1,13 @@ +{ + "keyboard_name": "Alpha", + "url": "", + "maintainer": "qmk", + "bootloader": "", + "width": 10, + "height": 3, + "layouts": { + "LAYOUT": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":0.5, "y":2}, {"x":1.5, "y":2}, {"x":2.5, "y":2}, {"x":3.5, "y":2}, {"x":4.5, "y":2, "w":2}, {"x":6.5, "y":2}, {"x":7.5, "y":2}, {"x":8.5, "y":2}] + } + } +} diff --git a/keyboards/amj40/info.json b/keyboards/amj40/info.json new file mode 100644 index 00000000000..ddbd34a7c4f --- /dev/null +++ b/keyboards/amj40/info.json @@ -0,0 +1,13 @@ +{ + "keyboard_name": "AMJ40", + "url": "", + "maintainer": "qmk", + "bootloader": "", + "width": 12, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2, "w":1.25}, {"x":11, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3, "w":1.25}, {"x":3.5, "y":3, "w":2.25}, {"x":5.75, "y":3, "w":2.75}, {"x":8.5, "y":3, "w":1.25}, {"x":9.75, "y":3}, {"x":10.75, "y":3, "w":1.25}] + } + } +} diff --git a/keyboards/amjpad/info.json b/keyboards/amjpad/info.json new file mode 100644 index 00000000000..3873d548f07 --- /dev/null +++ b/keyboards/amjpad/info.json @@ -0,0 +1,13 @@ +{ + "keyboard_name": "AMJ Pad", + "url": "", + "maintainer": "qmk", + "bootloader": "", + "width": 4, + "height": 6, + "layouts": { + "LAYOUT": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2, "h":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4, "h":2}, {"x":0, "y":5, "w":2}, {"x":2, "y":5}] + } + } +} diff --git a/keyboards/atom47/info.json b/keyboards/atom47/info.json new file mode 100644 index 00000000000..219e0f27189 --- /dev/null +++ b/keyboards/atom47/info.json @@ -0,0 +1,13 @@ +{ + "keyboard_name": "Atom47", + "url": "", + "maintainer": "qmk", + "bootloader": "", + "width": 13, + "height": 4, + "layouts": { + "LAYOUT_ansi": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2, "w":1.25}, {"x":12, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3, "w":1.75}, {"x":6, "y":3, "w":2.75}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3, "w":1.25}] + } + } +} diff --git a/keyboards/atom47/keymaps/default/keymap.c b/keyboards/atom47/keymaps/default/keymap.c index 233ff2b8b7f..945e66ab7b8 100644 --- a/keyboards/atom47/keymaps/default/keymap.c +++ b/keyboards/atom47/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -#include "atom47.h" +#include QMK_KEYBOARD_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. @@ -13,25 +13,25 @@ #define _______ KC_TRNS const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_MA] = KEYMAP_ANSI( +[_MA] = LAYOUT_ansi( KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, 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_RSFT, MO(_FN1), \ KC_LCTL, KC_LGUI, KC_LALT, MO(_PN), KC_SPC, KC_SPC, MO(_FN), KC_RALT, KC_APP, KC_RCTRL), \ -[_FN] = KEYMAP_ANSI( +[_FN] = LAYOUT_ansi( _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, \ KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, \ _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ -[_FN1] = KEYMAP_ANSI( +[_FN1] = LAYOUT_ansi( 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \ _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ -[_PN] = KEYMAP_ANSI( +[_PN] = LAYOUT_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, \ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, \ diff --git a/keyboards/atom47/keymaps/maartenwut/keymap.c b/keyboards/atom47/keymaps/maartenwut/keymap.c index d526d836c35..abe63a41e8a 100644 --- a/keyboards/atom47/keymaps/maartenwut/keymap.c +++ b/keyboards/atom47/keymaps/maartenwut/keymap.c @@ -1,4 +1,4 @@ -#include "atom47.h" +#include QMK_KEYBOARD_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. @@ -19,19 +19,19 @@ enum custom_keycodes { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_MA] = KEYMAP_ANSI( +[_MA] = LAYOUT_ansi( KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, 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_LGUI, KC_LALT, MO(_LO), KC_SPC, KC_SPC, MO(_RA), KC_RALT, KC_APP, KC_RCTRL), \ -[_LO] = KEYMAP_ANSI( +[_LO] = LAYOUT_ansi( 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \ _______, CTRLZ, CTRLX, CTRLC, CTRLV, _______, _______, KC_QUOT, KC_LBRC, KC_RBRC, KC_BSLS, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET), \ -[_RA] = KEYMAP_ANSI( +[_RA] = LAYOUT_ansi( _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, \ KC_CAPS, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_PSCR, \ diff --git a/keyboards/atom47/readme.md b/keyboards/atom47/readme.md index f2ec08500e1..1e96d42e9d2 100644 --- a/keyboards/atom47/readme.md +++ b/keyboards/atom47/readme.md @@ -3,7 +3,7 @@ ![Atom47](https://i.imgur.com/Wwflqvt.png) ## Support -Keyboard Maintainer: [Maarten Dekkers(https://github.com/maartenwut) +Keyboard Maintainer: [Maarten Dekkers](https://github.com/maartenwut) Hardware Supported: Atom47 rev3 Hardware Availability: [GeekHack.com Group Buy](https://geekhack.org/index.php?topic=93447.msg2545221) diff --git a/keyboards/atom47/rev2/info.json b/keyboards/atom47/rev2/info.json new file mode 100644 index 00000000000..219e0f27189 --- /dev/null +++ b/keyboards/atom47/rev2/info.json @@ -0,0 +1,13 @@ +{ + "keyboard_name": "Atom47", + "url": "", + "maintainer": "qmk", + "bootloader": "", + "width": 13, + "height": 4, + "layouts": { + "LAYOUT_ansi": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2, "w":1.25}, {"x":12, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3, "w":1.75}, {"x":6, "y":3, "w":2.75}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3, "w":1.25}] + } + } +} diff --git a/keyboards/atom47/rev2/keymaps/LEdiodes/keymap.c b/keyboards/atom47/rev2/keymaps/LEdiodes/keymap.c index 75c8654ba64..b987c433fef 100644 --- a/keyboards/atom47/rev2/keymaps/LEdiodes/keymap.c +++ b/keyboards/atom47/rev2/keymaps/LEdiodes/keymap.c @@ -1,4 +1,4 @@ -#include "atom47.h" +#include QMK_KEYBOARD_H // These are all aliases for the function layers. #define _L0 0 @@ -9,25 +9,25 @@ #define _______ KC_TRNS const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_L0] = KEYMAP_ANSI( +[_L0] = LAYOUT_ansi( KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, 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_RSFT, MO(_L1), \ KC_LCTL, KC_LGUI, KC_LALT, TG(_L3), KC_SPC, KC_SPC, MO(_L2), KC_RALT, KC_APP, KC_RCTRL), \ -[_L2] = KEYMAP_ANSI( +[_L2] = LAYOUT_ansi( _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, \ KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, \ _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ -[_L1] = KEYMAP_ANSI( +[_L1] = LAYOUT_ansi( 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \ _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ -[_L3] = KEYMAP_ANSI( +[_L3] = LAYOUT_ansi( _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______, _______, _______, \ _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, _______, _______, _______, \ diff --git a/keyboards/atom47/rev2/keymaps/default/keymap.c b/keyboards/atom47/rev2/keymaps/default/keymap.c index 1473863c4e0..5f74416ce06 100644 --- a/keyboards/atom47/rev2/keymaps/default/keymap.c +++ b/keyboards/atom47/rev2/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -#include "atom47.h" +#include QMK_KEYBOARD_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. @@ -13,25 +13,25 @@ #define _______ KC_TRNS const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_MA] = KEYMAP_ANSI( +[_MA] = LAYOUT_ansi( KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, 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_RSFT, MO(_FN1), \ KC_LCTL, KC_LGUI, KC_LALT, MO(_PN), KC_SPC, KC_SPC, MO(_FN), KC_RALT, KC_APP, KC_RCTRL), \ -[_FN] = KEYMAP_ANSI( +[_FN] = LAYOUT_ansi( _______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, \ KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, \ _______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ -[_FN1] = KEYMAP_ANSI( +[_FN1] = LAYOUT_ansi( 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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \ _______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \ -[_PN] = KEYMAP_ANSI( +[_PN] = LAYOUT_ansi( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ diff --git a/keyboards/atom47/rev2/readme.md b/keyboards/atom47/rev2/readme.md index 18ee85d54f3..30f44df1dc6 100644 --- a/keyboards/atom47/rev2/readme.md +++ b/keyboards/atom47/rev2/readme.md @@ -3,7 +3,7 @@ This is the keymap for rev2 of the Atom47. Only 9 of those have been sold for testing purposes. It had a slightly misaligned usb port and the pcb was too thick (should've been 1.2mm instead of 1.6mm). The pcb only supports the default hardware layout, although /u/ChrisSwires has [modified his](https://www.reddit.com/r/MechanicalKeyboards/comments/7n2dua/not_your_average_core_with_honeywell/) and put a big spacebar in it. ## Support -Keyboard Maintainer: [Matthew Kerfoot(https://github.com/mkerfoot) +Keyboard Maintainer: [Matthew Kerfoot](https://github.com/mkerfoot) Hardware Supported: Atom47 rev2 Hardware Availability: None diff --git a/keyboards/atomic/atomic.h b/keyboards/atomic/atomic.h index b7ceb68d07b..a22029f7695 100644 --- a/keyboards/atomic/atomic.h +++ b/keyboards/atomic/atomic.h @@ -10,7 +10,7 @@ // The following is an example using the Planck MIT layout // The first section contains all of the arguements // The second converts the arguments into a two-dimensional array -#define KEYMAP_SEMI_STANDARD( \ +#define LAYOUT_semi_standard( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ @@ -24,7 +24,7 @@ { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E } \ } -#define KEYMAP_GRID( \ +#define LAYOUT_grid( \ 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, K1E,\ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E,\ @@ -38,6 +38,6 @@ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E } \ } -#define LAYOUT_ortho_5x15 KEYMAP_GRID +#define LAYOUT_ortho_5x15 LAYOUT_grid #endif \ No newline at end of file diff --git a/keyboards/atomic/info.json b/keyboards/atomic/info.json new file mode 100644 index 00000000000..b07a070253a --- /dev/null +++ b/keyboards/atomic/info.json @@ -0,0 +1,13 @@ +{ + "keyboard_name": "Atomic", + "url": "", + "maintainer": "qmk", + "bootloader": "", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT_semi_standard": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0, "w":2}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2, "w":2}, {"x":14, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3, "w":2}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.25}, {"x":1.25, "y":4, "w":1.25}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}] + } + } +} diff --git a/keyboards/atomic/keymaps/abienz.c b/keyboards/atomic/keymaps/abienz.c index 589a64dc4e2..2e69165f24a 100644 --- a/keyboards/atomic/keymaps/abienz.c +++ b/keyboards/atomic/keymaps/abienz.c @@ -1,36 +1,33 @@ -#include "atomic.h" +#include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = { /* Colemak */ - { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NO }, - { KC_TAB, CM_Q, CM_W, CM_F, CM_P, CM_G, CM_J, CM_L, CM_U, CM_Y, CM_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL }, - { KC_BSPC, CM_A, CM_R, CM_S, CM_T, CM_D, CM_H, CM_N, CM_E, CM_I, CM_O, KC_QUOT, KC_ENT, KC_NO, KC_PGUP }, - { KC_LSFT, CM_Z, CM_X, CM_C, CM_V, CM_B, CM_K, CM_M, CM_COMM, CM_DOT, CM_SLSH, KC_RSFT, KC_NO, KC_UP, KC_PGDN }, - { KC_LCTL, KC_LGUI, KC_NO, KC_LALT, FUNC(1), KC_SPC, KC_NO, KC_RALT, FUNC(2), KC_RGUI, KC_NO, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT }, - }, - [1] = { /* function */ - { 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_BSPC, KC_NO }, - { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS }, - { KC_TRNS, KC_TRNS, KC_TRNS, KC_SLEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS }, - { KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MPLY }, - { KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, FUNC(1), KC_TRNS, KC_NO, KC_TRNS, FUNC(2), KC_TRNS, KC_NO, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT }, - } + [0] = LAYOUT_grid( /* Colemak */ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NO , + KC_TAB, CM_Q, CM_W, CM_F, CM_P, CM_G, CM_J, CM_L, CM_U, CM_Y, CM_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , + KC_BSPC, CM_A, CM_R, CM_S, CM_T, CM_D, CM_H, CM_N, CM_E, CM_I, CM_O, KC_QUOT, KC_ENT, KC_NO, KC_PGUP, + KC_LSFT, CM_Z, CM_X, CM_C, CM_V, CM_B, CM_K, CM_M, CM_COMM, CM_DOT, CM_SLSH, KC_RSFT, KC_NO, KC_UP, KC_PGDN, + KC_LCTL, KC_LGUI, KC_NO, KC_LALT, FUNC(1), KC_SPC, KC_NO, KC_RALT, FUNC(2), KC_RGUI, KC_NO, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, + ), + [1] = LAYOUT_grid( /* function */ + 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_BSPC, KC_NO , + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_SLEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MPLY, + KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, FUNC(1), KC_TRNS, KC_NO, KC_TRNS, FUNC(2), KC_TRNS, KC_NO, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT, + ), }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(1), - [2] = ACTION_LAYER_MOMENTARY(1), - + [1] = ACTION_LAYER_MOMENTARY(1), + [2] = ACTION_LAYER_MOMENTARY(1), }; -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ +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: - return MACRODOWN(TYPE(KC_T), END); + switch (id) { + case 0: + return MACRODOWN(TYPE(KC_T), END); break; - } - return MACRO_NONE; + } + return MACRO_NONE; }; - diff --git a/keyboards/atomic/keymaps/default/keymap.c b/keyboards/atomic/keymaps/default/keymap.c index 0ede363a1f3..ae1efb2b663 100644 --- a/keyboards/atomic/keymaps/default/keymap.c +++ b/keyboards/atomic/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -#include "atomic.h" +#include QMK_KEYBOARD_H // Fillers to make layering more clear #define _______ KC_TRNS @@ -21,7 +21,7 @@ * | KEY . XXXXXX | * '-----------------' */ - + /* ROW 2 OPTIONS * .--------------------------------------------------------------------------------------------------------------------------------------. * | | | | | | | | | | | | | | | | @@ -30,7 +30,7 @@ * | KEY . XXXXXX | | KEY . XXXXXX | * '-----------------' '-----------------' */ - + /* ROW 3 OPTIONS * .--------------------------------------------------------------------------------------------------------------------------------------. * | | | | | | | | | | | | | | | | @@ -42,7 +42,7 @@ * | X | * '-----------------' */ - + /* ROW 4 OPTIONS * .--------------------------------------------------------------------------------------------------------------------------------------. * | | | | | | | | | | | | | | | | @@ -78,157 +78,156 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* QWERTY - MIT ENHANCED / GRID COMPATIBLE - * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| - * | ESC | A | S | D | F | G | H | J | K | L | ; | ' | XXXXXX . ENTER | PG UP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| - * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN | - * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| - * | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - - [_QW] = { /* QWERTY */ - { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC }, - { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL }, - { 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_ENT, 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_RSFT, KC_UP, KC_PGDN }, - { M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT }, - }, + /* QWERTY - MIT ENHANCED / GRID COMPATIBLE + * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| + * | ESC | A | S | D | F | G | H | J | K | L | ; | ' | XXXXXX . ENTER | PG UP | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| + * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN | + * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| + * | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ -/* COLEMAK - MIT ENHANCED / GRID COMPATIBLE - * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | TAB | Q | W | F | P | G | J | L | U | Y | ; | [ | ] | \ | DEL | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| - * | ESC | A | R | S | T | D | H | N | E | I | O | ' | XXXXXX . ENTER | PG UP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| - * | LSHIFT | Z | X | C | V | B | K | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN | - * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| - * | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - - [_CM] = { /* COLEMAK */ - { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC }, - { KC_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_BSLS, KC_DEL }, - { 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_ENT, KC_ENT, KC_PGUP }, - { 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_RSFT, KC_UP, KC_PGDN }, - { M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT }, - }, - -/* DVORAK - MIT ENHANCED / GRID COMPATIBLE - * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | TAB | ' | , | . | P | Y | F | G | C | R | L | [ | ] | \ | DEL | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| - * | ESC | A | O | E | U | I | D | H | T | N | S | / | XXXXXX . ENTER | PG UP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| - * | LSHIFT | ; | Q | J | K | X | B | M | W | V | Z | XXXXXX . RSHIFT | UP | PG DN | - * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| - * | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ + [_QW] = LAYOUT_grid( /* QWERTY */ + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , + 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_ENT, 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_RSFT, KC_UP, KC_PGDN, + M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT + ), - [_DV] = { /* DVORAK */ - { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC }, - { KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL }, - { KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, KC_ENT, KC_ENT, KC_PGUP }, - { 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_RSFT, KC_UP, KC_PGDN }, - { M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT }, - }, + /* COLEMAK - MIT ENHANCED / GRID COMPATIBLE + * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | TAB | Q | W | F | P | G | J | L | U | Y | ; | [ | ] | \ | DEL | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| + * | ESC | A | R | S | T | D | H | N | E | I | O | ' | XXXXXX . ENTER | PG UP | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| + * | LSHIFT | Z | X | C | V | B | K | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN | + * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| + * | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ -/* LOWERED - * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | | ! | @ | # | $ | % | ^ | & | * | ( | ) | | | | INS | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| - * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | XXXXXX . | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| - * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | XXXXXX . | | | - * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| - * | | | | | | XXXXXX . | | | | | | | | | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - - [_LW] = { /* LOWERED */ - { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___ }, - { _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, KC_INS }, - { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, ___T___, ___T___, _______ }, - { _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, ___T___, ___T___, _______, _______ }, - { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, - }, + [_CM] = LAYOUT_grid( /* COLEMAK */ + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, + KC_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_BSLS, KC_DEL , + 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_ENT, KC_ENT, KC_PGUP, + 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_RSFT, KC_UP, KC_PGDN, + M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT + ), -/* RAISED - * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. - * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | | | INS | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| - * | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | XXXXXX . | | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| - * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | XXXXXX . | | | - * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| - * | | | | | | XXXXXX . | | | | | | | | | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - - [_RS] = { /* RAISED */ - { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___ }, - { _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, KC_INS }, - { _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, ___T___, ___T___, _______ }, - { _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, ___T___, ___T___, _______, _______ }, - { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, - }, - -/* FUNCTION - * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. - * | NUM LK | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | SCR LK | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | PAUSE | PR SCR | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| - * | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT | VOL+ | VOL- | PLAY | | XXXXXX . | WHEEL+ | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| - * | | | QWERTY | COLEMK | DVORAK | | | | | | | XXXXXX . | MOUS U | WHEEL- | - * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| - * | | | | | | XXXXXX . MS BT1 | | | | | | MOUS L | MOUS D | MOUS R | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - - [_FN] = { /* FUNCTION */ - { KC_NLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___ }, - { KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR }, - { KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U }, - { _______, _______, DF(_QW), DF(_CM), DF(_DV), _______, _______, _______, _______, _______, _______, ___T___, ___T___, KC_MS_U, KC_WH_D }, - { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R }, - }, + /* DVORAK - MIT ENHANCED / GRID COMPATIBLE + * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | TAB | ' | , | . | P | Y | F | G | C | R | L | [ | ] | \ | DEL | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| + * | ESC | A | O | E | U | I | D | H | T | N | S | / | XXXXXX . ENTER | PG UP | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| + * | LSHIFT | ; | Q | J | K | X | B | M | W | V | Z | XXXXXX . RSHIFT | UP | PG DN | + * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| + * | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_DV] = LAYOUT_grid( /* DVORAK */ + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , + KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, KC_ENT, KC_ENT, KC_PGUP, + 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_RSFT, KC_UP, KC_PGDN, + M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* LOWERED + * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. + * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | | ! | @ | # | $ | % | ^ | & | * | ( | ) | | | | INS | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| + * | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | XXXXXX . | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | XXXXXX . | | | + * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| + * | | | | | | XXXXXX . | | | | | | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_LW] = LAYOUT_grid( /* LOWERED */ + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___, + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, KC_INS , + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, ___T___, ___T___, _______, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, ___T___, ___T___, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + /* RAISED + * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. + * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | | | INS | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| + * | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | XXXXXX . | | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| + * | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | XXXXXX . | | | + * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| + * | | | | | | XXXXXX . | | | | | | | | | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_RS] = LAYOUT_grid( /* RAISED */ + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___, + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, KC_INS , + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, ___T___, ___T___, _______, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, ___T___, ___T___, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + /* FUNCTION + * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. + * | NUM LK | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | SCR LK | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | PAUSE | PR SCR | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| + * | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT | VOL+ | VOL- | PLAY | | XXXXXX . | WHEEL+ | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| + * | | | QWERTY | COLEMK | DVORAK | | | | | | | XXXXXX . | MOUS U | WHEEL- | + * |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------| + * | | | | | | XXXXXX . MS BT1 | | | | | | MOUS L | MOUS D | MOUS R | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ + + [_FN] = LAYOUT_grid( /* FUNCTION */ + KC_NLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___, + KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR, + KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U, + _______, _______, DF(_QW), DF(_CM), DF(_DV), _______, _______, _______, _______, _______, _______, ___T___, ___T___, KC_MS_U, KC_WH_D, + _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R + ), }; const uint16_t PROGMEM fn_actions[] = { }; -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ +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); - #ifdef BACKLIGHT_ENABLE - backlight_step(); - #endif - } else { - unregister_code(KC_RSFT); - } - break; + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } else { + unregister_code(KC_RSFT); } - return MACRO_NONE; + break; + } + return MACRO_NONE; }; diff --git a/keyboards/atomic/keymaps/michelle.c b/keyboards/atomic/keymaps/michelle.c index 2364c46a15d..9c22423d685 100644 --- a/keyboards/atomic/keymaps/michelle.c +++ b/keyboards/atomic/keymaps/michelle.c @@ -1,183 +1,182 @@ -#include "atomic.h" +#include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = { /* Dvorak */ - { 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_BSPC, KC_NO }, -// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ -// ┌─ 2u ────────────┐ -// │ X │ -// └─────────────────┘ - { 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_EQL, KC_INS, KC_DEL }, -// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ -// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ -// │ X │ │ X │ -// └─────────────────┘ └─────────────────┘ - { KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_NO, KC_PGUP }, -// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ -// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ -// │ X │ │ X │ -// └─────────────────┘ └─────────────────┘ -// ┌─ 2u ────────────┐ -// │ X │ -// └─────────────────┘ - { 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_NO, KC_UP, KC_PGDN }, -// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ -// ┌─ 2u ────────────┐ -// │ X │ -// └─────────────────┘ -// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ -// │ X │ │ X │ -// └─────────────────┘ └─────────────────┘ -// ┌─ 2u ────────────┐ -// │ X │ -// └─────────────────┘ - { KC_LCTL, MO(1), KC_NO, KC_LALT, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_LGUI, MO(2), KC_LEFT, KC_DOWN, KC_RGHT }, -// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ -// ┌─ 1.25u ──┬ 1.25u ───┬─── 1.25u ┬─── 1.25u ─┬─ 2u ────────────┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬──── 1.25u ┐ -// │ X │ X │ X │ X │ X │ X │ X │ X │ X │ -// └──────────┴──────────┴──────────┴───────────┴─────────────────┴──────────┴──────────┴──────────┴───────────┘ -// ┌─ 2u ────────────┐ -// │ X │ -// └─────────────────┘ -// ┌───────────────────── 6.25u ────────────────────────────┐ -// │ X │ -// └────────────────────────────────────────────────────────┘ -// ┌─────────────────────── 6.25u ──────────────────────────┬─ 1.25u ──┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬── 1.25u ──┐ -// │ X │ X │ X │ X │ X │ X │ -// └────────────────────────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴───────────┘ - }, - [1] = { /* Qwerty + F keys */ - { 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_BSPC, KC_NO }, -// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ -// ┌─ 2u ────────────┐ -// │ X │ -// └─────────────────┘ - { 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_INS, KC_DEL }, -// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ -// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ -// │ X │ │ X │ -// └─────────────────┘ └─────────────────┘ - { 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_ENT, KC_NO, KC_PGUP }, -// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ -// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ -// │ X │ │ X │ -// └─────────────────┘ └─────────────────┘ -// ┌─ 2u ────────────┐ -// │ X │ -// └─────────────────┘ - { 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_NO, KC_UP, KC_PGDN }, -// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ -// ┌─ 2u ────────────┐ -// │ X │ -// └─────────────────┘ -// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ -// │ X │ │ X │ -// └─────────────────┘ └─────────────────┘ -// ┌─ 2u ────────────┐ -// │ X │ -// └─────────────────┘ - { KC_LCTL, KC_TRNS, KC_NO, KC_LALT, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_LGUI, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT }, -// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ -// ┌─ 1.25u ──┬ 1.25u ───┬─── 1.25u ┬─── 1.25u ─┬─ 2u ────────────┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬──── 1.25u ┐ -// │ X │ X │ X │ X │ X │ X │ X │ X │ X │ -// └──────────┴──────────┴──────────┴───────────┴─────────────────┴──────────┴──────────┴──────────┴───────────┘ -// ┌─ 2u ────────────┐ -// │ X │ -// └─────────────────┘ -// ┌───────────────────── 6.25u ────────────────────────────┐ -// │ X │ -// └────────────────────────────────────────────────────────┘ -// ┌─────────────────────── 6.25u ──────────────────────────┬─ 1.25u ──┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬── 1.25u ──┐ -// │ X │ X │ X │ X │ X │ X │ -// └────────────────────────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴───────────┘ - }, - [2] = { /* Numpad + qwerty shortcut keys */ - { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_P7, KC_P8, KC_P9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_NO }, -// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ -// ┌─ 2u ────────────┐ -// │ X │ -// └─────────────────┘ - { KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_P4, KC_P5, KC_P6, KC_L, KC_SLSH, KC_EQL, KC_INS, KC_DEL }, -// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ -// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ -// │ X │ │ X │ -// └─────────────────┘ └─────────────────┘ - { KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_P1, KC_P2, KC_P3, KC_S, KC_MINS, KC_ENT, KC_NO, KC_PGUP }, -// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ -// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ -// │ X │ │ X │ -// └─────────────────┘ └─────────────────┘ -// ┌─ 2u ────────────┐ -// │ X │ -// └─────────────────┘ - { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_X, KC_B, KC_P0, KC_P0, KC_PENT, KC_Z, KC_RSFT, KC_NO, KC_UP, KC_PGDN }, -// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ -// ┌─ 2u ────────────┐ -// │ X │ -// └─────────────────┘ -// ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ -// │ X │ │ X │ -// └─────────────────┘ └─────────────────┘ -// ┌─ 2u ────────────┐ -// │ X │ -// └─────────────────┘ - { KC_LCTL, KC_TRNS, KC_NO, KC_LALT, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_LGUI, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT }, -// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ -// ┌─ 1.25u ──┬ 1.25u ───┬─── 1.25u ┬─── 1.25u ─┬─ 2u ────────────┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬──── 1.25u ┐ -// │ X │ X │ X │ X │ X │ X │ X │ X │ X │ -// └──────────┴──────────┴──────────┴───────────┴─────────────────┴──────────┴──────────┴──────────┴───────────┘ -// ┌─ 2u ────────────┐ -// │ X │ -// └─────────────────┘ -// ┌───────────────────── 6.25u ────────────────────────────┐ -// │ X │ -// └────────────────────────────────────────────────────────┘ -// ┌─────────────────────── 6.25u ──────────────────────────┬─ 1.25u ──┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬── 1.25u ──┐ -// │ X │ X │ X │ X │ X │ X │ -// └────────────────────────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴───────────┘ - }, + [0] = LAYOUT_grid( /* Dvorak */ + 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_BSPC, KC_NO , + // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ + // ┌─ 2u ────────────┐ + // │ X │ + // └─────────────────┘ + 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_EQL, KC_INS, KC_DEL , + // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ + // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ + // │ X │ │ X │ + // └─────────────────┘ └─────────────────┘ + KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_NO, KC_PGUP , + // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ + // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ + // │ X │ │ X │ + // └─────────────────┘ └─────────────────┘ + // ┌─ 2u ────────────┐ + // │ X │ + // └─────────────────┘ + 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_NO, KC_UP, KC_PGDN , + // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ + // ┌─ 2u ────────────┐ + // │ X │ + // └─────────────────┘ + // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ + // │ X │ │ X │ + // └─────────────────┘ └─────────────────┘ + // ┌─ 2u ────────────┐ + // │ X │ + // └─────────────────┘ + KC_LCTL, MO(1), KC_NO, KC_LALT, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_LGUI, MO(2), KC_LEFT, KC_DOWN, KC_RGHT , + // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ + // ┌─ 1.25u ──┬ 1.25u ───┬─── 1.25u ┬─── 1.25u ─┬─ 2u ────────────┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬──── 1.25u ┐ + // │ X │ X │ X │ X │ X │ X │ X │ X │ X │ + // └──────────┴──────────┴──────────┴───────────┴─────────────────┴──────────┴──────────┴──────────┴───────────┘ + // ┌─ 2u ────────────┐ + // │ X │ + // └─────────────────┘ + // ┌───────────────────── 6.25u ────────────────────────────┐ + // │ X │ + // └────────────────────────────────────────────────────────┘ + // ┌─────────────────────── 6.25u ──────────────────────────┬─ 1.25u ──┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬── 1.25u ──┐ + // │ X │ X │ X │ X │ X │ X │ + // └────────────────────────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴───────────┘ + ), + [1] = LAYOUT_grid( /* Qwerty + F keys */ + 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_BSPC, KC_NO , + // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ + // ┌─ 2u ────────────┐ + // │ X │ + // └─────────────────┘ + 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_INS, KC_DEL , + // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ + // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ + // │ X │ │ X │ + // └─────────────────┘ └─────────────────┘ + 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_ENT, KC_NO, KC_PGUP , + // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ + // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ + // │ X │ │ X │ + // └─────────────────┘ └─────────────────┘ + // ┌─ 2u ────────────┐ + // │ X │ + // └─────────────────┘ + 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_NO, KC_UP, KC_PGDN , + // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ + // ┌─ 2u ────────────┐ + // │ X │ + // └─────────────────┘ + // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ + // │ X │ │ X │ + // └─────────────────┘ └─────────────────┘ + // ┌─ 2u ────────────┐ + // │ X │ + // └─────────────────┘ + KC_LCTL, KC_TRNS, KC_NO, KC_LALT, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_LGUI, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT , + // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ + // ┌─ 1.25u ──┬ 1.25u ───┬─── 1.25u ┬─── 1.25u ─┬─ 2u ────────────┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬──── 1.25u ┐ + // │ X │ X │ X │ X │ X │ X │ X │ X │ X │ + // └──────────┴──────────┴──────────┴───────────┴─────────────────┴──────────┴──────────┴──────────┴───────────┘ + // ┌─ 2u ────────────┐ + // │ X │ + // └─────────────────┘ + // ┌───────────────────── 6.25u ────────────────────────────┐ + // │ X │ + // └────────────────────────────────────────────────────────┘ + // ┌─────────────────────── 6.25u ──────────────────────────┬─ 1.25u ──┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬── 1.25u ──┐ + // │ X │ X │ X │ X │ X │ X │ + // └────────────────────────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴───────────┘ + ), + [2] = LAYOUT_grid( /* Numpad + qwerty shortcut keys */ + { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_P7, KC_P8, KC_P9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_NO , + // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ + // ┌─ 2u ────────────┐ + // │ X │ + // └─────────────────┘ + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_P4, KC_P5, KC_P6, KC_L, KC_SLSH, KC_EQL, KC_INS, KC_DEL , + // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ + // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ + // │ X │ │ X │ + // └─────────────────┘ └─────────────────┘ + KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_P1, KC_P2, KC_P3, KC_S, KC_MINS, KC_ENT, KC_NO, KC_PGUP , + // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ + // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ + // │ X │ │ X │ + // └─────────────────┘ └─────────────────┘ + // ┌─ 2u ────────────┐ + // │ X │ + // └─────────────────┘ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_X, KC_B, KC_P0, KC_P0, KC_PENT, KC_Z, KC_RSFT, KC_NO, KC_UP, KC_PGDN , + // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ + // ┌─ 2u ────────────┐ + // │ X │ + // └─────────────────┘ + // ┌─ 2u ────────────┐ ┌─ 2u ────────────┐ + // │ X │ │ X │ + // └─────────────────┘ └─────────────────┘ + // ┌─ 2u ────────────┐ + // │ X │ + // └─────────────────┘ + KC_LCTL, KC_TRNS, KC_NO, KC_LALT, KC_NO, KC_NO, KC_SPC, KC_NO, KC_NO, KC_NO, KC_LGUI, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT , + // ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + // │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + // └────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┴────────┘ + // ┌─ 1.25u ──┬ 1.25u ───┬─── 1.25u ┬─── 1.25u ─┬─ 2u ────────────┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬──── 1.25u ┐ + // │ X │ X │ X │ X │ X │ X │ X │ X │ X │ + // └──────────┴──────────┴──────────┴───────────┴─────────────────┴──────────┴──────────┴──────────┴───────────┘ + // ┌─ 2u ────────────┐ + // │ X │ + // └─────────────────┘ + // ┌───────────────────── 6.25u ────────────────────────────┐ + // │ X │ + // └────────────────────────────────────────────────────────┘ + // ┌─────────────────────── 6.25u ──────────────────────────┬─ 1.25u ──┬─ 1.25u ──┬─ 1.25u ──┬─── 1.25u ┬── 1.25u ──┐ + // │ X │ X │ X │ X │ X │ X │ + // └────────────────────────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴───────────┘ + ), }; const uint16_t PROGMEM fn_actions[] = { }; -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ +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: - return MACRODOWN(TYPE(KC_T), END); + switch(id) { + case 0: + return MACRODOWN(TYPE(KC_T), END); break; - } - return MACRO_NONE; + } + return MACRO_NONE; }; diff --git a/keyboards/atomic/keymaps/pvc/keymap.c b/keyboards/atomic/keymaps/pvc/keymap.c index 43ec0b23bf2..4ccac63f6cb 100644 --- a/keyboards/atomic/keymaps/pvc/keymap.c +++ b/keyboards/atomic/keymaps/pvc/keymap.c @@ -1,4 +1,4 @@ -#include "atomic.h" +#include QMK_KEYBOARD_H #include "action_layer.h" #include "eeconfig.h" #include "led.h" @@ -111,126 +111,126 @@ enum keyboard_macros { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* LAYER = LAYER_QWERTY - .--------------------------------------------------------------------------------------------------------------------------------------. - | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BACKSP . BACKSP | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | CAP LK | A | S | D | F | G | H | J | K | L | ; | ' | ENTER . ENTER | PG UP | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | LSHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT . RSHIFT | UP | PG DN | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | LCTRL | LWIN | FN | LALT | UPPER | SPACE . SPACE | LOWER | OSHIFT | RALT | APP | RCTRL | LEFT | DOWN | RIGHT | - '--------------------------------------------------------------------------------------------------------------------------------------' -*/ -[LAYER_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_BSPC, KC_BSPC }, - { KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL }, - { 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_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_RSFT, KC_UP , KC_PGDN }, - { KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC , KC_SPC , M_LOWER, OS_SHFT, KC_RALT, KC_APP , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT } -}, -/* LAYER = LAYER_UPPER - .--------------------------------------------------------------------------------------------------------------------------------------. - | PRINT | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | NUM LK | KP / | KP * | KP - | XXXXXX | XXXXXX | ______ . ______ | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | PAUSE | F1 | F2 | F3 | F4 | NUM LK | KP / | KP 7 | KP 8 | KP 9 | KP - | ______ | ______ | ______ | INS | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | ______ | F5 | F6 | F7 | F8 | CAP LK | KP * | KP 4 | KP 5 | KP 6 | KP + | ______ | ______ . ______ | HOME | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | ______ | F9 | F10 | F11 | F12 | SCR LK | KP 0 | KP 1 | KP 2 | KP 3 | KP ENT | ______ . ______ | ______ | END | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | ______ | ______ | ______ | ______ | UPPER | KP 0 . KP 0 | ______ | RALT | KP . | KP ENT | ______ | ______ | ______ | ______ | - '--------------------------------------------------------------------------------------------------------------------------------------' -*/ -[LAYER_UPPER] = { - { KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, XXXXXXX, XXXXXXX, _______, _______ }, - { KC_PAUS, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_NLCK, KC_PSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______, _______, KC_INS }, - { _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_CAPS, KC_PAST, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______, _______, KC_HOME }, - { _______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_SLCK, KC_KP_0, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______, _______, _______, KC_END }, - { _______, _______, _______, _______, M_UPPER, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, _______, _______, _______, _______ } -}, -/* LAYER = LAYER_LOWER - .--------------------------------------------------------------------------------------------------------------------------------------. - | PRINT | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | ______ . ______ | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | ______ | $ | { | [ | ( | % | # | ) | ] | } | @ | ______ | ______ | ______ | INS | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | ______ | ^ | * | + | - | / | \ | _ | ' | " | ` | ______ | ______ . ______ | HOME | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | ______ | | | & | ! | ~ | ; | : | = | < | > | ? | ______ . ______ | ______ | END | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | ______ | ______ | ______ | ______ | ______ | ______ . ______ | LOWER | ______ | ______ | ______ | ______ | ______ | ______ | ______ | - '--------------------------------------------------------------------------------------------------------------------------------------' -*/ -[LAYER_LOWER] = { - { 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_DLR , KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT , _______, _______, _______, KC_INS }, - { _______, KC_CIRC, KC_ASTR, KC_PLUS, KC_MINS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT , KC_GRV , _______, _______, _______, KC_HOME }, - { _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SCLN, KC_COLN, KC_EQL , KC_LT , KC_GT , KC_QUES, _______, _______, _______, KC_END }, - { _______, _______, _______, _______, _______, _______, _______, M_LOWER, _______, _______, _______, _______, _______, _______, _______ } -}, -/* LAYER = LAYER_FUNCTION - .--------------------------------------------------------------------------------------------------------------------------------------. - | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | XXXXXX | F13 | F14 | F15 | F16 | NUM LK | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | XXXXXX | F17 | F18 | F19 | F20 | SCR LK | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | XXXXXX | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | ______ | F21 | F22 | F23 | F24 | CAP LK | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | ______ . ______ | VOL UP | MUTE | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | ______ | ______ | FN | ______ | ______ | PLAY . PLAY | ______ | ______ | ______ | ______ | ______ | PREV | VOL DN | NEXT | - '--------------------------------------------------------------------------------------------------------------------------------------' -*/ -[LAYER_FUNCTION] = { - { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX }, - { XXXXXXX, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_NLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX }, - { XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_SLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX }, - { _______, KC_F21 , KC_F22 , KC_F23 , KC_F24 , KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_VOLU, KC_MUTE }, - { _______, _______, M_FUNCT, _______, _______, KC_MPLY, KC_MPLY, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT } -}, -/* LAYER = LAYER_MOUSE - .--------------------------------------------------------------------------------------------------------------------------------------. - | ESC | MS AC0 | MS AC1 | MS AC2 | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | MS UL | MS U | MS UR | XXXXXX | XXXXXX | XXXXXX | MS WHL | MS WHR | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | XXXXXX | MS BT5 | MS BT4 | MS BT3 | MS BT2 | XXXXXX | XXXXXX | MS L | XXXXXX | MS R | XXXXXX | XXXXXX | XXXXXX . XXXXXX | MS WHU | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | ______ | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | MS DL | MS D | MS DR | XXXXXX | ______ . ______ | MS U | MS WHD | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | ______ | ______ | ______ | ______ | ______ | MS BT1 . MS BT1 | ______ | ______ | ______ | ______ | ______ | MS L | MS D | MS R | - '--------------------------------------------------------------------------------------------------------------------------------------' -*/ -[LAYER_MOUSE] = { - { KC_ESC , KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX }, - { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_MS_UL, KC_MS_U, M_MS_UR, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_R }, - { XXXXXXX, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, XXXXXXX, XXXXXXX, KC_MS_L, XXXXXXX, KC_MS_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_U }, - { _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_MS_DL, KC_MS_D, M_MS_DR, XXXXXXX, _______, _______, KC_MS_U, KC_WH_D }, - { _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R } -}, -/* LAYER = LAYER_ADJUST - .--------------------------------------------------------------------------------------------------------------------------------------. - | XXXXXX | HELP 1 | HELP 2 | HELP 3 | HELP 4 | HELP 5 | HELP 6 | HELP 7 | HELP 8 | HELP 9 | XXXXXX | MUSIC | AUDIO | XXXXXX . XXXXXX | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | XXXXXX | BRTOG | BRSPD+ | BRSPD- | BRDFLT | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | XXXXXX | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | XXXXXX | QWERTY | XXXXXX | XXXXXX | BACKLT | RESET | XXXXXX | MOUSE | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | VOICE+ | XXXXXX | - |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| - | XXXXXX | XXXXXX | XXXXXX | XXXXXX | UPPER | XXXXXX . XXXXXX | LOWER | XXXXXX | XXXXXX | XXXXXX | XXXXXX | TEMPO- | VOICE- | TEMPO+ | - '--------------------------------------------------------------------------------------------------------------------------------------' -*/ -[LAYER_ADJUST] = { - { XXXXXXX, M_HELP1, M_HELP2, M_HELP3, M_HELP4, M_HELP5, M_HELP6, M_HELP7, M_HELP8, M_HELP9, XXXXXXX, MU_TOG , AU_TOG , XXXXXXX, XXXXXXX }, - { XXXXXXX, M_BRTOG, M_BSPDU, M_BSPDD, M_BDFLT, 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, M_QWRTY, XXXXXXX, XXXXXXX, M_BACKL, RESET , XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MUV_IN , XXXXXXX }, - { XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_UPPER, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TMPO_DN, MUV_DE , TMPO_UP } -}, + /* LAYER = LAYER_QWERTY + .--------------------------------------------------------------------------------------------------------------------------------------. + | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BACKSP . BACKSP | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | CAP LK | A | S | D | F | G | H | J | K | L | ; | ' | ENTER . ENTER | PG UP | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | LSHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT . RSHIFT | UP | PG DN | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | LCTRL | LWIN | FN | LALT | UPPER | SPACE . SPACE | LOWER | OSHIFT | RALT | APP | RCTRL | LEFT | DOWN | RIGHT | + '--------------------------------------------------------------------------------------------------------------------------------------' + */ + [LAYER_QWERTY] = LAYOUT_grid( + KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , + 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_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_RSFT, KC_UP , KC_PGDN, + KC_LCTL, KC_LGUI, M_FUNCT, KC_LALT, M_UPPER, KC_SPC , KC_SPC , M_LOWER, OS_SHFT, KC_RALT, KC_APP , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + /* LAYER = LAYER_UPPER + .--------------------------------------------------------------------------------------------------------------------------------------. + | PRINT | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | NUM LK | KP / | KP * | KP - | XXXXXX | XXXXXX | ______ . ______ | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | PAUSE | F1 | F2 | F3 | F4 | NUM LK | KP / | KP 7 | KP 8 | KP 9 | KP - | ______ | ______ | ______ | INS | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | F5 | F6 | F7 | F8 | CAP LK | KP * | KP 4 | KP 5 | KP 6 | KP + | ______ | ______ . ______ | HOME | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | F9 | F10 | F11 | F12 | SCR LK | KP 0 | KP 1 | KP 2 | KP 3 | KP ENT | ______ . ______ | ______ | END | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | ______ | ______ | ______ | UPPER | KP 0 . KP 0 | ______ | RALT | KP . | KP ENT | ______ | ______ | ______ | ______ | + '--------------------------------------------------------------------------------------------------------------------------------------' + */ + [LAYER_UPPER] = LAYOUT_grid( + KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, XXXXXXX, XXXXXXX, _______, _______, + KC_PAUS, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_NLCK, KC_PSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______, _______, KC_INS , + _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_CAPS, KC_PAST, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______, _______, KC_HOME, + _______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_SLCK, KC_KP_0, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______, _______, _______, KC_END , + _______, _______, _______, _______, M_UPPER, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, _______, _______, _______, _______ + ), + /* LAYER = LAYER_LOWER + .--------------------------------------------------------------------------------------------------------------------------------------. + | PRINT | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | ______ . ______ | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | $ | { | [ | ( | % | # | ) | ] | } | @ | ______ | ______ | ______ | INS | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | ^ | * | + | - | / | \ | _ | ' | " | ` | ______ | ______ . ______ | HOME | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | | | & | ! | ~ | ; | : | = | < | > | ? | ______ . ______ | ______ | END | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | ______ | ______ | ______ | ______ | ______ . ______ | LOWER | ______ | ______ | ______ | ______ | ______ | ______ | ______ | + '--------------------------------------------------------------------------------------------------------------------------------------' + */ + [LAYER_LOWER] = LAYOUT_grid( + 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_DLR , KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT , _______, _______, _______, KC_INS , + _______, KC_CIRC, KC_ASTR, KC_PLUS, KC_MINS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT , KC_GRV , _______, _______, _______, KC_HOME, + _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SCLN, KC_COLN, KC_EQL , KC_LT , KC_GT , KC_QUES, _______, _______, _______, KC_END , + _______, _______, _______, _______, _______, _______, _______, M_LOWER, _______, _______, _______, _______, _______, _______, _______ + ), + /* LAYER = LAYER_FUNCTION + .--------------------------------------------------------------------------------------------------------------------------------------. + | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | XXXXXX | F13 | F14 | F15 | F16 | NUM LK | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | XXXXXX | F17 | F18 | F19 | F20 | SCR LK | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | XXXXXX | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | F21 | F22 | F23 | F24 | CAP LK | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | ______ . ______ | VOL UP | MUTE | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | ______ | FN | ______ | ______ | PLAY . PLAY | ______ | ______ | ______ | ______ | ______ | PREV | VOL DN | NEXT | + '--------------------------------------------------------------------------------------------------------------------------------------' + */ + [LAYER_FUNCTION] = LAYOUT_grid( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_NLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_SLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, KC_F21 , KC_F22 , KC_F23 , KC_F24 , KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, KC_VOLU, KC_MUTE, + _______, _______, M_FUNCT, _______, _______, KC_MPLY, KC_MPLY, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + ), + /* LAYER = LAYER_MOUSE + .--------------------------------------------------------------------------------------------------------------------------------------. + | ESC | MS AC0 | MS AC1 | MS AC2 | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | MS UL | MS U | MS UR | XXXXXX | XXXXXX | XXXXXX | MS WHL | MS WHR | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | XXXXXX | MS BT5 | MS BT4 | MS BT3 | MS BT2 | XXXXXX | XXXXXX | MS L | XXXXXX | MS R | XXXXXX | XXXXXX | XXXXXX . XXXXXX | MS WHU | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | MS DL | MS D | MS DR | XXXXXX | ______ . ______ | MS U | MS WHD | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | ______ | ______ | ______ | ______ | ______ | MS BT1 . MS BT1 | ______ | ______ | ______ | ______ | ______ | MS L | MS D | MS R | + '--------------------------------------------------------------------------------------------------------------------------------------' + */ + [LAYER_MOUSE] = LAYOUT_grid( + KC_ESC , KC_ACL0, KC_ACL1, KC_ACL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_MS_UL, KC_MS_U, M_MS_UR, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_L, KC_WH_R, + XXXXXXX, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, XXXXXXX, XXXXXXX, KC_MS_L, XXXXXXX, KC_MS_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_U, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_MS_DL, KC_MS_D, M_MS_DR, XXXXXXX, _______, _______, KC_MS_U, KC_WH_D, + _______, _______, _______, _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R + ), + /* LAYER = LAYER_ADJUST + .--------------------------------------------------------------------------------------------------------------------------------------. + | XXXXXX | HELP 1 | HELP 2 | HELP 3 | HELP 4 | HELP 5 | HELP 6 | HELP 7 | HELP 8 | HELP 9 | XXXXXX | MUSIC | AUDIO | XXXXXX . XXXXXX | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | XXXXXX | BRTOG | BRSPD+ | BRSPD- | BRDFLT | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | XXXXXX | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | XXXXXX | QWERTY | XXXXXX | XXXXXX | BACKLT | RESET | XXXXXX | MOUSE | XXXXXX | XXXXXX | XXXXXX | XXXXXX . XXXXXX | VOICE+ | XXXXXX | + |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| + | XXXXXX | XXXXXX | XXXXXX | XXXXXX | UPPER | XXXXXX . XXXXXX | LOWER | XXXXXX | XXXXXX | XXXXXX | XXXXXX | TEMPO- | VOICE- | TEMPO+ | + '--------------------------------------------------------------------------------------------------------------------------------------' + */ + [LAYER_ADJUST] = LAYOUT_grid( + XXXXXXX, M_HELP1, M_HELP2, M_HELP3, M_HELP4, M_HELP5, M_HELP6, M_HELP7, M_HELP8, M_HELP9, XXXXXXX, MU_TOG , AU_TOG , XXXXXXX, XXXXXXX, + XXXXXXX, M_BRTOG, M_BSPDU, M_BSPDD, M_BDFLT, 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, M_QWRTY, XXXXXXX, XXXXXXX, M_BACKL, RESET , XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MUV_IN , XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_UPPER, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TMPO_DN, MUV_DE , TMPO_UP + ), }; #ifdef AUDIO_ENABLE @@ -255,22 +255,19 @@ float tone_scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND); #endif /* AUDIO_ENABLE */ -void persistent_default_layer_set(uint16_t default_layer) -{ - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); +void persistent_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); } const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_MODS_ONESHOT(MOD_LSFT), + [0] = ACTION_MODS_ONESHOT(MOD_LSFT), }; -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { - // MACRODOWN only works in this function - switch(id) - { + // MACRODOWN only works in this function + switch(id) { case MACRO_HELP_1: if (record->event.pressed) diff --git a/keyboards/atomic/keymaps/twolayer.c b/keyboards/atomic/keymaps/twolayer.c index 8ea045d806a..f0ff56467da 100644 --- a/keyboards/atomic/keymaps/twolayer.c +++ b/keyboards/atomic/keymaps/twolayer.c @@ -1,72 +1,68 @@ -#include "atomic.h" +#include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* QWERTY - MIT ENHANCED / GRID COMPATIBLE - * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. - * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| - * | LCTRL1 | A | S | D | F | G | H | J | K | L | ; | ' | XXXXXX . ENTER | PG UP | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| - * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN | - * |--------+--------+--------+--------+--------+- 6.25u ---------+--------+--------+--------+--------+-----------------+--------+--------| - * | BRITE | LALT | FN | XXXXXX . SPACE | RCTRL | RALT | FN | LEFT | DOWN | RIGHT | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - - [0] = { /* 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_BSPC, KC_BSPC }, - { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL }, - { 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_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_RSFT, KC_UP, KC_PGDN }, - { M(0), KC_ALT, MO(1), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RCTL, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT }, - }, + /* QWERTY - MIT ENHANCED / GRID COMPATIBLE + * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. + * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| + * | LCTRL1 | A | S | D | F | G | H | J | K | L | ; | ' | XXXXXX . ENTER | PG UP | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| + * | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN | + * |--------+--------+--------+--------+--------+- 6.25u ---------+--------+--------+--------+--------+-----------------+--------+--------| + * | BRITE | LALT | FN | XXXXXX . SPACE | RCTRL | RALT | FN | LEFT | DOWN | RIGHT | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ + [0] = LAYOUT_grid( /* 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_BSPC, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + 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_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_RSFT, KC_UP, KC_PGDN, + M(0), KC_ALT, MO(1), KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RCTL, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, + ), - -/* FUNCTION - * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. - * | GRV | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| - * | SCR LK | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | PAUSE | PR SCR | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| - * | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT | VOL+ | VOL- | PLAY | | XXXXXX . | WHEEL+ | - * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| - * | NUM LK | | | | | | | | INSERT | END1 | HOME | XXXXXX . | MOUS U | WHEEL- | - * |--------+--------+--------+--------+--------+- 6.25 ------------+--------+--------+------+--------+-----------------+--------+--------| - * | | | FN | XXXXXX . MS BT1 | | | FN | MOUS L | MOUS D | MOUS R | - * '--------------------------------------------------------------------------------------------------------------------------------------' - */ - - [1] = { /* FUNCTION LAYER*/ - { 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, ___T___, ___T___ }, - { KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR }, - { KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U }, - { KC_NLCK, _______, _______, _______, _______, _______, _______, _______, KC_INSERT, KC_END, KC_HOME, ___T___, ___T___, KC_MS_U, KC_WH_D }, - { _______, _______, MO(1), _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, MO(1), KC_MS_L, KC_MS_D, KC_MS_R }, - }, + /* FUNCTION + * .---------------------------------------------------------------------------------------------------------------------- 2u ------------. + * | GRV | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| + * | SCR LK | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | PAUSE | PR SCR | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------| + * | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT | VOL+ | VOL- | PLAY | | XXXXXX . | WHEEL+ | + * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------| + * | NUM LK | | | | | | | | INSERT | END1 | HOME | XXXXXX . | MOUS U | WHEEL- | + * |--------+--------+--------+--------+--------+- 6.25 ------------+--------+--------+------+--------+-----------------+--------+--------| + * | | | FN | XXXXXX . MS BT1 | | | FN | MOUS L | MOUS D | MOUS R | + * '--------------------------------------------------------------------------------------------------------------------------------------' + */ + [1] = LAYOUT_grid( /* FUNCTION LAYER*/ + 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, ___T___, ___T___, + KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR, + KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U, + KC_NLCK, _______, _______, _______, _______, _______, _______, _______, KC_INSERT, KC_END, KC_HOME, ___T___, ___T___, KC_MS_U, KC_WH_D, + _______, _______, MO(1), _______, _______, KC_BTN1, KC_BTN1, _______, _______, _______, _______, MO(1), KC_MS_L, KC_MS_D, KC_MS_R, + ), }; const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_MOMENTARY(1), - [2] = ACTION_LAYER_MOMENTARY(1), + [1] = ACTION_LAYER_MOMENTARY(1), + [2] = ACTION_LAYER_MOMENTARY(1), }; -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ +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); - #ifdef BACKLIGHT_ENABLE - backlight_step(); - #endif - } else { - unregister_code(KC_RSFT); - } - break; + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } else { + unregister_code(KC_RSFT); } - return MACRO_NONE; + break; + } + return MACRO_NONE; }; diff --git a/keyboards/atreus/atreus.h b/keyboards/atreus/atreus.h index f841c351997..8e868ecc0e6 100644 --- a/keyboards/atreus/atreus.h +++ b/keyboards/atreus/atreus.h @@ -9,7 +9,7 @@ // This a shortcut to help you visually see your layout. // The first section contains all of the arguements // The second converts the arguments into a two-dimensional array -#define KEYMAP( \ +#define LAYOUT( \ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \ diff --git a/keyboards/atreus/info.json b/keyboards/atreus/info.json new file mode 100644 index 00000000000..34933672f9b --- /dev/null +++ b/keyboards/atreus/info.json @@ -0,0 +1,13 @@ +{ + "keyboard_name": "Atreus", + "url": "", + "maintainer": "qmk", + "bootloader": "", + "width": 12.5, + "height": 4.6, + "layouts": { + "LAYOUT": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":10.5, "y":0}, {"x":11.5, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":7.5, "y":2}, {"x":8.5, "y":2}, {"x":9.5, "y":2}, {"x":10.5, "y":2}, {"x":11.5, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3, "h":1.5}, {"x":6.5, "y":3, "h":1.5}, {"x":7.5, "y":3}, {"x":8.5, "y":3}, {"x":9.5, "y":3}, {"x":10.5, "y":3}, {"x":11.5, "y":3}] + } + } +} \ No newline at end of file diff --git a/keyboards/atreus/keymaps/alphadox/keymap.c b/keyboards/atreus/keymaps/alphadox/keymap.c index b8ec0e032fa..575a640c4f1 100644 --- a/keyboards/atreus/keymaps/alphadox/keymap.c +++ b/keyboards/atreus/keymaps/alphadox/keymap.c @@ -1,4 +1,4 @@ -#include "atreus.h" +#include QMK_KEYBOARD_H #define BASE 0 #define SYMB 1 @@ -9,27 +9,26 @@ enum macro_id { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[BASE] = KEYMAP( + [BASE] = LAYOUT( KC_Q, KC_W, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_SCLN, LT(ETC,KC_A), KC_S, KC_E, KC_T, KC_G, KC_Y, KC_N, KC_I, KC_O, KC_H, SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_P, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH), KC_GRV, KC_DEL, KC_LALT, GUI_T(KC_TAB), LT(SYMB,KC_BSPC), CTL_T(KC_ESC), SFT_T(KC_ENT), LT(SYMB,KC_SPC), GUI_T(KC_LEFT), KC_DOWN, KC_UP, LCAG_T(KC_RGHT) -), + ), -[SYMB] = KEYMAP( + [SYMB] = LAYOUT( KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_EQL, KC_7, KC_8, KC_9, KC_PLUS, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_BSLS, KC_MINS, KC_4, KC_5, KC_6, KC_QUOT, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_ASTR, KC_UNDS, KC_1, KC_2, KC_3, KC_DQUO, KC_TILD, KC_AMPR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_NO, KC_DOT, KC_TRNS -), + ), -[ETC] = KEYMAP( + [ETC] = LAYOUT( RESET, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_VOLU, KC_F7, KC_F8, KC_F9, KC_HOME, LT(ETC,KC_A), KC_NO, KC_NO, KC_NO, KC_PGDN, KC_VOLD, KC_F4, KC_F5, KC_F6, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL, KC_MUTE, KC_F1, KC_F2, KC_F3, KC_INS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO -), + ), }; const uint16_t PROGMEM fn_actions[] = { diff --git a/keyboards/atreus/keymaps/classic/keymap.c b/keyboards/atreus/keymaps/classic/keymap.c index d0741162690..529b58a13b4 100644 --- a/keyboards/atreus/keymaps/classic/keymap.c +++ b/keyboards/atreus/keymaps/classic/keymap.c @@ -1,4 +1,4 @@ -#include "atreus.h" +#include QMK_KEYBOARD_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. @@ -9,23 +9,26 @@ #define _LW 2 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = KEYMAP( /* Qwerty */ - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P , - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN , - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH , - KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, MO(_RS), KC_MINS, KC_QUOT, KC_ENT ), + [_QW] = LAYOUT( /* Qwerty */ + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P , + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN , + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH , + KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, MO(_RS), KC_MINS, KC_QUOT, KC_ENT + ), - [_RS] = KEYMAP( /* [> RAISE <] */ - KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR , - KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS , - KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS , - TG(_LW), KC_INS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL ), + [_RS] = LAYOUT( /* [> RAISE <] */ + KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR , + KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS , + KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS , + TG(_LW), KC_INS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL + ), - [_LW] = KEYMAP( /* [> LOWER <] */ - KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , - KC_DELT, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12 , - KC_TRNS, KC_TRNS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, DF(_QW), KC_TRNS, KC_TRNS, RESET ) + [_LW] = LAYOUT( /* [> LOWER <] */ + KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , + KC_DELT, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12 , + KC_TRNS, KC_TRNS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, DF(_QW), KC_TRNS, KC_TRNS, RESET + ), }; const uint16_t PROGMEM fn_actions[] = { diff --git a/keyboards/atreus/keymaps/default/keymap.c b/keyboards/atreus/keymaps/default/keymap.c index 9e91233c329..2e991ac6f27 100644 --- a/keyboards/atreus/keymaps/default/keymap.c +++ b/keyboards/atreus/keymaps/default/keymap.c @@ -1,7 +1,7 @@ // 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 "atreus.h" +#include QMK_KEYBOARD_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. @@ -12,50 +12,51 @@ #define _LW 2 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_QW] = KEYMAP( /* Qwerty */ - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P , - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN , - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH , - KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, MO(_RS), KC_MINS, KC_QUOT, KC_ENT ), -/* - * ! @ up { } || pgup 7 8 9 * - * # left down right $ || pgdn 4 5 6 + - * [ ] ( ) & || ` 1 2 3 \ - * lower insert super shift bksp ctrl || alt space fn . 0 = - */ -[_RS] = KEYMAP( /* [> RAISE <] */ - KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR , - KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DLR, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS , - KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS , - TG(_LW), KC_INS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL ), -/* - * insert home up end pgup || up F7 F8 F9 F10 - * del left down right pgdn || down F4 F5 F6 F11 - * volup reset || F1 F2 F3 F12 - * voldn super shift bksp ctrl || alt space L0 prtsc scroll pause - */ -[_LW] = KEYMAP( /* [> LOWER <] */ - KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , - KC_DELT, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , - KC_NO, KC_VOLU, KC_NO, KC_NO, RESET, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , - KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SLCK, KC_PAUS ) + [_QW] = LAYOUT( /* Qwerty */ + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P , + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN , + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH , + KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, MO(_RS), KC_MINS, KC_QUOT, KC_ENT + ), + + /* + * ! @ up { } || pgup 7 8 9 * + * # left down right $ || pgdn 4 5 6 + + * [ ] ( ) & || ` 1 2 3 \ + * lower insert super shift bksp ctrl || alt space fn . 0 = + */ + [_RS] = LAYOUT( /* [> RAISE <] */ + KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR , + KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DLR, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS , + KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS , + TG(_LW), KC_INS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL ), + /* + * insert home up end pgup || up F7 F8 F9 F10 + * del left down right pgdn || down F4 F5 F6 F11 + * volup reset || F1 F2 F3 F12 + * voldn super shift bksp ctrl || alt space L0 prtsc scroll pause + */ + [_LW] = LAYOUT( /* [> LOWER <] */ + KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 , + KC_DELT, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOWN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 , + KC_NO, KC_VOLU, KC_NO, KC_NO, RESET, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 , + KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SLCK, KC_PAUS ) }; const uint16_t PROGMEM fn_actions[] = { }; -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ +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; + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); } - return MACRO_NONE; + break; + } + return MACRO_NONE; }; diff --git a/keyboards/atreus/keymaps/dvorak_42_key/keymap.c b/keyboards/atreus/keymaps/dvorak_42_key/keymap.c index 15064eb8c9a..ba343ce4dbf 100644 --- a/keyboards/atreus/keymaps/dvorak_42_key/keymap.c +++ b/keyboards/atreus/keymaps/dvorak_42_key/keymap.c @@ -1,5 +1,5 @@ -#include "atreus.h" +#include QMK_KEYBOARD_H // layers #define BASE 0 @@ -25,7 +25,7 @@ enum custom_keycodes { CLOUD9_GOTO_SYMBOL, CLOUD9_GOTO_LINE, CLOUD9_NAVIGATE, - + }; // building instructions: @@ -35,50 +35,47 @@ enum custom_keycodes { // avrdude -p atmega32u4 -c avr109 -U flash:w:atreus_dvorak_42_key.hex -P COM7 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -[BASE] = { - {KC_QUOTE, KC_COMMA, KC_DOT, KC_P, KC_Y, KC_TRNS, KC_F, KC_G, KC_C, KC_R, KC_L, }, - {KC_A, KC_O, KC_E, KC_U, KC_I, KC_TRNS, KC_D, KC_H, KC_T, KC_N, KC_S, }, - {KC_SCOLON, KC_Q, KC_J, KC_K, KC_X, MO(KEYNAV), KC_B, KC_M, KC_W, KC_V, KC_Z, }, - {OSM(MOD_LSFT), OSM(MOD_LCTL), MO(KEYSEL), MO(BROWSER_CONTROL), MO(COMBINED), KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_CAPSLOCK, OSM(MOD_LSFT), } -}, + [BASE] = LAYOUT( + KC_QUOTE, KC_COMMA, 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_SCOLON, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, + OSM(MOD_LSFT), OSM(MOD_LCTL), MO(KEYSEL), MO(BROWSER_CONTROL), MO(COMBINED), MO(KEYNAV), KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_CAPSLOCK, OSM(MOD_LSFT) + ), -[KEYNAV] = { - {KC_ESC, CLOUD9_GOTO_LINE, RCTL(KC_Z), RCTL(KC_S), MEH(KC_F10), KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, }, - {MEH(KC_F11), CLOUD9_GOTO_SYMBOL, RSFT(KC_TAB), KC_TAB, MEH(KC_A), KC_TRNS, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), }, - {MEH(KC_B), CLOUD9_NAVIGATE, CLOUD9_TAB_LEFT, CLOUD9_TAB_RIGHT, CLOUD9_TAB_CLOSE, KC_TRNS, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDOWN, }, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE), } -}, + [KEYNAV] = LAYOUT( + KC_ESC, CLOUD9_GOTO_LINE, RCTL(KC_Z), RCTL(KC_S), MEH(KC_F10), KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, + MEH(KC_F11), CLOUD9_GOTO_SYMBOL, RSFT(KC_TAB), KC_TAB, MEH(KC_A), LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), + MEH(KC_B), CLOUD9_NAVIGATE, CLOUD9_TAB_LEFT, CLOUD9_TAB_RIGHT, CLOUD9_TAB_CLOSE, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDOWN, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE) + ), -[KEYSEL] = { - {MEH(KC_G), MEH(KC_H),MEH(KC_I), MEH(KC_J), MEH(KC_K), KC_TRNS, KC_TRNS, RSFT(KC_HOME), RSFT(KC_UP), RSFT(KC_END), RSFT(KC_PGUP), }, - {MEH(KC_L), MEH(KC_M),MEH(KC_N), MEH(KC_O), MEH(KC_P), KC_TRNS, RSFT(RCTL(KC_LEFT)), RSFT(KC_LEFT), RSFT(KC_DOWN), RSFT(KC_RIGHT), RSFT(RCTL(KC_RIGHT)), }, - {MEH(KC_Q), MEH(KC_R),MEH(KC_S), MEH(KC_T), MEH(KC_U), KC_TRNS, KC_TRNS, RCTL(KC_C),RCTL(KC_X), RCTL(KC_V), RSFT(KC_PGDN), }, - {RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE), } -}, + [KEYSEL] = LAYOUT( + MEH(KC_G), MEH(KC_H),MEH(KC_I), MEH(KC_J), MEH(KC_K), KC_TRNS, RSFT(KC_HOME), RSFT(KC_UP), RSFT(KC_END), RSFT(KC_PGUP), + MEH(KC_L), MEH(KC_M),MEH(KC_N), MEH(KC_O), MEH(KC_P), RSFT(RCTL(KC_LEFT)), RSFT(KC_LEFT), RSFT(KC_DOWN), RSFT(KC_RIGHT), RSFT(RCTL(KC_RIGHT)), + MEH(KC_Q), MEH(KC_R),MEH(KC_S), MEH(KC_T), MEH(KC_U), KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), RSFT(KC_PGDN), + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE) + ), -[COMBINED] = { - {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS, KC_PLUS, KC_7, KC_8, KC_9, KC_ASTR, }, - {KC_LPRN, KC_RPRN, KC_LBRACKET, KC_RBRACKET, KC_UNDS, KC_TRNS, KC_MINS, KC_4, KC_5, KC_6, KC_SLSH, }, - {KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_AMPR, KC_TRNS, KC_EQUAL, KC_1, KC_2, KC_3, KC_QUES, }, - {KC_TRNS, KC_TILD, KC_GRAVE, KC_CIRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_PIPE, KC_BSLS, } -}, - -[MOUSE] = { - {KC_TRNS, KC_PGUP, KC_MS_WH_UP, KC_UP, KC_TRNS, KC_TRNS, KC_UP, KC_HOME, KC_MS_U, KC_END, KC_MS_WH_UP, }, - {KC_MS_ACCEL0, KC_PGDN, KC_MS_WH_DOWN, KC_DOWN, KC_TRNS, KC_TRNS, KC_DOWN, KC_MS_L, KC_MS_D, KC_MS_R, KC_MS_WH_DOWN, }, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN3, MEH(KC_X), MEH(KC_Y), MEH(KC_Z), KC_F5, RCTL(KC_W), }, - {KC_TRNS, M(MOUSE_LOCK), KC_TRNS, KC_MS_ACCEL0, KC_TRNS, KC_BTN1, KC_BTN2, RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), RCTL(KC_T), LALT(KC_LEFT), } -}, - -[BROWSER_CONTROL] = { - {KC_TRNS, KC_BTN3, KC_MS_U, KC_BTN1, KC_BTN2, KC_TRNS, KC_UP, KC_PGUP, KC_PGDN, KC_MS_WH_UP, KC_TRNS, }, - {KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_DOWN, RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), KC_MS_WH_DOWN, LALT(KC_LEFT), }, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_1), RCTL(KC_9), KC_F6, KC_F5, }, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_W), RCTL(KC_T), RSFT(RCTL(KC_TAB)), KC_TRNS, KC_TRNS, KC_TRNS, } -}, + [COMBINED] = LAYOUT( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_PLUS, KC_7, KC_8, KC_9, KC_ASTR, + KC_LPRN, KC_RPRN, KC_LBRACKET, KC_RBRACKET, KC_UNDS, KC_MINS, KC_4, KC_5, KC_6, KC_SLSH, + KC_COLN, KC_DQUO, KC_LCBR, KC_RCBR, KC_AMPR, KC_EQUAL, KC_1, KC_2, KC_3, KC_QUES, + KC_TRNS, KC_TILD, KC_GRAVE, KC_CIRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_PIPE, KC_BSLS + ), + [MOUSE] = LAYOUT( + KC_TRNS, KC_PGUP, KC_MS_WH_UP, KC_UP, KC_TRNS, KC_UP, KC_HOME, KC_MS_U, KC_END, KC_MS_WH_UP, + KC_MS_ACCEL0, KC_PGDN, KC_MS_WH_DOWN, KC_DOWN, KC_TRNS, KC_DOWN, KC_MS_L, KC_MS_D, KC_MS_R, KC_MS_WH_DOWN, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MEH(KC_X), MEH(KC_Y), MEH(KC_Z), KC_F5, RCTL(KC_W), + KC_TRNS, M(MOUSE_LOCK), KC_TRNS, KC_MS_ACCEL0, KC_TRNS, KC_BTN3, KC_BTN1, KC_BTN2, RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), RCTL(KC_T), LALT(KC_LEFT) + ), + [BROWSER_CONTROL] = LAYOUT( + KC_TRNS, KC_BTN3, KC_MS_U, KC_BTN1, KC_BTN2, KC_UP, KC_PGUP, KC_PGDN, KC_MS_WH_UP, KC_TRNS, + KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_DOWN, RSFT(RCTL(KC_TAB)), RCTL(KC_TAB), KC_MS_WH_DOWN, LALT(KC_LEFT), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_1), RCTL(KC_9), KC_F6, KC_F5, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RCTL(KC_W), RCTL(KC_T), RSFT(RCTL(KC_TAB)), KC_TRNS, KC_TRNS, KC_TRNS + ), }; const uint16_t PROGMEM fn_actions[] = { @@ -91,31 +88,31 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // Cloud9 macros case CLOUD9_TAB_LEFT: SEND_STRING(SS_LCTRL("[")); - return true; + return true; break; case CLOUD9_TAB_RIGHT: SEND_STRING(SS_LCTRL("]")); - return true; + return true; break; case CLOUD9_TAB_CLOSE: SEND_STRING(SS_LALT("w")); - return true; + return true; break; case CLOUD9_GOTO_SYMBOL: SEND_STRING(SS_LSFT(SS_LCTRL("e"))); - return true; + return true; break; case CLOUD9_GOTO_LINE: SEND_STRING(SS_LCTRL("g")); - return true; + return true; break; case CLOUD9_NAVIGATE: SEND_STRING(SS_LCTRL("e")); return true; - break; + break; } } - + return true; } @@ -142,7 +139,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) else mouse_lock = true; } - break; + break; } return MACRO_NONE; }; diff --git a/keyboards/atreus/keymaps/erlandsona/keymap.c b/keyboards/atreus/keymaps/erlandsona/keymap.c index 32c8826e023..232c700e948 100644 --- a/keyboards/atreus/keymaps/erlandsona/keymap.c +++ b/keyboards/atreus/keymaps/erlandsona/keymap.c @@ -1,7 +1,7 @@ // 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 "atreus.h" +#include QMK_KEYBOARD_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. @@ -17,23 +17,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[BASE] = KEYMAP( /* Qwerty */ - KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , - KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , - SFT_T(KC_Z), KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , SFT_T(KC_QUOT), - KC_LCTL , KC_LALT, KC_LALT, KC_LGUI, KC_BSPC, KC_ESC, KC_ENT, KC_SPC, F(NUMS), KC_RALT, KC_SLSH, KC_BSLS ), + [BASE] = LAYOUT( /* Qwerty */ + KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , + KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , + SFT_T(KC_Z), KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , SFT_T(KC_QUOT), + KC_LCTL , KC_LALT, KC_LALT, KC_LGUI, KC_BSPC, KC_ESC, KC_ENT, KC_SPC, F(NUMS), KC_RALT, KC_SLSH, KC_BSLS + ), -[NUMS] = KEYMAP( /* Numbers / Arrows / Symbols */ - KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_LPRN, KC_RPRN, KC_MINS, KC_EQL , KC_LBRC, - KC_TAB , KC_5 , KC_6 , KC_7 , KC_8 , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_RBRC, - _______, KC_9 , KC_0 , KC_DOT , KC_COMM, KC_HOME, KC_PGDN, KC_PGUP, KC_END , _______, - _______, _______, _______, _______, KC_DEL , F(MOUS), _______, _______, _______, _______, _______, _______), + [NUMS] = LAYOUT( /* Numbers / Arrows / Symbols */ + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_LPRN, KC_RPRN, KC_MINS, KC_EQL , KC_LBRC, + KC_TAB , KC_5 , KC_6 , KC_7 , KC_8 , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_RBRC, + _______, KC_9 , KC_0 , KC_DOT , KC_COMM, KC_HOME, KC_PGDN, KC_PGUP, KC_END , _______, + _______, _______, _______, _______, KC_DEL , F(MOUS), _______, _______, _______, _______, _______, _______ + ), -[MOUS] = KEYMAP( /* Mouse and Media Keys */ - KC_SLCK, KC_PAUSE, KC_F11 , KC_F10 , KC_F9 , KC_F8 , KC_F7 , KC_F6 , KC_F5 , KC_F4, - KC_VOLD, KC_ACL0 , KC_ACL1, KC_ACL2, KC_VOLU, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_F3, - KC_MUTE, KC_MPRV , KC_MPLY, KC_MNXT, KC_MUTE, KC_WH_R, KC_WH_U, KC_WH_D, KC_WH_L, KC_F2, - _______, _______ , _______, _______, _______, _______, _______, KC_BTN1, F(BASE), RESET , KC_F12 , KC_F1) + [MOUS] = LAYOUT( /* Mouse and Media Keys */ + KC_SLCK, KC_PAUSE, KC_F11 , KC_F10 , KC_F9 , KC_F8 , KC_F7 , KC_F6 , KC_F5 , KC_F4, + KC_VOLD, KC_ACL0 , KC_ACL1, KC_ACL2, KC_VOLU, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_F3, + KC_MUTE, KC_MPRV , KC_MPLY, KC_MNXT, KC_MUTE, KC_WH_R, KC_WH_U, KC_WH_D, KC_WH_L, KC_F2, + _______, _______ , _______, _______, _______, _______, _______, KC_BTN1, F(BASE), RESET , KC_F12 , KC_F1 + ), }; @@ -45,17 +48,16 @@ const uint16_t PROGMEM fn_actions[] = { [MOUS] = ACTION_LAYER_ON(2, 1) // switch to layer 2 }; -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ +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; + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); } - return MACRO_NONE; + break; + } + return MACRO_NONE; }; diff --git a/keyboards/atreus/keymaps/gerb/keymap.c b/keyboards/atreus/keymaps/gerb/keymap.c index 1ba3942e3b9..c52f32ef61d 100644 --- a/keyboards/atreus/keymaps/gerb/keymap.c +++ b/keyboards/atreus/keymaps/gerb/keymap.c @@ -1,7 +1,7 @@ // This is the personal keymap of Chris Gerber (@gerbercj). I haven't worked out the kinks // with the Colemak and Dvorak support yet, but everything else works nicely. -#include "atreus.h" +#include QMK_KEYBOARD_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. @@ -14,53 +14,52 @@ #define _L2 4 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QW] = { /* Qwerty */ - {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P }, - {KC_A, KC_S, KC_D, KC_F, KC_G, KC_NO, KC_H, KC_J, KC_K, KC_L, KC_SCLN}, - {KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH}, - {KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_RCTL, KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_ENT } - }, - [_CM] = { /* Colemak */ - {KC_Q, KC_W, KC_F, KC_P, KC_G, KC_NO, KC_J, KC_L, KC_U, KC_Y, KC_SCLN}, - {KC_A, KC_R, KC_S, KC_T, KC_D, KC_NO, KC_H, KC_N, KC_E, KC_I, KC_O }, - {KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH}, - {KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_RCTL, KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_ENT } - }, - [_DV] = { /* Dvorak */ - {KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_NO, KC_F, KC_G, KC_C, KC_R, KC_L }, - {KC_A, KC_O, KC_E, KC_U, KC_I, KC_NO, KC_D, KC_H, KC_T, KC_N, KC_S }, - {KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LALT, KC_B, KC_M, KC_W, KC_V, KC_Z }, - {KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_RCTL, KC_SPC, MO(_L1), KC_MINS, KC_SLSH, KC_ENT } - }, - [_L1] = { /* LAYER 1 */ - {KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_NO, KC_VOLU, KC_7, KC_8, KC_9, KC_LBRC}, - {KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_NO, KC_VOLD, KC_4, KC_5, KC_6, KC_RBRC}, - {KC_GRV, KC_MPRV, KC_MPLY, KC_MNXT, KC_MINS, KC_LALT, KC_MUTE, KC_1, KC_2, KC_3, KC_BSLS}, - {TG(_L2), KC_APP, KC_LGUI, KC_LSFT, KC_BSPC, KC_RCTL, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL } - }, - [_L2] = { /* LAYER 2 */ - {KC_TRNS, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, KC_NO, DF(_QW), KC_F7, KC_F8, KC_F9, KC_F10 }, - {KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_NO, DF(_CM), KC_F6, KC_F5, KC_F6, KC_F11 }, - {KC_BTN4, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, KC_LALT, DF(_DV), KC_F1, KC_F2, KC_F3, KC_F12 }, - {KC_TRNS, KC_TRNS, KC_LGUI, KC_LSFT, KC_BSPC, KC_RCTL, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, RESET } - } + [_QW] = LAYOUT( /* Qwerty */ + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LALT, KC_RCTL, KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_ENT + ), + [_CM] = LAYOUT( /* Colemak */ + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, + 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, + KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LALT, KC_RCTL, KC_SPC, MO(_L1), KC_MINS, KC_QUOT, KC_ENT + ), + [_DV] = LAYOUT( /* Dvorak */ + 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_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, + KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LALT, KC_RCTL, KC_SPC, MO(_L1), KC_MINS, KC_SLSH, KC_ENT + ), + [_L1] = LAYOUT( /* LAYER 1 */ + KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_VOLU, KC_7, KC_8, KC_9, KC_LBRC, + KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_VOLD, KC_4, KC_5, KC_6, KC_RBRC, + KC_GRV, KC_MPRV, KC_MPLY, KC_MNXT, KC_MINS, KC_MUTE, KC_1, KC_2, KC_3, KC_BSLS, + TG(_L2), KC_APP, KC_LGUI, KC_LSFT, KC_BSPC, KC_LALT, KC_RCTL, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL + ), + [_L2] = LAYOUT( /* LAYER 2 */ + KC_TRNS, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, DF(_QW), KC_F7, KC_F8, KC_F9, KC_F10, + KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, DF(_CM), KC_F6, KC_F5, KC_F6, KC_F11, + KC_BTN4, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4, DF(_DV), KC_F1, KC_F2, KC_F3, KC_F12, + KC_TRNS, KC_TRNS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LALT, KC_RCTL, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, RESET + ), }; const uint16_t PROGMEM fn_actions[] = { }; -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ +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; + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); } - return MACRO_NONE; + break; + } + return MACRO_NONE; }; diff --git a/keyboards/atreus/keymaps/henxing/keymap.c b/keyboards/atreus/keymaps/henxing/keymap.c index e5ff5f5d3fb..51a46fa3737 100644 --- a/keyboards/atreus/keymaps/henxing/keymap.c +++ b/keyboards/atreus/keymaps/henxing/keymap.c @@ -1,4 +1,4 @@ -#include "atreus.h" +#include QMK_KEYBOARD_H #include "action_layer.h" #include "eeconfig.h" @@ -19,87 +19,85 @@ enum custom_keycodes { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * q w e r t || y u i o p + * a s d f g || h j k l ; + * z x c v b || n m , . / + * esc tab gui shift bksp ctrl || alt space lower - ' enter + */ + [_QWERTY] = LAYOUT( \ + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \ + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, \ + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \ + KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, LOWER, KC_MINS, KC_QUOT, KC_ENT \ + ), - /* - * q w e r t || y u i o p - * a s d f g || h j k l ; - * z x c v b || n m , . / - * esc tab gui shift bksp ctrl || alt space lower - ' enter - */ - [_QWERTY] = KEYMAP( \ - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \ - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, \ - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \ - KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, LOWER, KC_MINS, KC_QUOT, KC_ENT \ - ), - - /* - * ! @ up { } || pgup 7 8 9 * - * # left down right $ || pgdn 4 5 6 + - * [ ] ( ) & || ` 1 2 3 \ - * raise insert gui shift bksp ctrl || alt space ____ . 0 = - */ - [_LOWER] = KEYMAP( \ - KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR, \ - KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS, \ - KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, \ - RAISE, KC_INS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL \ - ), - - /* - * insert home up end pgup || up F7 F8 F9 F10 - * del left down right pgdn || down F4 F5 F6 F11 - * volup reset || F1 F2 F3 F12 - * voldn super shift bksp ctrl || alt space QWERTY prtsc scroll pause - */ - [_RAISE] = KEYMAP( \ - KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10, \ - KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11, \ - KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12, \ - KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, QWERTY, KC_PSCR, KC_SLCK, KC_PAUS \ - ) + /* + * ! @ up { } || pgup 7 8 9 * + * # left down right $ || pgdn 4 5 6 + + * [ ] ( ) & || ` 1 2 3 \ + * raise insert gui shift bksp ctrl || alt space ____ . 0 = + */ + [_LOWER] = LAYOUT( \ + KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR, \ + KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS, \ + KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, \ + RAISE, KC_INS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL \ + ), + /* + * insert home up end pgup || up F7 F8 F9 F10 + * del left down right pgdn || down F4 F5 F6 F11 + * volup reset || F1 F2 F3 F12 + * voldn super shift bksp ctrl || alt space QWERTY prtsc scroll pause + */ + [_RAISE] = LAYOUT( \ + KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10, \ + KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11, \ + KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F12, \ + KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, QWERTY, KC_PSCR, KC_SLCK, KC_PAUS \ + ), }; void persistent_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); } bool process_record_user(uint16_t keycode, keyrecord_t *record) { - // The value to return - bool return_value = false; + // The value to return + bool return_value = false; - switch (keycode) { - case QWERTY: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_QWERTY); - } - break; + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + persistent_default_layer_set(1UL<<_QWERTY); + } + break; - case LOWER: - // Toggle LOWER layer on when key pressed and off when released - if (record->event.pressed) { - layer_on(_LOWER); - } else { - layer_off(_LOWER); - } - break; + case LOWER: + // Toggle LOWER layer on when key pressed and off when released + if (record->event.pressed) { + layer_on(_LOWER); + } else { + layer_off(_LOWER); + } + break; - case RAISE: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_RAISE); - } - break; + case RAISE: + if (record->event.pressed) { + persistent_default_layer_set(1UL<<_RAISE); + } + break; - default: + default: - // If the keycode is not handled by any of the other cases, the - // function should return true - return_value = true; - break; - } + // If the keycode is not handled by any of the other cases, the + // function should return true + return_value = true; + break; + } - return return_value; + return return_value; } diff --git a/keyboards/atreus/keymaps/jeremy/keymap.c b/keyboards/atreus/keymaps/jeremy/keymap.c index 90ec6f9049a..42bef9d80c9 100644 --- a/keyboards/atreus/keymaps/jeremy/keymap.c +++ b/keyboards/atreus/keymaps/jeremy/keymap.c @@ -1,6 +1,6 @@ // This is the personal keymap of Jeremy Cowgar (@jcowgar). It is written for the programmer. -#include "atreus.h" +#include QMK_KEYBOARD_H #include "action_layer.h" #include "keymap_colemak.h" @@ -25,41 +25,43 @@ #define KM_REDO LGUI(LSFT(KC_Z)) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[ALPH] = { - {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P}, - {KC_A, LT(NUMS, KC_S), LT(FKEY, KC_D), KC_F, KC_G, KC_TRNS, KC_H, KC_J, LT(CURS, KC_K), LT(SYMB, KC_L), KC_SCLN}, - {KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH}, - {KC_LCTL, KC_ESC, KC_NO, KC_LSFT, KC_SPC, KC_LGUI, KC_ENT, KC_RSFT, KC_NO, KC_ESC, KC_RCTL} -}, -[NUMS] = { - {KC_TRNS, KC_TRNS, KC_TRNS, KC_ASTR, KC_SLSH, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_SLSH}, - {KC_TRNS, KC_TRNS, KC_EQL, KC_PLUS, KC_MINS, KC_TRNS, KC_LPRN, KC_4, KC_5, KC_6, KC_ASTR}, - {KC_TRNS, KC_TRNS, KC_DOT, KC_COMM, CM_SCLN, KC_TRNS, KC_RPRN, KC_1, KC_2, KC_3, KC_MINS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_EQL, KC_PLUS} -}, -[CURS] = { - {KC_TRNS, KC_BSPC, KC_UP, KC_DELT, KC_PGUP, KC_TRNS, KC_TRNS, KM_SAVE, KC_TRNS, KM_OPEN, KC_TRNS}, - {KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KM_UNDO, KC_LALT, KC_TRNS, KC_LGUI, KC_TRNS}, - {KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_MPLY, KM_COPY, KM_REDO, KM_CLSE, KC_TRNS, KC_TRNS, KC_TRNS}, - {KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TAB, KM_CUT, KM_PAST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS} -}, -[SYMB] = { - {KC_BSLS, KC_EXLM, KC_LABK, KC_RABK, CM_COLN, KC_TRNS, KC_UNDS, KC_DLR, KC_QUES, KC_TRNS, KC_PERC}, - {KC_AT, KC_AMPR, KC_LPRN, KC_RPRN, CM_SCLN, KC_TRNS, KC_COMM, KC_DOT, KC_QUOT, KC_TRNS, KC_TILD}, - {KC_HASH, KC_PIPE, KC_LCBR, KC_RCBR, KC_SLSH, KC_TRNS, KC_TRNS, KC_GRV, KC_DQT, KC_TRNS, KC_CIRC}, - {KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS} -}, -[FKEY] = { - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F5, KC_F6, KC_F7, KC_F8}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS} -}}; + [ALPH] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, LT(NUMS, KC_S), LT(FKEY, KC_D), KC_F, KC_G, KC_H, KC_J, LT(CURS, KC_K), LT(SYMB, KC_L), KC_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_LCTL, KC_ESC, KC_NO, KC_LSFT, KC_SPC, KC_LALT, KC_LGUI, KC_ENT, KC_RSFT, KC_NO, KC_ESC, KC_RCTL + ), + [NUMS] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_ASTR, KC_SLSH, KC_TRNS, KC_7, KC_8, KC_9, KC_SLSH, + KC_TRNS, KC_TRNS, KC_EQL, KC_PLUS, KC_MINS, KC_LPRN, KC_4, KC_5, KC_6, KC_ASTR, + KC_TRNS, KC_TRNS, KC_DOT, KC_COMM, CM_SCLN, KC_RPRN, KC_1, KC_2, KC_3, KC_MINS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_EQL, KC_PLUS + ), + [CURS] = LAYOUT( + KC_TRNS, KC_BSPC, KC_UP, KC_DELT, KC_PGUP, KC_TRNS, KM_SAVE, KC_TRNS, KM_OPEN, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KM_UNDO, KC_LALT, KC_TRNS, KC_LGUI, KC_TRNS, + KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_MPLY, KM_REDO, KM_CLSE, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TAB, KM_COPY, KM_CUT, KM_PAST, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [SYMB] = LAYOUT( + KC_BSLS, KC_EXLM, KC_LABK, KC_RABK, CM_COLN, KC_UNDS, KC_DLR, KC_QUES, KC_TRNS, KC_PERC, + KC_AT, KC_AMPR, KC_LPRN, KC_RPRN, CM_SCLN, KC_COMM, KC_DOT, KC_QUOT, KC_TRNS, KC_TILD, + KC_HASH, KC_PIPE, KC_LCBR, KC_RCBR, KC_SLSH, KC_TRNS, KC_GRV, KC_DQT, KC_TRNS, KC_CIRC, + KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [FKEY] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F5, KC_F6, KC_F7, KC_F8, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; -const uint16_t PROGMEM fn_actions[] = {}; +const uint16_t PROGMEM fn_actions[] = { -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { switch(id) {} return MACRO_NONE; diff --git a/keyboards/atreus/keymaps/khitsule/keymap.c b/keyboards/atreus/keymaps/khitsule/keymap.c index 23fabf0d791..04cd4d59168 100644 --- a/keyboards/atreus/keymaps/khitsule/keymap.c +++ b/keyboards/atreus/keymaps/khitsule/keymap.c @@ -1,10 +1,10 @@ // Personal keymap of khitsule -#include "atreus.h" +#include QMK_KEYBOARD_H -#define ALPH 0 -#define LOWR 1 -#define RAIS 2 +#define ALPH 0 +#define LOWR 1 +#define RAIS 2 // enum layers { // ALPH, //alpha qwerty @@ -24,24 +24,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[ALPH] = { - {KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P}, - {KC_A, KC_S, KC_D, KC_F, KC_G, KC_TRNS, KC_H, KC_J, KC_K, KC_L, KC_SCLN}, - {KC_Z, KC_X, KC_C, KC_V, KC_B, CTL_T(KC_SPC), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH}, - {KC_ESC, KC_TRNS, KC_TRNS, ALT_T(KC_ENT), LT(LOWR, KC_TAB), SFT_T(KC_BSPC), LT(RAIS, KC_DEL), KC_LGUI, KC_TRNS, KC_QUOT, KC_MINUS} -}, -[LOWR] = { - {KC_PSCR, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_TRNS, KC_LPRN, KC_F7, KC_F8, KC_F9, KC_RPRN}, - {KC_VOLU, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGUP, KC_TRNS, KC_LBRC, KC_F4, KC_F5, KC_F6, KC_RBRC}, - {KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, KC_PGDN, KC_TRNS, LSFT(KC_LBRC), KC_F1, KC_F2, KC_F3, LSFT(KC_RBRC)}, - {KM_DLEFT, KM_DRIGHT, LALT(KC_TAB), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS} -}, -[RAIS] = { - {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS}, - {KC_CIRC, KC_AMPR, KC_GRV, KC_TILD, KC_PIPE, KC_TRNS, KC_PLUS, KC_4, KC_5, KC_6, KC_ASTR}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_TRNS, KC_MINUS, KC_1, KC_2, KC_3, KC_SLASH}, - {RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_EQL} -} + [ALPH] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_ESC, KC_TRNS, KC_TRNS, ALT_T(KC_ENT), LT(LOWR, KC_TAB), CTL_T(KC_SPC), SFT_T(KC_BSPC), LT(RAIS, KC_DEL), KC_LGUI, KC_TRNS, KC_QUOT, KC_MINUS + ), + [LOWR] = LAYOUT( + KC_PSCR, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_LPRN, KC_F7, KC_F8, KC_F9, KC_RPRN, + KC_VOLU, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGUP, KC_LBRC, KC_F4, KC_F5, KC_F6, KC_RBRC, + KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, KC_PGDN, LSFT(KC_LBRC), KC_F1, KC_F2, KC_F3, LSFT(KC_RBRC), + KM_DLEFT, KM_DRIGHT, LALT(KC_TAB), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [RAIS] = LAYOUT( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_TRNS, KC_7, KC_8, KC_9, KC_TRNS, + KC_CIRC, KC_AMPR, KC_GRV, KC_TILD, KC_PIPE, KC_PLUS, KC_4, KC_5, KC_6, KC_ASTR, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS, KC_MINUS, KC_1, KC_2, KC_3, KC_SLASH, + RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_DOT, KC_EQL + ), }; const uint16_t PROGMEM fn_actions[] = { @@ -49,9 +49,8 @@ const uint16_t PROGMEM fn_actions[] = { [2] = ACTION_MACRO_TAP(2) }; -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - switch(id) { +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + switch(id) { case 1: return tap_mod_macro(record, LGUI, MACRO( D(LSFT), T(9), U(LSFT), END)); break; diff --git a/keyboards/atreus/keymaps/replicaJunction/keymap.c b/keyboards/atreus/keymaps/replicaJunction/keymap.c index d39a184d487..2d8f0d70f86 100644 --- a/keyboards/atreus/keymaps/replicaJunction/keymap.c +++ b/keyboards/atreus/keymaps/replicaJunction/keymap.c @@ -15,7 +15,7 @@ * here: https://colemakmods.github.io/mod-dh/ */ -#include "atreus.h" +#include QMK_KEYBOARD_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. @@ -47,136 +47,136 @@ ; // This doesn't do anything. It's just for VSCode because its syntax highlighting is weird for the above #define statements. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * Colemak-ModDH + * + * ,----------------------------------. ,----------------------------------. + * | Q | W | F | P | B | | J | L | U | Y | ; | + * +------+------+------+------+------| +------+------+------+------+------| + * | A | R | S | T | G | | M | N | E | I | O | + * +------+------+------+------+------| +------+------+------+------+------| + * |Z Shft| X | C | D | V | ,------. ,------. | K | H | , | . |/ Shft| + * +------+------+------+------+------| | Ctrl | | Alt | +------+------+------+------+------| + * | Esc | Gui | Tab | _FN | Bksp | | Del | | Enter| |Sp/_NU| _EX | - | ' | = | + * `----------------------------------' `------' `------' `----------------------------------' + * + */ + [_CO] = LAYOUT( + KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, + KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, + SFT_T(KC_Z), KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, SFT_T(KC_SLSH), + KC_ESC, KC_LGUI, KC_TAB, MO(_FN), KC_BSPC, CTL_T(KC_DEL), ALT_T(KC_ENT), LT(_NU, KC_SPC), MO(_EX), KC_MINS, KC_QUOT, KC_EQL + ), -/* - * Colemak-ModDH - * - * ,----------------------------------. ,----------------------------------. - * | Q | W | F | P | B | | J | L | U | Y | ; | - * +------+------+------+------+------| +------+------+------+------+------| - * | A | R | S | T | G | | M | N | E | I | O | - * +------+------+------+------+------| +------+------+------+------+------| - * |Z Shft| X | C | D | V | ,------. ,------. | K | H | , | . |/ Shft| - * +------+------+------+------+------| | Ctrl | | Alt | +------+------+------+------+------| - * | Esc | Gui | Tab | _FN | Bksp | | Del | | Enter| |Sp/_NU| _EX | - | ' | = | - * `----------------------------------' `------' `------' `----------------------------------' - * - */ -[_CO] = KEYMAP( - KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, - KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, - SFT_T(KC_Z), KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, SFT_T(KC_SLSH), - KC_ESC, KC_LGUI, KC_TAB, MO(_FN), KC_BSPC, CTL_T(KC_DEL), ALT_T(KC_ENT), LT(_NU, KC_SPC), MO(_EX), KC_MINS, KC_QUOT, KC_EQL -), + /* + * QWERTY + * + * ,----------------------------------. ,----------------------------------. + * | Q | W | E | R | T | | Y | U | I | O | P | + * +------+------+------+------+------| +------+------+------+------+------| + * | A | S | D | F | G | | H | J | K | L | ; | + * +------+------+------+------+------| +------+------+------+------+------| + * |Z Shft| X | C | V | B | ,------. ,------. | N | M | , | . |/ Shft| + * +------+------+------+------+------| | Ctrl | | Alt | +------+------+------+------+------| + * | Esc | Gui | Tab | _FN | Bksp | | Del | | Enter| |Sp/_NU| _EX | - | ' | = | + * `----------------------------------' `------' `------' `----------------------------------' + * + */ + [_QW] = LAYOUT( /* Qwerty */ + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH), + KC_ESC, KC_LGUI, KC_TAB, MO(_FN), KC_BSPC, CTL_T(KC_DEL), ALT_T(KC_ENT), LT(_NU, KC_SPC), MO(_EX), KC_MINS, KC_QUOT, KC_EQL + ), -/* - * QWERTY - * - * ,----------------------------------. ,----------------------------------. - * | Q | W | E | R | T | | Y | U | I | O | P | - * +------+------+------+------+------| +------+------+------+------+------| - * | A | S | D | F | G | | H | J | K | L | ; | - * +------+------+------+------+------| +------+------+------+------+------| - * |Z Shft| X | C | V | B | ,------. ,------. | N | M | , | . |/ Shft| - * +------+------+------+------+------| | Ctrl | | Alt | +------+------+------+------+------| - * | Esc | Gui | Tab | _FN | Bksp | | Del | | Enter| |Sp/_NU| _EX | - | ' | = | - * `----------------------------------' `------' `------' `----------------------------------' - * - */ -[_QW] = KEYMAP( /* Qwerty */ - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, - SFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH), - KC_ESC, KC_LGUI, KC_TAB, MO(_FN), KC_BSPC, CTL_T(KC_DEL), ALT_T(KC_ENT), LT(_NU, KC_SPC), MO(_EX), KC_MINS, KC_QUOT, KC_EQL -), + /* + * Extend + * + * Ctrl+` is a keyboard shortcut for the program ConEmu, which brings up a dropdown console window. + * + * Also note that some dual-role keys are overridden here with their modifiers + * + * ,----------------------------------. ,----------------------------------. + * | | | | |Ctrl `| | PgUp | Home | Up | End | Del | + * +------+------+------+------+------| +------+------+------+------+------| + * | Gui | Shift| Alt | Ctrl | | | PgDn | Left | Down | Right| Bksp | + * +------+------+------+------+------| +------+------+------+------+------| + * | Shift| Cut | Copy | | Paste| ,------. ,------. | | ^Tab | Tab | |Insert| + * +------+------+------+------+------| | Del | | Enter| +------+------+------+------+------| + * | | | | | | | | | | | Space|XXXXXX| | |PrntSc| + * `----------------------------------' `------' `------' `----------------------------------' + * + */ + [_EX] = LAYOUT( /* Extend */ + _______, _______, _______, _______, LCTL(KC_GRV), KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, + KC_LGUI, KC_LSFT, KC_LALT, KC_LCTL, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, + KC_LSFT, KX_CUT, KX_COPY, _______, KX_PAST, _______, KCX_LST, KC_TAB, _______, KC_INS, + _______, _______, _______, _______, _______, KC_DEL, KC_ENT, KC_SPC, _______, _______, _______, KC_PSCR + ), -/* - * Extend - * - * Ctrl+` is a keyboard shortcut for the program ConEmu, which brings up a dropdown console window. - * - * Also note that some dual-role keys are overridden here with their modifiers - * - * ,----------------------------------. ,----------------------------------. - * | | | | |Ctrl `| | PgUp | Home | Up | End | Del | - * +------+------+------+------+------| +------+------+------+------+------| - * | Gui | Shift| Alt | Ctrl | | | PgDn | Left | Down | Right| Bksp | - * +------+------+------+------+------| +------+------+------+------+------| - * | Shift| Cut | Copy | | Paste| ,------. ,------. | | ^Tab | Tab | |Insert| - * +------+------+------+------+------| | Del | | Enter| +------+------+------+------+------| - * | | | | | | | | | | | Space|XXXXXX| | |PrntSc| - * `----------------------------------' `------' `------' `----------------------------------' - * - */ -[_EX] = KEYMAP( /* Extend */ - _______, _______, _______, _______, LCTL(KC_GRV), KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, - KC_LGUI, KC_LSFT, KC_LALT, KC_LCTL, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, - KC_LSFT, KX_CUT, KX_COPY, _______, KX_PAST, _______, KCX_LST, KC_TAB, _______, KC_INS, - _______, _______, _______, _______, _______, KC_DEL, KC_ENT, KC_SPC, _______, _______, _______, KC_PSCR -), + /* + * Numbers and symbols + * + * ,----------------------------------. ,----------------------------------. + * | ! | @ | { | } | & | | / | 7 | 8 | 9 | * | + * +------+------+------+------+------| +------+------+------+------+------| + * | # | $ | ( | ) | ~ | | | | 4 | 5 | 6 | - | + * +------+------+------+------+------| +------+------+------+------+------| + * | % | ^ | [ | ] | ` | ,------. ,------. | \ | 1 | 2 | 3 | + | + * +------+------+------+------+------| | | | | +------+------+------+------+------| + * | | _GA | | | | | | | | |XXXXXX| 0 | . | = | | + * `----------------------------------' `------' `------' `----------------------------------' + * + */ + [_NU] = LAYOUT( /* Numbers and symbols */ + KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_AMPR, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR, + KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_TILD, KC_PIPE, KC_4, KC_5, KC_6, KC_MINS, + KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_GRV, KC_BSLS, KC_1, KC_2, KC_3, KC_PLUS, + _______, TG(_GA), _______, _______, _______, _______, _______, _______, KC_0, KC_DOT, KC_EQL, _______ + ), -/* - * Numbers and symbols - * - * ,----------------------------------. ,----------------------------------. - * | ! | @ | { | } | & | | / | 7 | 8 | 9 | * | - * +------+------+------+------+------| +------+------+------+------+------| - * | # | $ | ( | ) | ~ | | | | 4 | 5 | 6 | - | - * +------+------+------+------+------| +------+------+------+------+------| - * | % | ^ | [ | ] | ` | ,------. ,------. | \ | 1 | 2 | 3 | + | - * +------+------+------+------+------| | | | | +------+------+------+------+------| - * | | _GA | | | | | | | | |XXXXXX| 0 | . | = | | - * `----------------------------------' `------' `------' `----------------------------------' - * - */ -[_NU] = KEYMAP( /* Numbers and symbols */ - KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_AMPR, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR, - KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_TILD, KC_PIPE, KC_4, KC_5, KC_6, KC_MINS, - KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_GRV, KC_BSLS, KC_1, KC_2, KC_3, KC_PLUS, - _______, TG(_GA), _______, _______, _______, _______, _______, _______, KC_0, KC_DOT, KC_EQL, _______ -), + /* + * Functions + * + * ,----------------------------------. ,----------------------------------. + * | Caps | F9 | F10 | F11 | F12 | | _USER|Whl Up| MUp |Whl Dn| | + * +------+------+------+------+------| +------+------+------+------+------| + * | | F5 | F6 | F7 | F8 | | Vol ^| MLeft| MDown|MRight| | + * +------+------+------+------+------| +------+------+------+------+------| + * | | F1 | F2 | F3 | F4 | ,------. ,------. | Vol v| | | | | + * +------+------+------+------+------| | | |RClick| +------+------+------+------+------| + * | | | |XXXXXX| | | | | | |LClick|MClick| _CO | _GA | RESET| + * `----------------------------------' `------' `------' `----------------------------------' + * + */ + [_FN] = LAYOUT( /* Functions */ + KC_CAPS, KC_F9, KC_F10, KC_F11, KC_F12, M(_USER),KC_WH_U, KC_MS_U, KC_WH_D, _______, + _______, KC_F5, KC_F6, KC_F7, KC_F8, KC_VOLU, KC_MS_L, KC_MS_D, KC_MS_R, _______, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_VOLD, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, KC_BTN2, KC_BTN1, KC_BTN3, DF(_CO), DF(_QW), RESET + ), -/* - * Functions - * - * ,----------------------------------. ,----------------------------------. - * | Caps | F9 | F10 | F11 | F12 | | _USER|Whl Up| MUp |Whl Dn| | - * +------+------+------+------+------| +------+------+------+------+------| - * | | F5 | F6 | F7 | F8 | | Vol ^| MLeft| MDown|MRight| | - * +------+------+------+------+------| +------+------+------+------+------| - * | | F1 | F2 | F3 | F4 | ,------. ,------. | Vol v| | | | | - * +------+------+------+------+------| | | |RClick| +------+------+------+------+------| - * | | | |XXXXXX| | | | | | |LClick|MClick| _CO | _GA | RESET| - * `----------------------------------' `------' `------' `----------------------------------' - * - */ -[_FN] = KEYMAP( /* Functions */ - KC_CAPS, KC_F9, KC_F10, KC_F11, KC_F12, M(_USER),KC_WH_U, KC_MS_U, KC_WH_D, _______, - _______, KC_F5, KC_F6, KC_F7, KC_F8, KC_VOLU, KC_MS_L, KC_MS_D, KC_MS_R, _______, - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_VOLD, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_BTN2, KC_BTN1, KC_BTN3, DF(_CO), DF(_QW), RESET -), - -/* - * Gaming - * - * ,----------------------------------. ,----------------------------------. - * | | | | | | | |Whl Up| MUp |Whl Dn| | - * +------+------+------+------+------| +------+------+------+------+------| - * | | | | | | | | MLeft| MDown|MRight| | - * +------+------+------+------+------| +------+------+------+------+------| - * | Z | | | | | ,------. ,------. | | | | | | - * +------+------+------+------+------| | Bksp | |RClick| +------+------+------+------+------| - * | | _GA | | Shift| Space| | | | | |LClick|MClick| | | | - * `----------------------------------' `------' `------' `----------------------------------' - * - */ -[_GA] = KEYMAP( /* Gaming */ - _______, _______, _______, _______, _______, _______, KC_WH_U, KC_MS_U, KC_WH_D, _______, - _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, - KC_Z, _______, _______, _______, _______, _______, _______, KC_MS_D, _______, _______, - _______, TG(_GA), _______, KC_LSFT, KC_SPC, KC_BSPC, KC_BTN2, KC_BTN1, KC_BTN3, _______, _______, _______ -)}; + /* + * Gaming + * + * ,----------------------------------. ,----------------------------------. + * | | | | | | | |Whl Up| MUp |Whl Dn| | + * +------+------+------+------+------| +------+------+------+------+------| + * | | | | | | | | MLeft| MDown|MRight| | + * +------+------+------+------+------| +------+------+------+------+------| + * | Z | | | | | ,------. ,------. | | | | | | + * +------+------+------+------+------| | Bksp | |RClick| +------+------+------+------+------| + * | | _GA | | Shift| Space| | | | | |LClick|MClick| | | | + * `----------------------------------' `------' `------' `----------------------------------' + * + */ + [_GA] = LAYOUT( /* Gaming */ + _______, _______, _______, _______, _______, _______, KC_WH_U, KC_MS_U, KC_WH_D, _______, + _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, + KC_Z, _______, _______, _______, _______, _______, _______, KC_MS_D, _______, _______, + _______, TG(_GA), _______, KC_LSFT, KC_SPC, KC_BSPC, KC_BTN2, KC_BTN1, KC_BTN3, _______, _______, _______ + ) +}; /* * Template @@ -197,17 +197,16 @@ const uint16_t PROGMEM fn_actions[] = { }; -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { // MACRODOWN only works in this function - switch(id) { - case _USER: - if (record->event.pressed) { - register_code(KC_RSFT); - } else { - unregister_code(KC_RSFT); - } - break; + switch(id) { + case _USER: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); } - return MACRO_NONE; + break; + } + return MACRO_NONE; }; diff --git a/keyboards/atreus/keymaps/xk/keymap.c b/keyboards/atreus/keymaps/xk/keymap.c index 9ac1138ec05..ed1f634cebe 100644 --- a/keyboards/atreus/keymaps/xk/keymap.c +++ b/keyboards/atreus/keymaps/xk/keymap.c @@ -1,7 +1,7 @@ // 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 "atreus.h" +#include QMK_KEYBOARD_H #define _COLEMAK 0 #define _KAMELOC 1 @@ -109,169 +109,170 @@ OSX, const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* - TAP - ┌────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┐ - │ Q │ W │ F │ P │ B │ │ J │ L │ U │ Y │ ; │ - ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ - │ A │ R │ S │ T │ G │ │ M │ N │ E │ I │ O │ - ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ - │ X │ C │ D │ V │ Z ├────┐ ┌────┤ K │ H │ , │ . │ / │ - ├────┼────┼────┼────┼────┤ │ │ ├────┼────┼────┼────┼────┤ - │SFTn│CTLn│ALTn│ROUS│SPC │BKSP│ │TAB │ENT │PGDN│ ' │ \ │ESC │ - └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ - HOLD - ┌────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┐ - │ │ │ │ │ │ │ │ │ │ │ALT │ - ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ - │ │ │ │ │ │ │ │ │ │ │ │ - ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ - │ │ │ │ │ ├────┐ ┌────┤ │ │ │ │CTL │ - ├────┼────┼────┼────┼────┤ │ │ ├────┼────┼────┼────┼────┤ - │SFT │CTL │ALT │ROUS│L123│L OH│ │L OH│L123│L!@#│ │L FN│LESC│ - └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ - DOUBLETAP - ┌────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┐ - │ │ │ │ │ │ │ │ │ │ │ │ - ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ - │ │ │ │ │ │ │ │ │ │ │ │ - ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ - │ │ │ │ │ ├────┐ ┌────┤ │ │ │ │ │ - ├────┼────┼────┼────┼────┤ │ │ ├────┼────┼────┼────┼────┤ - │OSML│OSML│OSML│NADA│ │ │ │ │ │ │ │ │ │ - └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ -*/ + /* + TAP + ┌────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┐ + │ Q │ W │ F │ P │ B │ │ J │ L │ U │ Y │ ; │ + ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ + │ A │ R │ S │ T │ G │ │ M │ N │ E │ I │ O │ + ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ + │ X │ C │ D │ V │ Z ├────┐ ┌────┤ K │ H │ , │ . │ / │ + ├────┼────┼────┼────┼────┤ │ │ ├────┼────┼────┼────┼────┤ + │SFTn│CTLn│ALTn│ROUS│SPC │BKSP│ │TAB │ENT │PGDN│ ' │ \ │ESC │ + └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ + HOLD + ┌────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┐ + │ │ │ │ │ │ │ │ │ │ │ALT │ + ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ + │ │ │ │ │ │ │ │ │ │ │ │ + ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ + │ │ │ │ │ ├────┐ ┌────┤ │ │ │ │CTL │ + ├────┼────┼────┼────┼────┤ │ │ ├────┼────┼────┼────┼────┤ + │SFT │CTL │ALT │ROUS│L123│L OH│ │L OH│L123│L!@#│ │L FN│LESC│ + └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ + DOUBLETAP + ┌────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┐ + │ │ │ │ │ │ │ │ │ │ │ │ + ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ + │ │ │ │ │ │ │ │ │ │ │ │ + ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ + │ │ │ │ │ ├────┐ ┌────┤ │ │ │ │ │ + ├────┼────┼────┼────┼────┤ │ │ ├────┼────┼────┼────┼────┤ + │OSML│OSML│OSML│NADA│ │ │ │ │ │ │ │ │ │ + └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ + */ -// Colemak PB&J (Mod-DH) -[_COLEMAK] = KEYMAP( \ - KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, ALT_IT, \ - KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, \ - KC_X, KC_C, KC_D, KC_V, KC_Z, KC_K, KC_H, KC_COMM, SFT_IT, CTL_IT, \ - KYCTL, KYSFT, KYALT, TT(_MLAYER), XK_SPC, XK_TAB, XK_BSP, XK_ENT, XK_PGDN, XK_APO, PIPBOY, XK_ESC \ -), + // Colemak PB&J (Mod-DH) + [_COLEMAK] = LAYOUT( \ + KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, ALT_IT, \ + KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, \ + KC_X, KC_C, KC_D, KC_V, KC_Z, KC_K, KC_H, KC_COMM, SFT_IT, CTL_IT, \ + KYCTL, KYSFT, KYALT, TT(_MLAYER), XK_SPC, XK_TAB, XK_BSP, XK_ENT, XK_PGDN, XK_APO, PIPBOY, XK_ESC \ + ), -// useful for one-handed typing -[_KAMELOC] = KEYMAP( \ - KC_SCLN, KC_Y, KC_U, KC_L, KC_J, KC_B, KC_P, KC_F, KC_W, KC_Q, \ - KC_O, KC_I, KC_E, KC_N, KC_M, KC_G, KC_T, KC_S, KC_R, KC_A, \ - KC_SLSH, KC_DOT, KC_COMM, KC_H, KC_K, KC_Z, KC_V, KC_D, KC_C, KC_X, \ - XK_ESC, PIPBOY, TT(_MLAYER), KC_PGDN, KC_ENT, _______, _______, XK_SPC, KC_PGUP, KYALT, KYCTL, KYSFT \ -), + // useful for one-handed typing + [_KAMELOC] = LAYOUT( \ + KC_SCLN, KC_Y, KC_U, KC_L, KC_J, KC_B, KC_P, KC_F, KC_W, KC_Q, \ + KC_O, KC_I, KC_E, KC_N, KC_M, KC_G, KC_T, KC_S, KC_R, KC_A, \ + KC_SLSH, KC_DOT, KC_COMM, KC_H, KC_K, KC_Z, KC_V, KC_D, KC_C, KC_X, \ + XK_ESC, PIPBOY, TT(_MLAYER), KC_PGDN, KC_ENT, _______, _______, XK_SPC, KC_PGUP, KYALT, KYCTL, KYSFT \ + ), -/* - ┌────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┐ - │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ - ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ - │ M │ V- │ V+ │NEXT│PLAY│ │ ← │ ↓ │ ↑ │ → │DASH│ - ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ - │ - │ = │ ` │GUI │UNDO├────┐ ┌────┤HOME│END │HOME│INS │ \ │ - ├────┼────┼────┼────┼────┤ │ │ ├────┼────┼────┼────┼────┤ - │ │ │ │ │ │ │ │ │ │GUI │ │ │ │ - └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ -*/ + /* + ┌────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┐ + │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ + ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ + │ M │ V- │ V+ │NEXT│PLAY│ │ ← │ ↓ │ ↑ │ → │DASH│ + ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ + │ - │ = │ ` │GUI │UNDO├────┐ ┌────┤HOME│END │HOME│INS │ \ │ + ├────┼────┼────┼────┼────┤ │ │ ├────┼────┼────┼────┼────┤ + │ │ │ │ │ │ │ │ │ │GUI │ │ │ │ + └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ + */ -[_IKAPILA] = KEYMAP( \ - KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \ - KC_MUTE, KC_VOLD, KC_VOLU, TD(MND), KC_MPLY, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TD(DSH), \ - KC_MINS, KC_EQL, KC_GRV, KC_LGUI, LCTL(KC_Z), TD(HND), KC_HOME, TD(HND), KC_INS, KC_BSLS, \ - _______, _______, _______, _______, _______, _______, _______, _______, KC_LGUI, _______, _______, KYSFT \ -), + [_IKAPILA] = LAYOUT( \ + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \ + KC_MUTE, KC_VOLD, KC_VOLU, TD(MND), KC_MPLY, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TD(DSH), \ + KC_MINS, KC_EQL, KC_GRV, KC_LGUI, LCTL(KC_Z), TD(HND), KC_HOME, TD(HND), KC_INS, KC_BSLS, \ + _______, _______, _______, _______, _______, _______, _______, _______, KC_LGUI, _______, _______, KYSFT \ + ), -/* - ┌────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┐ - │ ! │ @ │ # │ $ │ % │ │ ^ │ & │ * │ ( │ ) │ - ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ - │PSCR│ ← │ ↓ │ ↑ │ → │ │NEXT│PGUP│ V+ │ V- │DASH│ - ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ - │ _ │ + │ ~ │HOME│END ├────┐ ┌────┤ {} │ () │ <> │ [ │ ] │ - ├────┼────┼────┼────┼────┤ │ │ ├────┼────┼────┼────┼────┤ - │ │ │ │ │ │DEL │ │BKSP│ │ │ │ │ │ - └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ -*/ + /* + ┌────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┐ + │ ! │ @ │ # │ $ │ % │ │ ^ │ & │ * │ ( │ ) │ + ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ + │PSCR│ ← │ ↓ │ ↑ │ → │ │NEXT│PGUP│ V+ │ V- │DASH│ + ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ + │ _ │ + │ ~ │HOME│END ├────┐ ┌────┤ {} │ () │ <> │ [ │ ] │ + ├────┼────┼────┼────┼────┤ │ │ ├────┼────┼────┼────┼────┤ + │ │ │ │ │ │DEL │ │BKSP│ │ │ │ │ │ + └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ + */ -[_IKASHFT] = KEYMAP( \ - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, \ - KC_PSCR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TD(MND), KC_PGUP, KC_VOLU, TD(VOM), KC_MDSH, \ - KC_UNDS, KC_PLUS, KC_TILD, KC_HOME, KC_END, M(1), M(0), M(5), KC_LBRC, KC_RBRC, \ - _______, _______, _______, _______, _______, KC_BSPC, KC_DEL, _______, _______, _______, _______, _______ \ -), + [_IKASHFT] = LAYOUT( \ + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, \ + KC_PSCR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TD(MND), KC_PGUP, KC_VOLU, TD(VOM), KC_MDSH, \ + KC_UNDS, KC_PLUS, KC_TILD, KC_HOME, KC_END, M(1), M(0), M(5), KC_LBRC, KC_RBRC, \ + _______, _______, _______, _______, _______, KC_BSPC, KC_DEL, _______, _______, _______, _______, _______ \ + ), -/* - ┌────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┐ - │ F1 │ F2 │ F3 │ F4 │ F5 │ │ F6 │ F7 │ F8 │ F9 │ F10│ - ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ - │ F21│ F22│ F23│ F24│PAUS│ │ │SCLK│BOOT│ │NKRO│ - ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ - │ │ │ │ │ ├────┐ ┌────┤ │ │ │ │CAPS│ - ├────┼────┼────┼────┼────┤ │ │ ├────┼────┼────┼────┼────┤ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ - └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ -*/ + /* + ┌────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┐ + │ F1 │ F2 │ F3 │ F4 │ F5 │ │ F6 │ F7 │ F8 │ F9 │ F10│ + ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ + │ F21│ F22│ F23│ F24│PAUS│ │ │SCLK│BOOT│ │NKRO│ + ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ + │ │ │ │ │ ├────┐ ┌────┤ │ │ │ │CAPS│ + ├────┼────┼────┼────┼────┤ │ │ ├────┼────┼────┼────┼────┤ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ + └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ + */ -[_FNCTION] = KEYMAP( \ - TD(F11), TD(F12), TD(F13), TD(F14), TD(F15), TD(F16), TD(F17), TD(F18), TD(F19), TD(F20), \ - KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, KC_SLCK, XXXXXXX, XXXXXXX, TGNKRO, \ - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ -), + [_FNCTION] = LAYOUT( \ + TD(F11), TD(F12), TD(F13), TD(F14), TD(F15), TD(F16), TD(F17), TD(F18), TD(F19), TD(F20), \ + KC_F21, KC_F22, KC_F23, KC_F24, XXXXXXX, XXXXXXX, KC_SLCK, XXXXXXX, XXXXXXX, TGNKRO, \ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + ), -[_GAMEQWERTY] = KEYMAP( \ - KC_P, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, \ - KC_SCLN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, \ - KC_SLSH, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, TD(COD), \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ -), + [_GAMEQWERTY] = LAYOUT( \ + KC_P, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, \ + KC_SCLN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, \ + KC_SLSH, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, TD(COD), \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + ), -/* - ┌────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┐ - │^HOM│^PGD│^UP │^PGU│^PGU│ │ │MW_L│ MU │MW_R│ AC2│ - ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ - │^END│^LFT│^DWN│^RGT│^PGD│ │ │ ML │ MD │ MR │ AC1│ - ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ - │ M5 │ M2 │ M4 │ M3 │ M1 ├────┐ ┌────┤ │MW_D│MW_U│ │ AC0│ - ├────┼────┼────┼────┼────┤ │ │ ├────┼────┼────┼────┼────┤ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ - └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ -*/ + /* + ┌────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┐ + │^HOM│^PGD│^UP │^PGU│^PGU│ │ │MW_L│ MU │MW_R│ AC2│ + ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ + │^END│^LFT│^DWN│^RGT│^PGD│ │ │ ML │ MD │ MR │ AC1│ + ├────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┤ + │ M5 │ M2 │ M4 │ M3 │ M1 ├────┐ ┌────┤ │MW_D│MW_U│ │ AC0│ + ├────┼────┼────┼────┼────┤ │ │ ├────┼────┼────┼────┼────┤ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ + └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ + */ -[_MLAYER] = KEYMAP( \ - LALT(KC_ESC), KC_9, KC_8, KC_7, KC_6, M(1), M(0), KC_MS_U, M(0), M(2), \ - KC_0, KC_2, KC_3, KC_4, KC_5, M(5), KC_MS_L, KC_MS_D, KC_MS_R, KC_ACL2, \ - KC_1, KC_0, XXXXXXX, XXXXXXX, KC_BTN5, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, M(5), \ - _______, _______, _______, _______, KC_BTN1, KC_BTN2, KC_BTN2, KC_BTN1, KC_BTN2, _______, KC_ACL0, _______ \ -), + [_MLAYER] = LAYOUT( \ + LALT(KC_ESC), KC_9, KC_8, KC_7, KC_6, M(1), M(0), KC_MS_U, M(0), M(2), \ + KC_0, KC_2, KC_3, KC_4, KC_5, M(5), KC_MS_L, KC_MS_D, KC_MS_R, KC_ACL2, \ + KC_1, KC_0, XXXXXXX, XXXXXXX, KC_BTN5, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, M(5), \ + _______, _______, _______, _______, KC_BTN1, KC_BTN2, KC_BTN2, KC_BTN1, KC_BTN2, _______, KC_ACL0, _______ \ + ), -//one_ring=2__rule__them-all -[_GRVTABL] = KEYMAP( \ - LALT(KC_PSCR), M(4), KC_PWR, KC_POWER, RESET, RESET, KC_R, KC_E, KC_I, LALT(KC_PSCR), \ - TG(_NINEKEY), TG(_FNCTION), TG(_MLAYER), TG(_IKASHFT), TG(_IKAPILA), TG(_IKAPILA), KC_S, KC_U, KC_B, TG(_NINEKEY), \ - M(3), TG(_GAMEQWERTY), XXXXXXX, XXXXXXX, XXXXXXX, KC_MYCM, KC_CALC, XXXXXXX, TG(_GAMEQWERTY), M(3), \ - TT(_GRVTABL), TG(_FNCTION), TG(_MLAYER), TG(_IKASHFT), TG(_IKAPILA), _______, _______, TG(_IKAPILA), TG(_IKASHFT), TG(_MLAYER), TG(_MLAYER), TG(_NINEKEY) \ -)}; + //one_ring=2__rule__them-all + [_GRVTABL] = LAYOUT( \ + LALT(KC_PSCR), M(4), KC_PWR, KC_POWER, RESET, RESET, KC_R, KC_E, KC_I, LALT(KC_PSCR), \ + TG(_NINEKEY), TG(_FNCTION), TG(_MLAYER), TG(_IKASHFT), TG(_IKAPILA), TG(_IKAPILA), KC_S, KC_U, KC_B, TG(_NINEKEY), \ + M(3), TG(_GAMEQWERTY), XXXXXXX, XXXXXXX, XXXXXXX, KC_MYCM, KC_CALC, XXXXXXX, TG(_GAMEQWERTY), M(3), \ + TT(_GRVTABL), TG(_FNCTION), TG(_MLAYER), TG(_IKASHFT), TG(_IKAPILA), _______, _______, TG(_IKAPILA), TG(_IKASHFT), TG(_MLAYER), TG(_MLAYER), TG(_NINEKEY) \ + ), +}; qk_tap_dance_action_t tap_dance_actions[] = { - [VOM] = ACTION_TAP_DANCE_DOUBLE(KC_VOLD, KC_MUTE), - [PRN] = ACTION_TAP_DANCE_DOUBLE(KC_LPRN, KC_RPRN), - [EGT] = ACTION_TAP_DANCE_DOUBLE(KC_LCBR, KC_RCBR), - [HRD] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC), - [DSH] = ACTION_TAP_DANCE_DOUBLE(KC_NDSH, KC_MDSH), - [ESC] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, LALT(KC_F4)), - [EQE] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_ENT), - [UND] = ACTION_TAP_DANCE_DOUBLE(KC_Z, LCTL(KC_Z)), - [PGN] = ACTION_TAP_DANCE_DOUBLE(KC_PGDN, KC_PGUP), - [HND] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_END), - [COD] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_DOT), - [MND] = ACTION_TAP_DANCE_DOUBLE(KC_MNXT, KC_MPRV), - [F11] = ACTION_TAP_DANCE_DOUBLE(KC_F1, KC_F11), - [F12] = ACTION_TAP_DANCE_DOUBLE(KC_F2, KC_F12), - [F13] = ACTION_TAP_DANCE_DOUBLE(KC_F3, KC_F13), - [F14] = ACTION_TAP_DANCE_DOUBLE(KC_F4, KC_F14), - [F15] = ACTION_TAP_DANCE_DOUBLE(KC_F5, KC_F15), - [F16] = ACTION_TAP_DANCE_DOUBLE(KC_F6, KC_F16), - [F17] = ACTION_TAP_DANCE_DOUBLE(KC_F7, KC_F17), - [F18] = ACTION_TAP_DANCE_DOUBLE(KC_F8, KC_F18), - [F19] = ACTION_TAP_DANCE_DOUBLE(KC_F9, KC_F19), - [F20] = ACTION_TAP_DANCE_DOUBLE(KC_F10, KC_F20), + [VOM] = ACTION_TAP_DANCE_DOUBLE(KC_VOLD, KC_MUTE), + [PRN] = ACTION_TAP_DANCE_DOUBLE(KC_LPRN, KC_RPRN), + [EGT] = ACTION_TAP_DANCE_DOUBLE(KC_LCBR, KC_RCBR), + [HRD] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC), + [DSH] = ACTION_TAP_DANCE_DOUBLE(KC_NDSH, KC_MDSH), + [ESC] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, LALT(KC_F4)), + [EQE] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_ENT), + [UND] = ACTION_TAP_DANCE_DOUBLE(KC_Z, LCTL(KC_Z)), + [PGN] = ACTION_TAP_DANCE_DOUBLE(KC_PGDN, KC_PGUP), + [HND] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_END), + [COD] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_DOT), + [MND] = ACTION_TAP_DANCE_DOUBLE(KC_MNXT, KC_MPRV), + [F11] = ACTION_TAP_DANCE_DOUBLE(KC_F1, KC_F11), + [F12] = ACTION_TAP_DANCE_DOUBLE(KC_F2, KC_F12), + [F13] = ACTION_TAP_DANCE_DOUBLE(KC_F3, KC_F13), + [F14] = ACTION_TAP_DANCE_DOUBLE(KC_F4, KC_F14), + [F15] = ACTION_TAP_DANCE_DOUBLE(KC_F5, KC_F15), + [F16] = ACTION_TAP_DANCE_DOUBLE(KC_F6, KC_F16), + [F17] = ACTION_TAP_DANCE_DOUBLE(KC_F7, KC_F17), + [F18] = ACTION_TAP_DANCE_DOUBLE(KC_F8, KC_F18), + [F19] = ACTION_TAP_DANCE_DOUBLE(KC_F9, KC_F19), + [F20] = ACTION_TAP_DANCE_DOUBLE(KC_F10, KC_F20), }; void matrix_init_user(){ @@ -281,33 +282,33 @@ void matrix_init_user(){ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { if (record->event.pressed) { switch(id) { - case 0: - return MACRO( D(LSFT), T(9), U(LSFT), D(LSFT), T(0), U(LSFT), T(LEFT), END ); - case 1: - return MACRO( D(LSFT), T(LBRC), U(LSFT), D(LSFT), T(RBRC), U(LSFT), T(LEFT), END ); - case 2: - return MACRO( T(LBRC), T(RBRC), T(LEFT), END); - case 5: - return MACRO( D(LSFT), T(COMMA), U(LSFT), D(LSFT), T(DOT), U(LSFT), END ); - case 3: - clear_keyboard(); - return false; - break; - case 4: - return MACRO( D(LSFT), T(SCOLON), U(LSFT), D(LSFT), T(9), U(LSFT), D(LSFT), T(0), U(LSFT), D(LSFT), T(LBRACKET), U(LSFT), D(LSFT), T(9), U(LSFT), D(LSFT), T(SCOLON), U(LSFT), D(LSFT), T(0), U(LSFT), D(LSFT), T(BSLASH), U(LSFT), D(LSFT), T(SCOLON), U(LSFT), D(LSFT), T(7), U(LSFT), D(LSFT), T(RBRACKET), U(LSFT), T(SCOLON), D(LSFT), T(SCOLON), U(LSFT), END ); - case WINSH: - set_unicode_input_mode(UC_WIN); - return false; - break; - case WIN: - set_unicode_input_mode(UC_WINC); - return false; - break; - case OSX: - set_unicode_input_mode(UC_OSX); - return false; - break; - } + case 0: + return MACRO( D(LSFT), T(9), U(LSFT), D(LSFT), T(0), U(LSFT), T(LEFT), END ); + case 1: + return MACRO( D(LSFT), T(LBRC), U(LSFT), D(LSFT), T(RBRC), U(LSFT), T(LEFT), END ); + case 2: + return MACRO( T(LBRC), T(RBRC), T(LEFT), END); + case 5: + return MACRO( D(LSFT), T(COMMA), U(LSFT), D(LSFT), T(DOT), U(LSFT), END ); + case 3: + clear_keyboard(); + return false; + break; + case 4: + return MACRO( D(LSFT), T(SCOLON), U(LSFT), D(LSFT), T(9), U(LSFT), D(LSFT), T(0), U(LSFT), D(LSFT), T(LBRACKET), U(LSFT), D(LSFT), T(9), U(LSFT), D(LSFT), T(SCOLON), U(LSFT), D(LSFT), T(0), U(LSFT), D(LSFT), T(BSLASH), U(LSFT), D(LSFT), T(SCOLON), U(LSFT), D(LSFT), T(7), U(LSFT), D(LSFT), T(RBRACKET), U(LSFT), T(SCOLON), D(LSFT), T(SCOLON), U(LSFT), END ); + case WINSH: + set_unicode_input_mode(UC_WIN); + return false; + break; + case WIN: + set_unicode_input_mode(UC_WINC); + return false; + break; + case OSX: + set_unicode_input_mode(UC_OSX); + return false; + break; + } } - return MACRO_NONE; + return MACRO_NONE; }; diff --git a/keyboards/atreus/keymaps/xyverz/keymap.c b/keyboards/atreus/keymaps/xyverz/keymap.c index 347445ef6bc..fb0c5077f84 100644 --- a/keyboards/atreus/keymaps/xyverz/keymap.c +++ b/keyboards/atreus/keymaps/xyverz/keymap.c @@ -2,7 +2,7 @@ // Chris Gerber (@gerbercj), with the addition of persistent layers like the Planck and // Preonic keyboards by Jack Humbert. -#include "atreus.h" +#include QMK_KEYBOARD_H #include "action_layer.h" #include "eeconfig.h" @@ -43,7 +43,7 @@ enum planck_keycodes { #define XXXXXXX KC_NO const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Dvorak Layer + /* Dvorak Layer ,----------------------------------. ,----------------------------------. | ' | , | . | P | Y | | F | G | C | R | L | |------+------+------+------+------| |------+------+------+------+------| @@ -53,14 +53,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |------+------+------+------+------| ||Enter |------+------+------+------+------| | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | / | \ | `----------------------------------' `----------------------------------' */ - [_DVORAK] = { - {KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, XXXXXXX, KC_F, KC_G, KC_C, KC_R, KC_L }, - {KC_A, KC_O, KC_E, KC_U, KC_I, XXXXXXX, KC_D, KC_H, KC_T, KC_N, KC_S }, - {SFTSCLN, KC_Q, KC_J, KC_K, KC_X, KC_LCTL, KC_B, KC_M, KC_W, KC_V, SFTZED }, - {ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, ALTENT, KC_SPC, RAISE, KC_MINS, KC_SLSH, KC_BSLS} - }, + [_DVORAK] = LAYOUT( + 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 , + SFTSCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, SFTZED , + ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, KC_LCTL, ALTENT, KC_SPC, RAISE, KC_MINS, KC_SLSH, KC_BSLS + ), -/* QWERTY Layer + /* QWERTY Layer ,----------------------------------. ,----------------------------------. | Q | W | E | R | T | | Y | U | I | O | P | |------+------+------+------+------| |------+------+------+------+------| @@ -70,14 +70,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |------+------+------+------+------| ||Enter |------+------+------+------+------| | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | \ | `----------------------------------' `----------------------------------' */ - [_QWERTY] = { - {KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P }, - {KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN}, - {SFTZED, KC_X, KC_C, KC_V, KC_B, KC_LCTL, KC_N, KC_M, KC_COMM, KC_DOT, SFTSLSH}, - {ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, ALTENT, KC_SPC, RAISE, KC_MINS, KC_QUOT, KC_BSLS} - }, + [_QWERTY] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P , + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + SFTZED, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SFTSLSH, + ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, KC_LCTL, ALTENT, KC_SPC, RAISE, KC_MINS, KC_QUOT, KC_BSLS + ), -/* Colemak Layer + /* Colemak Layer ,----------------------------------. ,----------------------------------. | Q | W | F | P | G | | J | L | U | Y | L | |------+------+------+------+------| |------+------+------+------+------| @@ -87,14 +87,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |------+------+------+------+------| ||Enter |------+------+------+------+------| | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | ' | \ | `----------------------------------' `----------------------------------'*/ - [_COLEMAK] = { - {KC_Q, KC_W, KC_F, KC_P, KC_G, XXXXXXX, KC_J, KC_L, KC_U, KC_Y, KC_SCLN}, - {KC_A, KC_R, KC_S, KC_T, KC_D, XXXXXXX, KC_H, KC_N, KC_E, KC_I, KC_O }, - {SFTZED, KC_X, KC_C, KC_V, KC_B, KC_LCTL, KC_K, KC_M, KC_COMM, KC_DOT, SFTSLSH}, - {ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, ALTENT, KC_SPC, RAISE, KC_MINS, KC_QUOT, KC_BSLS} - }, + [_COLEMAK] = LAYOUT( + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O , + SFTZED, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, SFTSLSH, + ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, KC_LCTL, ALTENT, KC_SPC, RAISE, KC_MINS, KC_QUOT, KC_BSLS + ), -/* Dvorak Layer with Command key on left thumb instead of Control + /* Dvorak Layer with Command key on left thumb instead of Control ,----------------------------------. ,----------------------------------. | ' | , | . | P | Y | | F | G | C | R | L | |------+------+------+------+------| |------+------+------+------+------| @@ -104,14 +104,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |------+------+------+------+------| ||Enter |------+------+------+------+------| | Esc | Tab | GUI | LOWER| BkSp |------'`------| Spc | RAISE| - | / | \ | `----------------------------------' `----------------------------------' */ - [_DVORMAC] = { - {KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, XXXXXXX, KC_F, KC_G, KC_C, KC_R, KC_L }, - {KC_A, KC_O, KC_E, KC_U, KC_I, XXXXXXX, KC_D, KC_H, KC_T, KC_N, KC_S }, - {SFTSCLN, KC_Q, KC_J, KC_K, KC_X, KC_LGUI, KC_B, KC_M, KC_W, KC_V, SFTZED }, - {ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, ALTENT, KC_SPC, RAISE, KC_MINS, KC_SLSH, KC_BSLS} - }, + [_DVORMAC] = LAYOUT( + 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 , + SFTSCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, SFTZED , + ESCTRL, TABALT, KC_LGUI, LOWER, KC_BSPC, KC_LGUI, ALTENT, KC_SPC, RAISE, KC_MINS, KC_SLSH, KC_BSLS + ), -/* LOWER Layer + /* LOWER Layer ,----------------------------------. ,----------------------------------. | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |------+------+------+------+------| |------+------+------+------+------| @@ -121,14 +121,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |------+------+------+------+------| || |------+------+------+------+------| | ~ | | | | Del |------'`------| Ins | | | | | `----------------------------------' `----------------------------------'*/ - [_LOWER] = { - {KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, XXXXXXX, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN}, - {KC_CAPS, _______, KC_UP, _______, KC_HOME, XXXXXXX, KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR}, - {_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______}, - {KC_TILD, _______, _______, _______, KC_DEL, _______, KC_INS, _______, _______, _______, _______} - }, + [_LOWER] = LAYOUT( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, + KC_CAPS, _______, KC_UP, _______, KC_HOME, KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR, + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, + KC_TILD, _______, _______, _______, KC_DEL, _______, _______, KC_INS, _______, _______, _______, _______ + ), -/* RAISE Layer + /* RAISE Layer ,----------------------------------. ,----------------------------------. | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |------+------+------+------+------| |------+------+------+------+------| @@ -138,14 +138,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |------+------+------+------+------| || |------+------+------+------+------| | ` | | | | Del |------'`------| Ins | | | | | `----------------------------------' `----------------------------------'*/ - [_RAISE] = { - {KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, KC_6, KC_7, KC_8, KC_9, KC_0 }, - {KC_CAPS, _______, KC_UP, _______, KC_HOME, XXXXXXX, KC_PGUP, _______, KC_EQL, KC_LBRC, KC_RBRC}, - {_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, _______}, - {KC_GRV, _______, _______, _______, KC_DEL, _______, KC_INS, _______, _______, _______, _______} - }, + [_RAISE] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0 , + KC_CAPS, _______, KC_UP, _______, KC_HOME, KC_PGUP, _______, KC_EQL, KC_LBRC, KC_RBRC, + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, _______, + KC_GRV, _______, _______, _______, KC_DEL, _______, _______, KC_INS, _______, _______, _______, _______ + ), -/* ADJUST Layer + /* ADJUST Layer ,----------------------------------. ,----------------------------------. | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | |------+------+------+------+------| |------+------+------+------+------| @@ -155,13 +155,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |------+------+------+------+------| || |------+------+------+------+------| | | | | | |------'`------| | | | | RESET| `----------------------------------' `----------------------------------'*/ - [_ADJUST] = { - {KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 }, - {KC_F11, _______, _______, _______, _______, XXXXXXX, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_F12 }, - {_______, QWERTY, COLEMAK, DVORAK, DVORMAC, _______, _______, _______, _______, _______, _______}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET } - } - + [_ADJUST] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 , + KC_F11, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_F12 , + _______, QWERTY, COLEMAK, DVORAK, DVORMAC, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET + ), }; const uint16_t PROGMEM fn_actions[] = { @@ -175,50 +174,50 @@ void persistent_default_layer_set(uint16_t default_layer) { bool process_record_user(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case QWERTY: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_QWERTY); - } - return false; - break; - case COLEMAK: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_COLEMAK); - } - return false; - break; - case DVORAK: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_DVORAK); - } - return false; - break; - case DVORMAC: - if (record->event.pressed) { - persistent_default_layer_set(1UL<<_DVORMAC); - } - 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; + case QWERTY: + if (record->event.pressed) { + persistent_default_layer_set(1UL<<_QWERTY); } - return true; + return false; + break; + case COLEMAK: + if (record->event.pressed) { + persistent_default_layer_set(1UL<<_COLEMAK); + } + return false; + break; + case DVORAK: + if (record->event.pressed) { + persistent_default_layer_set(1UL<<_DVORAK); + } + return false; + break; + case DVORMAC: + if (record->event.pressed) { + persistent_default_layer_set(1UL<<_DVORMAC); + } + 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; }; diff --git a/keyboards/ca66/ca66.h b/keyboards/ca66/ca66.h index 9e3638aac31..0f91a1238df 100644 --- a/keyboards/ca66/ca66.h +++ b/keyboards/ca66/ca66.h @@ -3,7 +3,7 @@ #include "quantum.h" -#define KEYMAP( \ +#define LAYOUT( \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K114, \ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K214, \ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K314, \ diff --git a/keyboards/ca66/info.json b/keyboards/ca66/info.json new file mode 100644 index 00000000000..906709ef1b8 --- /dev/null +++ b/keyboards/ca66/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "CA66", + "url": "", + "maintainer": "qmk", + "width": 16.5, + "height": 5.25, + "layouts": { + "LAYOUT": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15.5, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":15.5, "y":1}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":15.5, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":15.5, "y":3}, {"x":14.25, "y":3.25}, {"x":0, "y":4, "w":1.25}, {"x":2.25, "y":4}, {"x":3.25, "y":4, "w":1.25}, {"x":4.5, "y":4, "w":2.25}, {"x":6.75, "y":4, "w":2.75}, {"x":9.5, "y":4, "w":1.25}, {"x":10.75, "y":4}, {"x":11.75, "y":4, "w":1.25}, {"x":13.25, "y":4.25}, {"x":14.25, "y":4.25}, {"x":15.25, "y":4.25}] + } + } +} diff --git a/keyboards/ca66/keymaps/default/keymap.c b/keyboards/ca66/keymaps/default/keymap.c index 7feb0afb9f5..5a3c4c86231 100644 --- a/keyboards/ca66/keymaps/default/keymap.c +++ b/keyboards/ca66/keymaps/default/keymap.c @@ -1,15 +1,15 @@ -#include "ca66.h" +#include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - KEYMAP( + LAYOUT( KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_PSCR, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, MO(1), 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_GRV, 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, LT(1, KC_SPC), KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - KEYMAP( + LAYOUT( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, RGB_TOG, KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, RGB_MOD, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, RGB_VAI, KC_INS, KC_HOME, diff --git a/keyboards/dilly/keymaps/pletcher/config.h b/keyboards/dilly/keymaps/pletcher/config.h new file mode 100644 index 00000000000..805bef41881 --- /dev/null +++ b/keyboards/dilly/keymaps/pletcher/config.h @@ -0,0 +1,11 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +#define AUTO_SHIFT_TIMEOUT 150 +#define NO_AUTO_SHIFT_SPECIAL +#define NO_AUTO_SHIFT_NUMERIC +#define USB_MAX_POWER_CONSUMPTION 50 + +#endif diff --git a/keyboards/dilly/keymaps/pletcher/keymap.c b/keyboards/dilly/keymaps/pletcher/keymap.c new file mode 100644 index 00000000000..f91dabee76a --- /dev/null +++ b/keyboards/dilly/keymaps/pletcher/keymap.c @@ -0,0 +1,97 @@ +#include "dilly.h" +#include "action_layer.h" + +extern keymap_config_t keymap_config; + +#define _BASE 0 +#define _FN1 1 +#define _FN2 2 +#define _FN3 3 +#define _FN4 4 +#define _FN5 5 + +#define KC_ KC_TRNS +#define _______ KC_TRNS + +// Tap-Hold keys +#define KC_F_L3 LT(_FN3, KC_F) +#define KC_ZCTL MT(MOD_LCTL, KC_Z) +#define KC_XALT MT(MOD_LALT, KC_X) +#define KC_CGUI MT(MOD_LGUI, KC_C) +#define KC_V_L4 LT(_FN4, KC_V) +#define KC_SPL2 LT(_FN2, KC_SPC) +#define KC_B_L1 LT(_FN1, KC_B) +#define KC_N_L5 LT(_FN5, KC_N) +#define KC_MALT MT(MOD_RALT, KC_M) +#define KC_BSCT MT(MOD_RCTL, KC_BSPC) +#define KC_ENTS MT(MOD_RSFT, KC_ENT) +#define KC_ESCS MT(MOD_RSFT, KC_ESC) + +#define KC_GUIC LGUI(KC_C) + +#define KC_RST RESET +#define KC_DBUG DEBUG + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_BASE] = KC_KEYMAP( + //,----+----+----+----+----+----+----+----+----+----. + Q , W , E , R , T , Y , U , I , O , P , + //|----+----+----+----+----+----+----+----+----+----| + A , S , D ,F_L3, G , H , J , K , L ,ESCS, + //|----+----+----+----+----+----+----+----+----+----| + ZCTL,XALT,CGUI,V_L4,SPL2,B_L1,N_L5,MALT,BSCT,ENTS + //`----+----+----+----+----+----+----+----+----+----' + ), + + [_FN1] = KC_KEYMAP( + //,----+----+----+----+----+----+----+----+----+----. + 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , + //|----+----+----+----+----+----+----+----+----+----| + F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 , + //|----+----+----+----+----+----+----+----+----+----| + , , , ,BSPC, , , , , + //`----+----+----+----+----+----+----+----+----+----' + ), + + [_FN2] = KC_KEYMAP( + //,----+----+----+----+----+----+----+----+----+----. + EXLM, AT ,HASH,DLR ,PERC,CIRC,AMPR,ASTR,LPRN,RPRN, + //|----+----+----+----+----+----+----+----+----+----| + F11 ,F12 , , , , , , , ,GRV , + //|----+----+----+----+----+----+----+----+----+----| + , , , ,TAB , DEL, , , , + //`----+----+----+----+----+----+----+----+----+----' + ), + + [_FN3] = KC_KEYMAP( + //,----+----+----+----+----+----+----+----+----+----. + , , , , ,MINS,EQL ,LBRC,RBRC,BSLS, + //|----+----+----+----+----+----+----+----+----+----| + TAB , , , , ,COMM,DOT ,SLSH,SCLN,QUOT, + //|----+----+----+----+----+----+----+----+----+----| + , , , ,BSPC, ,LEFT,DOWN, UP ,RGHT + //`----+----+----+----+----+----+----+----+----+----' + ), + + [_FN4] = KC_KEYMAP( + //,----+----+----+----+----+----+----+----+----+----. + , , , , ,UNDS,PLUS,LCBR,RCBR,PIPE, + //|----+----+----+----+----+----+----+----+----+----| + TAB , , , , , LT , GT ,QUES,COLN,DQUO, + //|----+----+----+----+----+----+----+----+----+----| + , ,GUIC, ,BSPC, ,HOME,PGDN,PGUP,END + //`----+----+----+----+----+----+----+----+----+----' + ), + + [_FN5] = KC_KEYMAP( + //,----+----+----+----+----+----+----+----+----+----. + , , ,RST , , ,MSTP,VOLD,VOLU,MPLY, + //|----+----+----+----+----+----+----+----+----+----| + , ,DBUG, , , , ,ASDN,ASUP,ASRP, + //|----+----+----+----+----+----+----+----+----+----| + , ,GUIC, , , , , , ,ASTG + //`----+----+----+----+----+----+----+----+----+----' + ) + +}; diff --git a/keyboards/dilly/keymaps/pletcher/rules.mk b/keyboards/dilly/keymaps/pletcher/rules.mk new file mode 100644 index 00000000000..9b9dd8341b6 --- /dev/null +++ b/keyboards/dilly/keymaps/pletcher/rules.mk @@ -0,0 +1,2 @@ +AUTO_SHIFT_ENABLE = yes +RGBLIGHT_ENABLE = no diff --git a/keyboards/dz60/dz60.h b/keyboards/dz60/dz60.h index 0ebf8d212e4..b86e5fb8da1 100644 --- a/keyboards/dz60/dz60.h +++ b/keyboards/dz60/dz60.h @@ -77,5 +77,19 @@ { K400, K401, KC_NO, K403, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, K412, K413, K414 } \ } +#define LAYOUT_all( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \ + K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \ + K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \ + K400, K401, K403, K404, K406, K408, K410, K411, K412, K413, K414 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \ + { K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \ + { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \ + { K400, K401, KC_NO, K403, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, K412, K413, K414 } \ +} + #endif diff --git a/keyboards/dz60/info.json b/keyboards/dz60/info.json index b39bdb000f1..c5c6182bfc6 100644 --- a/keyboards/dz60/info.json +++ b/keyboards/dz60/info.json @@ -23,6 +23,10 @@ "LAYOUT_directional": { "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"~", "x":13, "y":0}, {"label":"Del", "x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2}, {"label":"Z", "x":2, "y":3}, {"label":"X", "x":3, "y":3}, {"label":"C", "x":4, "y":3}, {"label":"V", "x":5, "y":3}, {"label":"B", "x":6, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":"<", "x":9, "y":3}, {"label":">", "x":10, "y":3}, {"label":"?", "x":11, "y":3}, {"label":"Shift", "x":12, "y":3}, {"x":13, "y":3}, {"label":"Fn", "x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.25}, {"x":6, "y":4, "w":1.25}, {"x":7.25, "y":4, "w":2.75}, {"x":10, "y":4}, {"label":"Alt", "x":11, "y":4}, {"label":"Win", "x":12, "y":4}, {"label":"Menu", "x":13, "y":4}, {"label":"Ctrl", "x":14, "y":4}] + }, + + "LAYOUT_all": { + "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3}, {"x":1, "y":3}, {"label":"Z", "x":2, "y":3}, {"label":"X", "x":3, "y":3}, {"label":"C", "x":4, "y":3}, {"label":"V", "x":5, "y":3}, {"label":"B", "x":6, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":"<", "x":9, "y":3}, {"label":">", "x":10, "y":3}, {"label":"?", "x":11, "y":3}, {"label":"Shift", "x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":2.25}, {"x":6, "y":4, "w":1.25}, {"x":7.25, "y":4, "w":2.75}, {"x":10, "y":4}, {"label":"Alt", "x":11, "y":4}, {"label":"Win", "x":12, "y":4}, {"label":"Menu", "x":13, "y":4}, {"label":"Ctrl", "x":14, "y":4}] } } } diff --git a/keyboards/dz60/keymaps/60_ansi_arrow_fkeys/README.md b/keyboards/dz60/keymaps/60_ansi_arrow_fkeys/README.md new file mode 100644 index 00000000000..3a4218a7c21 --- /dev/null +++ b/keyboards/dz60/keymaps/60_ansi_arrow_fkeys/README.md @@ -0,0 +1,33 @@ +### 0 Qwerty +``` +,-----------------------------------------------------------------------------------------. +| ` ~ | 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 | , | . | / | RSh | U | DEL | +|-----------------------------------------------------------------------------------------+ +| Ctrl | Cmd | Alt | Space | RAlt | FN | L | D | R | +`-----------------------------------------------------------------------------------------' +``` + +### 1 FN Layer +``` +FN Layer +,-----------------------------------------------------------------------------------------. +| Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | RESET | +|-----------------------------------------------------------------------------------------+ +| |RBB T|RGB M| Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | +|-----------------------------------------------------------------------------------------+ +| | BL T| BL M| BL+ | BL- | | | | | | | | | +|-----------------------------------------------------------------------------------------+ +| | | | | | | | | | | | | | | +|-----------------------------------------------------------------------------------------+ +| | | | | | | | | | +`-----------------------------------------------------------------------------------------' +``` + +`FN`+`ESC`=backtick +`Shift`+`ESC`=`˜` diff --git a/keyboards/dz60/keymaps/60_ansi_arrow_fkeys/keymap.c b/keyboards/dz60/keymaps/60_ansi_arrow_fkeys/keymap.c new file mode 100644 index 00000000000..76804670c87 --- /dev/null +++ b/keyboards/dz60/keymaps/60_ansi_arrow_fkeys/keymap.c @@ -0,0 +1,86 @@ +#include QMK_KEYBOARD_H + +#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) + +#define ______ KC_TRNS + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Qwerty + * ,-----------------------------------------------------------------------------------------. + * | ` ~ | 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 | , | . | / | RSh | U | DEL | + * |-----------------------------------------------------------------------------------------+ + * | Ctrl | Cmd | Alt | Space | RAlt | FN | L | D | R | + * `-----------------------------------------------------------------------------------------' + */ + + LAYOUT_2_shifts( + 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_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, ______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT + ), + + /* FN Layer + * ,-----------------------------------------------------------------------------------------. + * | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | RESET | + * |-----------------------------------------------------------------------------------------+ + * | |RBB T|RGB M| Hue+| Hue-| Sat+| Sat-| Val+| Val-| | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | BL T| BL M| BL+ | BL- | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | | | | | | | | + * |-----------------------------------------------------------------------------------------+ + * | | | | | | | | | | + * `-----------------------------------------------------------------------------------------' + */ + + LAYOUT_directional( + 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_TRNS, RESET, + ______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, ______, ______, ______, ______, ______, + ______, BL_TOGG, BL_STEP, BL_INC, BL_DEC, ______, ______, ______, ______, ______, ______, ______, + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, + ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______ + ), +}; + +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; + } +} diff --git a/keyboards/ergo42/keymaps/default-macOS/config.h b/keyboards/ergo42/keymaps/biacco-macOS/config.h similarity index 100% rename from keyboards/ergo42/keymaps/default-macOS/config.h rename to keyboards/ergo42/keymaps/biacco-macOS/config.h diff --git a/keyboards/ergo42/keymaps/default-macOS/keymap.c b/keyboards/ergo42/keymaps/biacco-macOS/keymap.c similarity index 100% rename from keyboards/ergo42/keymaps/default-macOS/keymap.c rename to keyboards/ergo42/keymaps/biacco-macOS/keymap.c diff --git a/keyboards/ergo42/keymaps/default-macOS/rules.mk b/keyboards/ergo42/keymaps/biacco-macOS/rules.mk similarity index 100% rename from keyboards/ergo42/keymaps/default-macOS/rules.mk rename to keyboards/ergo42/keymaps/biacco-macOS/rules.mk diff --git a/keyboards/ergo42/keymaps/biacco/config.h b/keyboards/ergo42/keymaps/biacco/config.h new file mode 100644 index 00000000000..5a6261c4f7c --- /dev/null +++ b/keyboards/ergo42/keymaps/biacco/config.h @@ -0,0 +1,37 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 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 . +*/ + +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +/* Use I2C or Serial, not both */ + +#define USE_SERIAL +// #define USE_I2C + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#endif diff --git a/keyboards/ergo42/keymaps/biacco/keymap.c b/keyboards/ergo42/keymaps/biacco/keymap.c new file mode 100644 index 00000000000..704cd47e1fe --- /dev/null +++ b/keyboards/ergo42/keymaps/biacco/keymap.c @@ -0,0 +1,98 @@ +#include "ergo42.h" +#include "action_layer.h" +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +#define BASE 0 +#define META 1 +#define SYMB 2 +#define GAME 3 + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* BASE + * ,------------------------------------------------. ,------------------------------------------------. + * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ | + * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| + * | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : | + * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| + * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | + * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| + * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>SYMB| \ | + * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | + * `------------------------------------------------' `------------------------------------------------' + */ + +[BASE] = KEYMAP( \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ + KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ + KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), RCTL_T(KC_SPC), SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DELT, KC_PSCR, TG(GAME), TG(SYMB), KC_JYEN \ +), + +/* META + * ,------------------------------------------------. ,------------------------------------------------. + * | 1 | 2 | 3 | 4 | 5 | 6 | [ | | ] | 7 | 8 | 9 | 0 | - | ^ | + * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| + * | Alt | F1 | |Muhen | Henk | | ( | | ) | Left | Down | Up |Right | | | + * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| + * | Sft | F2 | F3 | F4 | F5 | F6 | { | | } | F7 | F8 | F9 | F10 | F11 |\/Sft | + * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| + * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |Reset |=>GAME|=>SYMB| \ | + * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | + * `------------------------------------------------' `------------------------------------------------' + */ + +[META] = KEYMAP( \ + 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_F1, XXXXXXX, KC_MHEN, KC_HENK, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, \ + _______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(KC_RO), \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______ \ +), + +/* SYMB + * ,------------------------------------------------. ,------------------------------------------------. + * | ! | " | # | $ | % | & | [ | | ] | ' | ( | ) | ~ | = | ~ | + * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| + * | Alt | | | | | | ( | | ) | | | | | + | * | + * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| + * | Sft | | | | | | { | | } | | | < | > | ? | \ | + * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| + * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>SYMB| \ | + * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | + * `------------------------------------------------' `------------------------------------------------' + */ + +[SYMB] = KEYMAP( \ + S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), _______, _______, S(KC_7), S(KC_8), S(KC_9), S(KC_0), S(KC_MINS), S(KC_EQL), \ + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, S(KC_SCLN), S(KC_QUOT), \ + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(KC_RO), \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ +), + +/* GAME + * ,------------------------------------------------. ,------------------------------------------------. + * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ | + * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| + * | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : | + * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| + * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | + * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| + * | Ctrl | GUI | App |PrtSc | ESC |Space |Tab | |Back |Enter | Del |PrtSc |=>GAME|=>SYMB| \ | + * | | | | | | | | |Space | | | | | | | + * `------------------------------------------------' `------------------------------------------------' + */ +[GAME] = KEYMAP( \ + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ + KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ + KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DELT, KC_PSCR, _______, _______, KC_JYEN \ +) + +}; + diff --git a/keyboards/ergo42/keymaps/biacco/rules.mk b/keyboards/ergo42/keymaps/biacco/rules.mk new file mode 100644 index 00000000000..457a3d01d4a --- /dev/null +++ b/keyboards/ergo42/keymaps/biacco/rules.mk @@ -0,0 +1,3 @@ +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/ergo42/keymaps/default/keymap.c b/keyboards/ergo42/keymaps/default/keymap.c index 704cd47e1fe..c06cda5db6a 100644 --- a/keyboards/ergo42/keymaps/default/keymap.c +++ b/keyboards/ergo42/keymaps/default/keymap.c @@ -17,82 +17,59 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* BASE * ,------------------------------------------------. ,------------------------------------------------. - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ | + * | ESC | Tab | Q | W | E | R | T | | Y | U | I | O | P | [ | Bksp | * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : | + * | Del | RCtrl| A | S | D | F | G | | H | J | K | L | ; | ] | Enter| * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | + * | SYMB | LSft | Z | X | C | V | B | | N | M | , | . | / | UP | RSft | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | + * | META | LCtrl| ` | \ | LAlt | LGUI |Space | |Space | ' | - | = | LEFT | DOWN | RIGHT| * `------------------------------------------------' `------------------------------------------------' */ [BASE] = KEYMAP( \ - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ - KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, LT(SYMB, KC_ESC), RCTL_T(KC_SPC), SFT_T(KC_TAB), KC_BSPC, LT(META, KC_ENT), KC_DELT, KC_PSCR, TG(GAME), TG(SYMB), KC_JYEN \ + KC_ESC, 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_BSPC, \ + KC_DELT, KC_RCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RBRC, KC_ENT, \ + MO(SYMB), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, \ + MO(META), KC_LCTL, KC_GRV, KC_BSLS, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_QUOT, KC_MINS, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT \ ), /* META * ,------------------------------------------------. ,------------------------------------------------. - * | 1 | 2 | 3 | 4 | 5 | 6 | [ | | ] | 7 | 8 | 9 | 0 | - | ^ | + * | Reset| 1 | 2 | 3 | 4 | 5 | [ | | ] | 6 | 7 | 8 | 9 | 0 | Bksp | * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | F1 | |Muhen | Henk | | ( | | ) | Left | Down | Up |Right | | | + * | Del | F1 | |Muhen | Henk | | | | Left | Down | Up |Right | | | Enter| * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | F2 | F3 | F4 | F5 | F6 | { | | } | F7 | F8 | F9 | F10 | F11 |\/Sft | + * | SYMB | F2 | F3 | F4 | F5 | F6 | { | | } | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |Reset |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | + * | META | LCtrl| ` | \ | LAlt | LGUI |Space | |Space | ' | - | = | | | | * `------------------------------------------------' `------------------------------------------------' */ [META] = KEYMAP( \ - 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_F1, XXXXXXX, KC_MHEN, KC_HENK, XXXXXXX, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, \ - _______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, SFT_T(KC_RO), \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______ \ + RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC, KC_RBRC, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \ + _______, KC_F1, XXXXXXX, KC_MHEN, KC_HENK, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, _______, \ + _______, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, S(KC_LBRC), S(KC_RBRC), KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX \ ), /* SYMB * ,------------------------------------------------. ,------------------------------------------------. - * | ! | " | # | $ | % | & | [ | | ] | ' | ( | ) | ~ | = | ~ | + * | ESC | ! | @ | # | $ | % | [ | | ] | ^ | & | * | ( | ) | Bksp | * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | | | | | | ( | | ) | | | | | + | * | + * | Del | | | | | | ( | | ) | | | | | | Enter| * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | | | | | | { | | } | | | < | > | ? | \ | + * | SYMB | | | | | | { | | } | | | | | UP | Sft | * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc |ESC/ |Space/|Tab/ | |Back |Enter/| Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | |~SYMB |RCtrl |Shift | |Space |~META | | | | | | + * | META | LCtrl| ` | \ | LAlt | LGUI |Space | |Space | ' | - | = | LEFT | DOWN | RIGHT| * `------------------------------------------------' `------------------------------------------------' */ [SYMB] = KEYMAP( \ - S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), S(KC_6), _______, _______, S(KC_7), S(KC_8), S(KC_9), S(KC_0), S(KC_MINS), S(KC_EQL), \ - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, S(KC_SCLN), S(KC_QUOT), \ - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, S(KC_COMM), S(KC_DOT), S(KC_SLSH), S(KC_RO), \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ -), - -/* GAME - * ,------------------------------------------------. ,------------------------------------------------. - * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | @ | - * |------+------+------+------+------+------+------| |-------------+------+------+------+------+------| - * | Alt | A | S | D | F | G | ( | | ) | H | J | K | L | ; | : | - * |------+------+------+------+------+------+------| |------|------+------+------+------+------+------| - * | Sft | Z | X | C | V | B | { | | } | N | M | , | . | / |\/Sft | - * |------+------+------+------+------+------+------| |------+------+------+------+------+------+------| - * | Ctrl | GUI | App |PrtSc | ESC |Space |Tab | |Back |Enter | Del |PrtSc |=>GAME|=>SYMB| \ | - * | | | | | | | | |Space | | | | | | | - * `------------------------------------------------' `------------------------------------------------' - */ -[GAME] = KEYMAP( \ - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_RBRC, KC_BSLS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, \ - KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, S(KC_8), S(KC_9), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, S(KC_RBRC), S(KC_BSLS), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_RO), \ - KC_LCTRL, KC_LGUI, KC_APP, KC_PSCR, KC_ESC, KC_SPC, KC_TAB, KC_BSPC, KC_ENT, KC_DELT, KC_PSCR, _______, _______, KC_JYEN \ + _______, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), KC_LBRC, KC_RBRC, S(KC_6), S(KC_7), S(KC_8), S(KC_9), S(KC_0), _______, \ + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, S(KC_9), S(KC_0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, \ + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, S(KC_LBRC), S(KC_RBRC), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ ) - }; diff --git a/keyboards/ergo42/keymaps/hdbx/config.h b/keyboards/ergo42/keymaps/hdbx/config.h new file mode 100644 index 00000000000..39be7526ae7 --- /dev/null +++ b/keyboards/ergo42/keymaps/hdbx/config.h @@ -0,0 +1,48 @@ +/* +This is the c configuration file for the keymap + +Copyright 2012 Jun Wako +Copyright 2015 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 . +*/ + +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +/* Use I2C or Serial, not both */ + +#define USE_SERIAL +// #define USE_I2C + +/* Select hand configuration */ + +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define TAPPING_TERM 120 +#define TAPPING_TOGGLE 3 + +#undef RGBLED_NUM +#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_SLEEP +#define RGBLED_NUM 14 +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 + +#endif diff --git a/keyboards/ergo42/keymaps/hdbx/keymap.c b/keyboards/ergo42/keymaps/hdbx/keymap.c new file mode 100644 index 00000000000..8b3df3f4aba --- /dev/null +++ b/keyboards/ergo42/keymaps/hdbx/keymap.c @@ -0,0 +1,192 @@ +// WindowsでJIS配列として認識しているときに、US配列として使うためのキーマップ +// @leopard_gecko さんがPlanck用に作成されたキーマップをかなり参考にしています。 + +#include "ergo42.h" +#include "action_layer.h" +#include "eeconfig.h" +#include "keymap_jp.h" // qmk_firmware-master/quantum/keymap_extras/keymap_jp.h 日本語キーボード設定用 +#include // macro sendstring for jis keyboard マクロ文字列送信時に日本語キーボード設定での文字化け回避 + +extern keymap_config_t keymap_config; + +// レイヤー +#define _QWERTY 0 +#define _LOWER 1 +#define _RAISE 2 +#define _GAME 3 +#define _ADJUST 4 + +enum custom_keycodes { + QWERTY = SAFE_RANGE, // デフォルトレイヤー用 + MCR1, // マクロ1 + MCR2, // マクロ2 + MCR3, // マクロ3 + DYNAMIC_MACRO_RANGE, // ダイナミックマクロ + WN_SCLN, // タップでJISの「:」 シフトでJISの「;」 (Windows) +}; + +// Use Dynamic macro +#include "dynamic_macro.h" + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO +#define KC_LOWR LT(_LOWER, KC_MHEN) // タップで無変換 ホールドでLower +#define KC_RASE LT(_RAISE, KC_HENK) // タップで変換 ホールドでRaise +#define KC_LSLB MT(MOD_LSFT, JP_LBRC) // タップで[ ホールドで左Shift +#define KC_RSRB MT(MOD_RSFT, JP_RBRC) // タップで] ホールドで右Shift +#define KC_ALTB MT(MOD_LALT, KC_TAB) // タップでTAB ホールドで左ALT +#define KC_ESCA LT(_ADJUST,KC_ESC) // タップでESC ホールドでADJUSTレイヤーon +#define CTL_ZH CTL_T(KC_ZKHK) // タップで半角/全角 ホールドで左Control (Windows) +#define KC_ALPS LALT(KC_PSCR) // Alt + PrintScreen + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* QWERTY + * ,-------------------------------------------------------. ,-------------------------------------------------------. + * |Tab/Alt| Q | W | E | R | T | - | | ~ | Y | U | I | O | P | BSPC | + * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| + * |ZH/Ctrl| A | S | D | F | G | ( | | ) | H | J | K | L | : | ' | + * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| + * | [/Sft | Z | X | C | V | B | F2 | | Home | N | M | , | . | / | ]/Sft | + * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| + * | TT | GUI | \ | Esc/ | LOWER | Enter | Del | | End | Space | RAISE | Left | Down | Up | Right | + * |(_GAME)| | |_ADJUST| 無変換| | | | | | 変換 | | | | | + * `-------------------------------------------------------' `-------------------------------------------------------' + */ + +[_QWERTY] = KEYMAP( \ + KC_ALTB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MINS, JP_TILD, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \ + CTL_ZH, KC_A, KC_S, KC_D, KC_F, KC_G, JP_LPRN, JP_RPRN, KC_H, KC_J, KC_K, KC_L, WN_SCLN, JP_QUOT, \ + KC_LSLB, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F2, KC_HOME, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSRB, \ + TT(_GAME),KC_LGUI, JP_YEN, KC_ESCA, KC_LOWR, KC_ENT, KC_DEL, KC_END, KC_SPC, KC_RASE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ +), + +/* LOWER + * ,-------------------------------------------------------. ,-------------------------------------------------------. + * |Tab/Alt| 1 | 2 | 3 | 4 | 5 | 6 | | Esc | 7 | 8 | 9 | O | = | BSPC | + * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| + * |ZH/Ctrl| F1 | F2 | F3 | F4 | F5 | F6 | | F2 | 4 | 5 | 6 | - | / | Enter | + * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| + * | Shift | F7 | F8 | F9 | F10 | F11 | F12 | | Home | 1 | 2 | 3 | + | * | Shift | + * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| + * |XXXXXXX| GUI |XXXXXXX| Esc | | Enter | Del | | End | 0 | . | Left | Down | Up | Right | + * `-------------------------------------------------------' `-------------------------------------------------------' + */ + +[_LOWER] = KEYMAP( \ + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_ESC, KC_7, KC_8, KC_9, KC_0, JP_EQL, _______, \ + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F2, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PSLS, KC_ENT, \ + KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_P1, KC_P2, KC_P3, KC_PPLS, KC_PAST, KC_RSFT, \ + _______, _______, XXXXXXX, KC_ESC, _______, _______, _______, _______, KC_P0, KC_PDOT, _______, _______, _______, _______ \ +), + +/* RAISE + * ,-------------------------------------------------------. ,-------------------------------------------------------. + * |Tab/Alt| ! | @ | # | $ | % | _ | | ` | ^ | & | Ins | \ |PrntScr| BSPC | + * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| + * |ZH/Ctrl|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| { | | } | Left | Down | Up | Right | ; | " | + * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| + * | Shift |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |PageUp |XXXXXXX|XXXXXXX| < | > | ? | Shift | + * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| + * |XXXXXXX| GUI | | | Esc |XXXXXXX| Enter | Del | |PageDwn| Space | | Left | Down | Up | Right | + * `-------------------------------------------------------' `-------------------------------------------------------' + */ + +[_RAISE] = KEYMAP( \ + _______, KC_EXLM, JP_AT, KC_HASH, KC_DLR, KC_PERC, JP_UNDS, JP_GRV, JP_CIRC, JP_AMPR, KC_INS, JP_YEN, KC_ALPS, _______, \ + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, JP_LCBR, JP_RCBR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, JP_DQT, \ + KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, KC_LT, KC_GT, KC_QUES, KC_RSFT, \ + _______, _______, JP_PIPE, KC_ESC, XXXXXXX, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______ \ +), + +/* GAME + * ,-------------------------------------------------------. ,-------------------------------------------------------. + * | Esc | Q | W | E | R | T |PrntScr| | | | | | | | | + * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| + * | Ctrl | A | S | D | F | G | F5 | | | | | | | | | + * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| + * | Shift | Z | X | C | V | B | F2 | |PageUp | | | | | | | + * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| + * | | GUI | Tab | Alt | Space | Enter | Del | |PageDwn| Space |XXXXXXX| Left | Down | Up | Right | + * `-------------------------------------------------------' `-------------------------------------------------------' + */ +[_GAME] = KEYMAP( \ + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_ALPS, _______, _______, _______, _______, _______, _______, _______, \ + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, JP_LBRC, _______, _______, _______, _______, _______, _______, _______, \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F2, KC_PGUP, _______, _______, _______, _______, _______, _______, \ + _______, KC_LGUI, KC_TAB, KC_LALT, KC_SPC, KC_ENT, KC_DEL, KC_PGDN, _______, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ +), + +/* ADJUST + * ,-------------------------------------------------------. ,-------------------------------------------------------. + * |RGB_TOG| MCR1 | MCR2 | MCR3 |XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|PLAY_M1|PLAY_M2|REC_M1 |REC_M2 |STP_REC| BSPC | + * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| + * | RESET |RGB_MOD|_PLAIN |_BREATH|RGB_HuI|RGB_SaI|RGB_VaI| |XXXXXXX|QWERTY |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| + * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| + * | Shift |_RAINBW|_SNAKE |_GRADIE|RGB_HuD|RGB_SaD|RGB_VaD| |XXXXXXX| M-PLAY|M-MUTE |VOL_DWN|VOL_UP |PREV_TR|NEXT_TR| + * |-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| + * | DEBUG |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|XXXXXXX| Left | Down | Up | Right | + * `-------------------------------------------------------' `-------------------------------------------------------' + */ +[_ADJUST] = KEYMAP( \ + RGB_TOG, MCR1, MCR2, MCR3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, DYN_REC_START1, DYN_REC_START2, DYN_REC_STOP, KC_BSPC, \ + RESET, RGB_MOD, RGB_M_P, RGB_M_B, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, QWERTY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \ + KC_LSFT, RGB_M_R, RGB_M_SN,RGB_M_G, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, \ + DEBUG, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ +), + +}; + +void persistent_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) { + static bool lshift = false; + if (!process_record_dynamic_macro(keycode, record)) { + return false; + } + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + persistent_default_layer_set(1UL<<_QWERTY); + } + return false; + break; + case WN_SCLN: // コロン「;:」 + if (record->event.pressed) { + lshift = keyboard_report->mods & MOD_BIT(KC_LSFT); + if (lshift) { + unregister_code(KC_LSFT); + register_code(JP_SCLN); + unregister_code(JP_SCLN); + } else { + register_code(JP_COLN); + unregister_code(JP_COLN); + } + } + return false; + break; + case MCR1: + if (record->event.pressed) { + SEND_STRING("hogehoge"); // 送信文字列 + } + return false; + break; + case MCR2: + if (record->event.pressed) { + SEND_STRING("hogehogehoge"SS_TAP(X_ENTER)); // 送信文字列 + } + return false; + break; + case MCR3: + if (record->event.pressed) { + SEND_STRING("hoge@hoge.co.jp"); // 送信文字列 + } + return false; + break; + } + return true; +} diff --git a/keyboards/ergo42/keymaps/hdbx/readme.md b/keyboards/ergo42/keymaps/hdbx/readme.md new file mode 100644 index 00000000000..fe76fc7cf76 --- /dev/null +++ b/keyboards/ergo42/keymaps/hdbx/readme.md @@ -0,0 +1,67 @@ +# hdbx + +Designed for Japanese Keyboardists using JIS on the Ergo42. + +## Layer + +```` +QWERTY +,-------------------------------------------------------. ,-------------------------------------------------------. +|Tab/Alt| Q | W | E | R | T | - | | ~ | Y | U | I | O | P | BSPC | +|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| +|ZH/Ctrl| A | S | D | F | G | ( | | ) | H | J | K | L | : | ' | +|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| +| [/Sft | Z | X | C | V | B | F2 | | Home | N | M | , | . | / | ]/Sft | +|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| +| TT | GUI | \ | Esc/ | LOWER | Enter | Del | | End | Space | RAISE | Left | Down | Up | Right | +|(_GAME)| | |_ADJUST| –³•ÏŠ·| | | | | | •ÏŠ· | | | | | +`-------------------------------------------------------' `-------------------------------------------------------' + +LOWER +,-------------------------------------------------------. ,-------------------------------------------------------. +|Tab/Alt| 1 | 2 | 3 | 4 | 5 | 6 | | Esc | 7 | 8 | 9 | O | = | BSPC | +|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| +| Ctrl | F1 | F2 | F3 | F4 | F5 | F6 | | F2 | 4 | 5 | 6 | - | / | Enter | +|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| +| Shift | F7 | F8 | F9 | F10 | F11 | F12 | | Home | 1 | 2 | 3 | + | * | Shift | +|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| +|XXXXXXX| GUI |XXXXXXX| Esc | | Enter | Del | | End | 0 | . | Left | Down | Up | Right | +`-------------------------------------------------------' `-------------------------------------------------------' + +RAISE +,-------------------------------------------------------. ,-------------------------------------------------------. +|Tab/Alt| ! | @ | # | $ | % | _ | | ` | ^ | & | Ins | \ |PrntScr| BSPC | +|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| +| Ctrl |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| { | | } | Left | Down | Up | Right | ; | " | +|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| +| Shift |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| |PageUp |XXXXXXX|XXXXXXX| < | > | ? | Shift | +|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| +|XXXXXXX| GUI | | | Esc |XXXXXXX| Enter | Del | |PageDwn| Space | | Left | Down | Up | Right | +`-------------------------------------------------------' `-------------------------------------------------------' + +GAME +,-------------------------------------------------------. ,-------------------------------------------------------. +| Esc | Q | W | E | R | T |PrntScr| | | | | | | | | +|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| +| Ctrl | A | S | D | F | G | F5 | | | | | | | | | +|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| +| Shift | Z | X | C | V | B | F2 | |PageUp | | | | | | | +|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| +| | GUI | Tab | Alt | Space | Enter | Del | |PageDwn| Space |XXXXXXX| Left | Down | Up | Right | +`-------------------------------------------------------' `-------------------------------------------------------' + +ADJUST +,-------------------------------------------------------. ,-------------------------------------------------------. +|RGB_TOG| MCR1 | MCR2 | MCR3 |XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|PLAY_M1|PLAY_M2|REC_M1 |REC_M2 |STP_REC| BSPC | +|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| +| RESET |RGB_MOD|_PLAIN |_BREATH|RGB_HuI|RGB_SaI|RGB_VaI| |XXXXXXX|QWERTY |XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX|XXXXXXX| +|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| +| Shift |_RAINBW|_SNAKE |_GRADIE|RGB_HuD|RGB_SaD|RGB_VaD| |XXXXXXX| M-PLAY|M-MUTE |VOL_DWN|VOL_UP |PREV_TR|NEXT_TR| +|-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------| +| DEBUG |XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|XXXXXXX| |XXXXXXX|XXXXXXX|XXXXXXX| Left | Down | Up | Right | +`-------------------------------------------------------' `-------------------------------------------------------' +```` + +## Notes + +Supports RGB Underglow and Dynamic Macros. diff --git a/keyboards/ergo42/keymaps/hdbx/rules.mk b/keyboards/ergo42/keymaps/hdbx/rules.mk new file mode 100644 index 00000000000..1e576127880 --- /dev/null +++ b/keyboards/ergo42/keymaps/hdbx/rules.mk @@ -0,0 +1,5 @@ +RGBLIGHT_ENABLE = yes + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/ergo42/rev1/config.h b/keyboards/ergo42/rev1/config.h index 51cff095c7c..1a674a85862 100644 --- a/keyboards/ergo42/rev1/config.h +++ b/keyboards/ergo42/rev1/config.h @@ -43,7 +43,7 @@ along with this program. If not, see . #define CATERINA_BOOTLOADER /* define tapping term */ -#define TAPPING_TERM 120 +#define TAPPING_TERM 100 /* define if matrix has ghost */ //#define MATRIX_HAS_GHOST diff --git a/keyboards/frosty_flake/keymaps/nikchi/keymap.c b/keyboards/frosty_flake/keymaps/nikchi/keymap.c index f9cff0b84a0..bf7c5e58837 100644 --- a/keyboards/frosty_flake/keymaps/nikchi/keymap.c +++ b/keyboards/frosty_flake/keymaps/nikchi/keymap.c @@ -6,15 +6,16 @@ #include "quantum.h" #define _______ KC_TRNS -#define EMOJIBLOCK 5 +#define MAXEMOJITAPS 80 //declarations for tap dancing emojis void register_hex32(uint32_t hex); void cycleEmojis(qk_tap_dance_state_t *state, void *user_data); void cycleAnimals(qk_tap_dance_state_t *state, void *user_data); -void cycleHands(qk_tap_dance_state_t *state, void *user_data); -void cycleMemes(qk_tap_dance_state_t *state, void *user_data); +void cycleFoods(qk_tap_dance_state_t *state, void *user_data); +void cycleEtc(qk_tap_dance_state_t *state, void *user_data); +void cycleAll(qk_tap_dance_state_t *state, void *user_data); void tap(uint16_t keycode){ register_code(keycode); @@ -28,36 +29,20 @@ enum taps{ ANIMAL, HAND, MEMES, - COPA + COPA, + ALLS }; -enum unicode_name { // split every five emojis - THINK = 1, // thinking face 🤔 - GRIN, // grinning face 😊 - SMRK, // smirk 😏 - WEARY, // good shit 😩 - UNAMU, // unamused 😒 - - SNEK, // snke 🐍 - PENGUIN, // 🐧 - DRAGON, // 🐉 - MONKEY, // 🐒 - CHICK, // 🐥 - - OKOK, // 👌 - EFFU, // 🖕 - INUP, // 👆 - THUP, // 👍 - THDN, // 👎 - - BBB, // dat B 🅱 - AVO, // avocado 🥑 - BRED, // unicode consortium pls make toast 🍞 - EGGPL, // EGGPLANT 🍆 - WATER, // wet 💦 - - LIT // fire 🔥 - +enum unicode_name { + EMOTIS = 1,//80, //1F60x - 1F64x + ANIMALS, //64, //1F40x - 1F43x + SYMBOLS,// = 45, //1F300 - 1F32C + FOODS,// = 87 , //1F32D - + ETC,// = 192, //1F44x -1F4Fx + VEHICLES,// = 83, //1F68x - 1F6Dx + SUPPLEMENT,// = 32, //1F91x-1F92x + ALCHEMY,// = 116 //1F70x - 1F773 + }; enum my_macros { @@ -75,8 +60,12 @@ qk_tap_dance_action_t tap_dance_actions[] = { [COPA] = ACTION_TAP_DANCE_DOUBLE(LCTL(KC_C), LCTL(KC_V)), [EMOJIS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleEmojis, NULL, NULL, 800), [ANIMAL] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleAnimals, NULL, NULL, 800), - [HAND] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleHands, NULL, NULL, 800), - [MEMES] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleMemes, NULL, NULL, 800) + //[SYMBOLS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleSymbols, NULL, NULL, 800), + [FOODS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleFoods, NULL, NULL, 800), + [ETC] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleEtc, NULL, NULL, 800), + //[VEHICLES] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleVehicles, NULL, NULL, 800), + //[SUPPLEMENT] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleSupplement, NULL, NULL, 800), + [ALLS] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(cycleAll, NULL, NULL, 800) // Other declarations would go here, separated by commas, if you have them }; @@ -107,29 +96,17 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { return MACRO_NONE; }; + // emojis in unicode const uint32_t PROGMEM unicode_map[] = { - [THINK] = 0x1F914, - [GRIN] = 0x1F600, - [BBB] = 0x1F171, - [AVO] = 0x1F951, - [BRED] = 0x1F35E, - [SMRK] = 0x1F60F, - [WEARY] = 0x1F629, - [EGGPL] = 0x1F346, - [WATER] = 0x1F4A6, - [LIT] = 0x1F525, - [UNAMU] = 0x1F612, - [SNEK] = 0x1F40D, - [PENGUIN] = 0x1F427, - [MONKEY] = 0x1F412, - [CHICK] = 0x1F425, - [DRAGON] = 0x1F409, - [OKOK] = 0x1F44C, - [EFFU] = 0x1F595, - [INUP] = 0x1F446, - [THDN] = 0x1F44E, - [THUP] = 0x1F44D + [EMOTIS] = 0x1F600, + [ANIMALS] = 0x1F400, + [SYMBOLS] = 0x1F300, + [FOODS] = 0x1F32D, + [ETC] = 0x1F440, + [VEHICLES] = 0x1F680, + [SUPPLEMENT] = 0x1F910, + [ALCHEMY] = 0x1F700 }; // Layouts const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -141,11 +118,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSPO,KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_SLSH, KC_RSPC, KC_UP, KC_P1, KC_P2, KC_P3,KC_PENT, \ TD(TD_CTCPS),KC_LGUI,KC_LALT, KC_SPC, KC_LEAD,KC_RGUI, KC_APP,MO(1) , KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT), [1] = 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_PSCR,KC_SLCK,KC_PAUS, \ - TD(EMOJIS),TD(ANIMAL),TD(HAND),TD(MEMES),X(WEARY),X(UNAMU), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,KC_BSPC, KC_MPRV,KC_MPLY,KC_MNXT, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS, \ - KC_TAB, KC_Q, M(0), KC_E, KC_R,X(EGGPL),X(WATER), KC_U, KC_I, KC_O, KC_P, KC_UP ,KC_RBRC,KC_BSLS, KC_MUTE,KC_VOLD,KC_VOLU, KC_P7, KC_P8, KC_P9,KC_PPLS, \ - KC_LCTL, M(1), M(3), M(2), KC_F, X(LIT), X(SNEK), KC_J, KC_K, KC_L,KC_LEFT,KC_RGHT, KC_ENT, KC_P4, KC_P5, KC_P6, \ - KC_LSFT,KC_NUBS, KC_Z, KC_X, KC_C, TD(COPA), X(BBB), X(AVO), KC_M,KC_COMM, KC_DOT,KC_DOWN, KC_RSFT, KC_MS_U, KC_P1, KC_P2, KC_P3,KC_PENT, \ + TD(ALLS), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,KC_SLCK,KC_PAUS, \ + KC_GRV, TD(EMOJIS),TD(ANIMAL),TD(ETC),TD(FOODS), KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,KC_MINS, KC_EQL,KC_BSPC, KC_MPRV,KC_MPLY,KC_MNXT, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS, \ + KC_TAB, KC_Q, M(0), KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_UP ,KC_RBRC,KC_BSLS, KC_MUTE,KC_VOLD,KC_VOLU, KC_P7, KC_P8, KC_P9,KC_PPLS, \ + KC_LCTL, M(1), M(3), M(2), KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,KC_LEFT,KC_RGHT, KC_ENT, KC_P4, KC_P5, KC_P6, \ + KC_LSFT,KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_DOWN, KC_RSFT, KC_MS_U, KC_P1, KC_P2, KC_P3,KC_PENT, \ KC_BTN1,KC_BTN3,KC_BTN2, KC_SPC, KC_RALT,KC_RGUI, TG(2),_______ , KC_MS_L,KC_MS_D,KC_MS_R, KC_P0,KC_PDOT), [2] = 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_PSCR,KC_SLCK,KC_PAUS, \ @@ -153,7 +130,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,KC_LBRC,KC_RBRC,KC_BSLS, KC_MUTE,KC_VOLD,KC_VOLU, KC_P7, KC_P8, KC_P9,KC_PPLS, \ KC_LCTL, KC_D, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,KC_SCLN,KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, \ KC_LSFT,KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_SLSH, KC_RSFT, KC_MS_U, KC_P1, KC_P2, KC_P3,KC_PENT, \ - KC_BTN1,KC_BTN3,KC_BTN2, KC_SPC, KC_RALT,KC_RGUI, _______, _______, KC_MS_L,KC_MS_D,KC_MS_R, KC_P0,KC_PDOT), + KC_BTN1,KC_BTN3,KC_BTN2, KC_SPC, KC_RALT,KC_RGUI, TG(2) , KC_NO , KC_MS_L,KC_MS_D,KC_MS_R, KC_P0,KC_PDOT), }; LEADER_EXTERNS(); @@ -169,12 +146,6 @@ void matrix_scan_user(void) { tap(KC_C); unregister_code(KC_LCTL); } - SEQ_THREE_KEYS(KC_L,KC_I,KC_T) { // 🔥🔥 - unicode_input_start(); - register_hex32(pgm_read_dword(&unicode_map[LIT])); - unicode_input_finish(); - } - } } @@ -183,17 +154,31 @@ void matrix_init_user(void) { set_unicode_input_mode(UC_WINC); }; +void cycleAll(qk_tap_dance_state_t *state, void *user_data) { + if(state->count == 1) { + unicode_input_start(); + register_hex32(pgm_read_dword(&unicode_map[EMOTIS])); + unicode_input_finish(); + } + else if(state->count <= 1642) { + tap(KC_BSPC); + unicode_input_start(); + register_hex32(pgm_read_dword(&unicode_map[1])+state->count); + unicode_input_finish(); + } +}; + void cycleEmojis(qk_tap_dance_state_t *state, void *user_data) { if(state->count == 1) { unicode_input_start(); - register_hex32(pgm_read_dword(&unicode_map[state->count])); + register_hex32(pgm_read_dword(&unicode_map[EMOTIS])); unicode_input_finish(); } - else if(state->count <= EMOJIBLOCK) { + else if(state->count <= 80) { tap(KC_BSPC); unicode_input_start(); - register_hex32(pgm_read_dword(&unicode_map[state->count])); + register_hex32(pgm_read_dword(&unicode_map[EMOTIS])+state->count); unicode_input_finish(); } }; @@ -201,43 +186,43 @@ void cycleEmojis(qk_tap_dance_state_t *state, void *user_data) { void cycleAnimals(qk_tap_dance_state_t *state, void *user_data) { if(state->count == 1) { unicode_input_start(); - register_hex32(pgm_read_dword(&unicode_map[state->count+5])); + register_hex32(pgm_read_dword(&unicode_map[ANIMALS])); unicode_input_finish(); } - else if(state->count <= EMOJIBLOCK) { + else if(state->count <= MAXEMOJITAPS) { tap(KC_BSPC); unicode_input_start(); - register_hex32(pgm_read_dword(&unicode_map[state->count+5])); + register_hex32(pgm_read_dword(&unicode_map[ANIMALS])+state->count); unicode_input_finish(); } }; -void cycleHands(qk_tap_dance_state_t *state, void *user_data) { +void cycleFoods(qk_tap_dance_state_t *state, void *user_data) { if(state->count == 1) { unicode_input_start(); - register_hex32(pgm_read_dword(&unicode_map[state->count+10])); + register_hex32(pgm_read_dword(&unicode_map[FOODS])); unicode_input_finish(); } - else if(state->count <= EMOJIBLOCK) { + else if(state->count <= 87) { tap(KC_BSPC); unicode_input_start(); - register_hex32(pgm_read_dword(&unicode_map[state->count+10])); + register_hex32(pgm_read_dword(&unicode_map[FOODS])+state->count); unicode_input_finish(); } }; -void cycleMemes(qk_tap_dance_state_t *state, void *user_data) { + +void cycleEtc(qk_tap_dance_state_t *state, void *user_data) { if(state->count == 1) { unicode_input_start(); - register_hex32(pgm_read_dword(&unicode_map[state->count+15])); + register_hex32(pgm_read_dword(&unicode_map[ETC])); unicode_input_finish(); } - else if(state->count <= EMOJIBLOCK) { + else if(state->count <= MAXEMOJITAPS) { tap(KC_BSPC); unicode_input_start(); - register_hex32(pgm_read_dword(&unicode_map[state->count+15])); + register_hex32(pgm_read_dword(&unicode_map[ETC])+state->count); unicode_input_finish(); } }; - diff --git a/keyboards/iris/keymaps/drashna/config.h b/keyboards/iris/keymaps/drashna/config.h new file mode 100644 index 00000000000..2a451e7c772 --- /dev/null +++ b/keyboards/iris/keymaps/drashna/config.h @@ -0,0 +1,59 @@ +/* +Copyright 2017 Danny Nguyen + +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_USER_H +#define CONFIG_USER_H + +#include "config_common.h" + +/* Use I2C or Serial, not both */ + +#define USE_SERIAL +#undef USE_I2C + +/* Select hand configuration */ + +// #define MASTER_LEFT +// #define MASTER_RIGHT +#define EE_HANDS + +#ifdef RGBLIGHT_ENABLE +#undef RGBLED_NUM +#define RGBLED_NUM 16 // Number of LEDs +#define RGBLIGHT_ANIMATIONS +#define RGBLIGHT_HUE_STEP 12 +#define RGBLIGHT_SAT_STEP 12 +#define RGBLIGHT_VAL_STEP 12 +#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2 +#define RGBLIGHT_EFFECT_SNAKE_LENGTH 2 +#define RGBLIGHT_EFFECT_BREATHE_CENTER 1 +#endif // RGBLIGHT_ENABLE + +#ifdef AUDIO_ENABLE +#define C6_AUDIO +#ifdef RGBLIGHT_ENABLE +#define NO_MUSIC_MODE +#endif //RGBLIGHT_ENABLE +#endif //AUDIO_ENABLE + + +#undef PRODUCT +#ifdef KEYBOARD_iris_rev2 +#define PRODUCT Drashna Hacked Iris Rev.2 +#endif + +#endif diff --git a/keyboards/iris/keymaps/drashna/keymap.c b/keyboards/iris/keymaps/drashna/keymap.c new file mode 100644 index 00000000000..64d074fc9f1 --- /dev/null +++ b/keyboards/iris/keymaps/drashna/keymap.c @@ -0,0 +1,141 @@ + +#include QMK_KEYBOARD_H +#include "drashna.h" + + +#define KC_ALAP ALT_T(KC_APP) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT_wrapper( + KC_GESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, + KC_TAB , _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, KC_BSLS, + KC_C1R3, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_QUOT, + KC_MLSF, _________________QWERTY_L3_________________, KC_ALAP, KC_LGUI, _________________QWERTY_R3_________________, KC_MRSF, + LOWER, KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE + ), + [_COLEMAK] = LAYOUT_wrapper( + KC_GESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, + KC_TAB , _________________COLEMAK_L1________________, _________________COLEMAK_R1________________, KC_BSLS, + KC_C1R3, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, KC_QUOT, + KC_MLSF, _________________COLEMAK_L3________________, KC_ALAP, KC_LGUI, _________________COLEMAK_R3________________, KC_MRSF, + LOWER, KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE + ), + [_DVORAK] = LAYOUT_wrapper( + KC_GESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, + KC_TAB , _________________DVORAK_L1_________________, _________________DVORAK_R1_________________, KC_BSLS, + KC_C1R3, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, KC_QUOT, + KC_MLSF, _________________DVORAK_L3_________________, KC_ALAP, KC_LGUI, _________________DVORAK_R3_________________, KC_MRSF, + LOWER, KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE + ), + [_WORKMAN] = LAYOUT_wrapper( + KC_GESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, + KC_TAB , _________________WORKMAN_L1________________, _________________WORKMAN_R1________________, KC_BSLS, + KC_C1R3, _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, KC_QUOT, + KC_MLSF, _________________WORKMAN_L3________________, KC_ALAP, KC_LGUI, _________________WORKMAN_R3________________, KC_MRSF, + LOWER, KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE + ), + + [_MODS] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ), + + + [_LOWER] = LAYOUT( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_RBRC, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_LPRN, KC_RPRN, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, + _______, _______, KC_DEL, _______, _______, _______ + ), + + [_RAISE] = LAYOUT( + KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_UNDS, KC_EQL , KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, _______, _______, _______, _______, _______, _______, _______, KC_PLUS, KC_END, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______ + ), + + [_ADJUST] = LAYOUT( + KC_MAKE, KC_RST, EPRM, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, + RGB_SMOD,RGB_HUI, CK_TOGG, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, TG(_MODS), + KC_RGB_T,RGB_SMOD,RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, + _______, _______, _______, _______, _______, _______ + ) + +}; + + + +#ifdef INDICATOR_LIGHT +uint32_t layer_state_set_keymap (uint32_t state) { + uint8_t modifiders = get_mods(); + uint8_t led_usb_state = host_keyboard_leds(); + uint8_t one_shot = get_oneshot_mods(); + + + if (modifiders & MODS_SHIFT_MASK || led_usb_state & (1<RGB backgoundlighting layer and functionallity + +i added: +>mouse layer + +the qwerty, lower and raise layer are more or less the same. here and there some keys are different. +take a look at the keymap.c \ No newline at end of file diff --git a/keyboards/iris/keymaps/impstyle/config.h b/keyboards/iris/keymaps/impstyle/config.h new file mode 100644 index 00000000000..6fc14133f8d --- /dev/null +++ b/keyboards/iris/keymaps/impstyle/config.h @@ -0,0 +1,44 @@ +/* +Copyright 2017 Danny Nguyen + +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_USER_H +#define CONFIG_USER_H + +#include "config_common.h" + +/* Use I2C or Serial, not both */ + +//#define USE_SERIAL +#define USE_I2C + +/* Select hand configuration */ +#define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define MOUSEKEY_DELAY 300 +#define MOUSEKEY_INTERVAL 50 +#define MOUSEKEY_MAX_SPEED 10 +#define MOUSEKEY_TIME_TO_MAX 20 +#define MOUSEKEY_WHEEL_MAX_SPEED 8 +#define MOUSEKEY_WHEEL_TIME_TO_MAX 40 + +#define TAPPING_TOGGLE 2 // double tab + +#include "../../config.h" + +#endif diff --git a/keyboards/iris/keymaps/impstyle/keymap.c b/keyboards/iris/keymaps/impstyle/keymap.c index 84f89c9c09b..d061a850a1d 100644 --- a/keyboards/iris/keymaps/impstyle/keymap.c +++ b/keyboards/iris/keymaps/impstyle/keymap.c @@ -1,3 +1,6 @@ +// iris qwerty layout with mouse layer. +// double tab to toggle is not working atm + #include QMK_KEYBOARD_H extern keymap_config_t keymap_config; @@ -5,43 +8,79 @@ extern keymap_config_t keymap_config; #define _QWERTY 0 #define _LOWER 1 #define _RAISE 2 -#define _ADJUST 16 +#define _MOUSE 3 enum custom_keycodes { QWERTY = SAFE_RANGE, LOWER, RAISE, - ADJUST, + MOUSE, }; #define KC_ KC_TRNS #define _______ KC_TRNS - -#define KC_LOWR LOWER -#define KC_RASE RAISE -#define KC_RST RESET -#define KC_BL_S BL_STEP -#define KC_TGLW TG(_LOWER) -#define KC_TGRS TG(_RAISE) +#define KC_LOWR MO(_LOWER) // Lower layer +#define KC_RASE MO(_RAISE) // Raise layer +#define KC_TGLW TG(_LOWER) // toggle lower +#define KC_TGRS TG(_RAISE) // toggle raise +#define KC_MOUS TT(_MOUSE) // double tab toggle mouse layer const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // QUERTY LAYER + //,----+----+----+----+----+----. ,----+----+----+----+----+----. + // ESC , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,BSPC, + //|----+----+----+----+----+----| |----+----+----+----+----+----| + // TAB , Q , W , E , R , T , Y , U , I , O , P ,MINS , + //|----+----+----+----+----+----| |----+----+----+----+----+----| + // LSFT, A , S , D , F , G , H , J , K , L ,SCLN,QUOT, + //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| + // LCTL, Z , X , C , V , B ,PLUS , MOUS , N , M ,COMM,DOT ,SLSH,BSLASH, + //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' + // LGUI,RASE,SPC , ENT ,LOWR,LALT + // `----+----+----' `----+----+----' + [_QWERTY] = LAYOUT( KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_BSPC, KC_TAB , KC_Q , KC_W ,KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_MINS , KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, - KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B ,KC_TGRS, KC_TGLW , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH, + KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B ,KC_PLUS, KC_MOUS , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLASH, KC_LGUI,KC_RASE,KC_SPC , KC_ENT ,KC_LOWR,KC_LALT ), + + // LOWER Layer + //,----+----+----+----+----+----. ,----+----+----+----+----+----. + // TILD,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN,BSPC, + //|----+----+----+----+----+----| |----+----+----+----+----+----| + // , ,PGUP, , ,LBRC, RBRC, P7 , P8 , P9 ,PLUS, , + //|----+----+----+----+----+----| |----+----+----+----+----+----| + // ,HOME,PGDN,END, ,LPRN, RPRN, P4 , P5 , P6 ,MINS,PIPE, + //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| + // , , , , , , , , , P1 , P2 , P3 ,EQL ,UNDS , + //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' + // , ,DEL , BSPC , , P0 + // `----+----+----' `----+----+----' [_LOWER] = LAYOUT( KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_BSPC, _______,_______,KC_PGUP,_______,_______,KC_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,KC_PLUS,_______, _______ ,KC_HOME,KC_PGDN,KC_END,_______,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE, _______,_______,_______,_______,_______,_______,_______, _______ ,_______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS , - _______ ,_______,KC_DEL , KC_BSPC ,_______, KC_P0 - + _______ ,_______,KC_PSCR , KC_DEL ,_______, KC_P0 ), + // RAISE LAYER + //,----+----+----+----+----+----. ,----+----+----+----+----+----. + // F12 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 , + //|----+----+----+----+----+----| |----+----+----+----+----+----| + // , , UP , , ,LBRC, RBRC, ,NLCK,INS ,SLCK,MUTE, + //|----+----+----+----+----+----| |----+----+----+----+----+----| + // ,LEFT,DOWN,RGHT, ,LPRN, RPRN,MPRV,MPLY,MNXT, ,VOLU, + //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| + // , , , , , , , PLUS , , , , , ,VOLD, + //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' + // , , , EQL, , + // `----+----+----' `----+----+----' + [_RAISE] = LAYOUT( KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 , _______ ,_______, KC_UP ,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,KC_MUTE, @@ -49,71 +88,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______,_______,_______,_______,_______,_______, KC_PLUS,_______,_______,_______,_______,_______,KC_VOLD, _______ ,_______,_______, KC_EQL,_______,_______ ), + // MOUSE LAYER + //,----+----+----+----+----+----. ,----+----+----+----+----+----. + // , , , , , , , , , , , , + //|----+----+----+----+----+----| |----+----+----+----+----+----| + // , ,MS_UP, , , , MS_WH_UP, , , , , , + //|----+----+----+----+----+----| |----+----+----+----+----+----| + // ,MS_LEFT,MS_DOWN,MS_RGHT, ,, MS_WH_DN,MS_BT1,MS_BT2,MS_BT3, , , + //|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----| + // , , , , , , , , , , ,MS_ACC0,MS_ACC1MS_ACC2 + //`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----' + // , , , , , + // `----+----+----' `----+----+----' + [_MOUSE] = LAYOUT( + _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,_______ ,_______ , + _______ ,_______, KC_MS_UP ,_______,_______,_______, KC_MS_WH_UP,_______,_______,_______ ,_______,_______, + _______ ,KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT,_______,_______, KC_MS_WH_DOWN,KC_MS_BTN1,KC_MS_BTN2,KC_MS_BTN3,_______,_______, + _______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,KC_MS_ACCEL0,KC_MS_ACCEL1,KC_MS_ACCEL2, + _______ ,_______,_______, _______,_______,_______ + ), - [_ADJUST] = LAYOUT( - //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RESET , DEBUG , RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, - //|--------+--------+--------+--------+--------+--------+--------. ,--------|--------+--------+--------+--------+--------+--------| - BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - //`--------+--------+--------+----+---+--------+--------+--------/ \--------+--------+--------+---+----+--------+--------+--------' - _______, _______, _______, _______, _______, _______ - // `--------+--------+--------' `--------+--------+--------' - ) - -}; - -#ifdef AUDIO_ENABLE -float tone_qwerty[][2] = SONG(QWERTY_SOUND); -#endif - -void persistent_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) { - #ifdef AUDIO_ENABLE - PLAY_SONG(tone_qwerty); - #endif - persistent_default_layer_set(1UL<<_QWERTY); - } - 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; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - break; - } - return true; -} +}; \ No newline at end of file diff --git a/keyboards/iris/keymaps/impstyle/rules.mk b/keyboards/iris/keymaps/impstyle/rules.mk new file mode 100644 index 00000000000..4db5ef00d26 --- /dev/null +++ b/keyboards/iris/keymaps/impstyle/rules.mk @@ -0,0 +1,8 @@ +RGBLIGHT_ENABLE = no +BACKLIGHT_ENABLE = no +TAP_DANCE_ENABLE = no +MOUSEKEY_ENABLE = yes + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/jj40/keymaps/ajp10304/keymap.c b/keyboards/jj40/keymaps/ajp10304/keymap.c index 1da57c444fd..b6d4d7b55e5 100644 --- a/keyboards/jj40/keymaps/ajp10304/keymap.c +++ b/keyboards/jj40/keymaps/ajp10304/keymap.c @@ -14,6 +14,8 @@ enum jj40_layers { _MRSE, _FUNC, _MFNC, + _FUNC2, + _MFNC2, _ADJUST, _MOUSE }; @@ -23,6 +25,8 @@ enum jj40_keycodes { MAC, FUNC, MFNC, + FUNC2, + MFNC2, LOWER, MLWR, RAISE, @@ -47,14 +51,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn | + * | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 | * `-----------------------------------------------------------------------------------' */ [_QWERTY] = KEYMAP(\ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC ,\ MT(MOD_LSFT, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, KC_ENT) ,\ KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT ,\ - MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LSHIFT, KC_BTN2, KC_RCTL, MO(_FUNC) \ + MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LSHIFT, KC_BTN2, KC_RCTL, MO(_FUNC2) \ ), /* Function @@ -117,15 +121,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+-------------+------+------+------+------+------| * | CAPS | | | | | PLAY1| PLAY2| Mute | Vol+ | Play | | | * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | STOP | STOP | Prev | Vol- | Next | | | + * | PC/MC| | | | | STOP | STOP | Prev | Vol- | Next | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ [_ADJUST] = KEYMAP(\ - M(0), RESET, QWERTY, _______, _______, DYN_REC_START1, DYN_REC_START2, _______, _______, _______, _______, KC_DEL ,\ - KC_CAPS, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ ,\ - TG(_MAC), _______, _______, _______, _______, DYN_REC_STOP, DYN_REC_STOP, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ ,\ + M(0), RESET, QWERTY, BL_ON, BL_OFF, DYN_REC_START1, DYN_REC_START2, _______, _______, _______, _______, KC_DEL ,\ + KC_CAPS, RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ ,\ + TG(_MAC), RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, DYN_REC_STOP, DYN_REC_STOP, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ ,\ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ ), @@ -147,32 +151,57 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______\ ), +/* Function 2 (Right hand side) + * ,-----------------------------------------------------------------------------------. + * | | |WRDSEL| | | | LNDEL| | | | | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | LNSEL| DUP | | | | |LNJOIN| | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | UNDO | CUT | COPY | PASTE| | | | | | | MODE | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_FUNC2] = KEYMAP(\ + _______, _______, M(1), _______, _______, _______, M(5), _______, _______, _______, _______, _______,\ + _______, _______, M(3), M(7), _______, _______, _______, M(10), _______, _______, _______, _______,\ + _______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, _______, _______, _______, _______, M(98), \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ +), + [_MAC]= KEYMAP(\ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ - _______, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, _______\ + MFNC, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, MFNC2 \ ), [_MLWR] = KEYMAP(\ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ - _______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______\ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ ), [_MRSE] = KEYMAP(\ - _______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_EQL) ,\ - _______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) ,\ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + _______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\ + _______, _______, _______, _______, _______, _______, _______, LCTL(KC_A), _______, LCTL(KC_E), _______, LGUI(KC_EQL) ,\ + _______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) ,\ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ ), [_MFNC]= KEYMAP(\ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) ,\ - _______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) ,\ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ +), + +[_MFNC2] = KEYMAP(\ + _______, _______, M(2), _______, _______, _______, M(6), _______, _______, _______, _______, _______,\ + _______, _______, M(4), M(8), _______, _______, _______, M(10), _______, _______, _______, _______,\ + _______, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), _______, _______, _______, _______, _______, _______, M(99), \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ ) }; @@ -243,6 +272,15 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { layer_off(_MFNC); } return false; + case MFNC2: + if (record->event.pressed) { + layer_on(_FUNC2); + layer_on(_MFNC2); + } else { + layer_off(_FUNC2); + layer_off(_MFNC2); + } + return false; } return true; } @@ -262,6 +300,48 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t keycode, uint8_t op case 2: // Word Select Mac SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_RIGHT) SS_DOWN(X_LSHIFT) SS_TAP(X_LEFT) SS_UP(X_LSHIFT) SS_UP(X_LALT)); return false; + + case 3: // Line Select + SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT)); + return false; + + case 4: // Line Select Mac + SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT)); + return false; + + case 5: // Line Delete + SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT)); + SEND_STRING(SS_TAP(X_BSPACE)); + return false; + + case 6: // Line Delete Mac + SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT)); + SEND_STRING(SS_TAP(X_BSPACE)); + return false; + + case 7: // Duplicate Selection + SEND_STRING(SS_LCTRL("c") SS_TAP(X_RIGHT) SS_LCTRL("v")); + return false; + + case 8: // Duplicate Selection Mac + SEND_STRING(SS_LGUI("c") SS_TAP(X_RIGHT) SS_LGUI("v")); + return false; + + case 9: // Join line + SEND_STRING(SS_TAP(X_END) SS_TAP(X_DELETE)); + return false; + + case 10: // Join line Mac + SEND_STRING(SS_LCTRL("e") SS_TAP(X_DELETE)); + return false; + + case 98: // Print mode + SEND_STRING("PC"); + return false; + + case 99: // Print mode + SEND_STRING("OSX"); + return false; } } return MACRO_NONE; diff --git a/keyboards/jj40/keymaps/ajp10304/readme.md b/keyboards/jj40/keymaps/ajp10304/readme.md index eaaacd05b3e..7ed6adec743 100644 --- a/keyboards/jj40/keymaps/ajp10304/readme.md +++ b/keyboards/jj40/keymaps/ajp10304/readme.md @@ -17,7 +17,7 @@ the second is the output when shift is applied. | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | | Tab | A | S | D | F | G | H | J | K | L | ;: | Enter| | Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft | -| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn | +| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 | ##### Function Layer Activated when `fn` held in the above `qwerty` layer. @@ -27,7 +27,7 @@ Activated when `fn` held in the above `qwerty` layer. | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT| | Shift | \| | `¬ | #~ | * | -_ | =+ | \| | [{ | ]} | '@ |Shift | -| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn | +| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn2 | ##### Lower Layer Activated when `Lower` is held in the above `qwerty` layer. @@ -65,28 +65,44 @@ Activated when `Lower` and `Raise` are held together in the above `qwerty` layer * ????: Runs a macro for outputting a text string. Do not use this store passwords. * Reset: Enter bootloader for flashing firmware to the keyboard. * CAPS: Toggle caps lock. +* Macro functions: Allows recording of macros. To start recording the macro, press either REC1 or REC2. +To finish the recording, press STOP. To replay the macro, press either PLAY1 or PLAY2. * MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER, -MRSE with RAISE and MFNC with FUNC respectively. -* REC1, REC2: Start recording macro. -* PLAY1, PLAY2: Playback macro. -* STOP1, STOP2: Stop recording macro. +MRSE with RAISE, MFNC with FUNC and MFNC2 with FUNC2 respectively. | | | | | | | | | | | | | | :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| | ???? | Reset|Qwerty| | | REC1 | REC2 | | | | | Del | -| CAPS | | | | | PLAY1| PLAY | Mute | Vol+ | Play | | | -| MAC | | | | | STOP | STOP | Prev | Vol- | Next | | | -| | | | | | | | | | | | | - -##### Mouse -Activated when `fn` and `Raise` are held together. +| CAPS | | | | | PLAY1|PLAY2 | Mute | Vol+ | Play | | | +| MAC | | | | | STOP1|STOP2 | Prev | Vol- | Next | | | +| | | | | | | | | DYN | | | | -| | | | | | | | | | | | | -| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:| -| | | | | | | | | | | | | -| ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | | -| ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN |RIGHT | | | -| | | | | | | | | | | | | +##### Function 2 Layer +Activated when `fn` held in the above `qwerty` layer. +* WRDSEL: Select the word where the cursor is. +* LNDEL: Delete the line where the cursor is. +* LNSEL: Select the line where the cursor is. +* DUP: Duplicate the selected text. +* LNJOIN: Join the line where the cursor is with the following line. +* MODE: Print either `PC` or `OSX` depending on what layer mode is active. + +| | | | | | | | | | | | | +| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| +| | |WRDSEL| | | | LNDEL| | | | | | +| | | LNSEL| DUP | | | | |LNJOIN| | | | +| | UNDO | CUT | COPY | PASTE| | | | | | | MODE | +| | | | | | | | | | | | | + +##### Mouse Layer +Activated when `fn` and `raise` held together. + +| | | | | | | | | | | | | +| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| +| ESC | | | | | | | | | | | | +| ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | | +| ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN | RIGHT| | | +| | | | | | | | | | | | | ####Manual Flashing of hex file -`bootloadHID -r .build/jj40_ajp10304.hex` +Use sleep to get a chance to get into boot mode. +`sleep 5; bootloadHID -r .build/jj40_ajp10304.hex` diff --git a/keyboards/kbd75/info.json b/keyboards/kbd75/info.json index e134a854ac0..2eb1412f2ab 100644 --- a/keyboards/kbd75/info.json +++ b/keyboards/kbd75/info.json @@ -1,12 +1,456 @@ { - "keyboard_name": "KBD75", - "url": "", - "maintainer": "qmk", - "width": 16, - "height": 6, + "keyboard_name": "KBD75", + "url": "", + "maintainer": "qmk", + "width": 16, + "height": 6, "layouts": { - "KEYMAP_ALL": { - "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"label":"Home", "x":15, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"Page Up", "x":15, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"label":"Enter", "x":12.75, "y":3, "w":2.25}, {"label":"Page Down", "x":15, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"End", "x":15, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":2.25}, {"x":6, "y":5}, {"x":7, "y":5, "w":3}, {"label":"Alt", "x":10, "y":5}, {"label":"Fn", "x":11, "y":5}, {"label":"Ctrl", "x":12, "y":5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}] + "LAYOUT": { + "key_count": 88, + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + {"label":"~", "x":0, "y":1}, + {"label":"1", "x":1, "y":1}, + {"label":"2", "x":2, "y":1}, + {"label":"3", "x":3, "y":1}, + {"label":"4", "x":4, "y":1}, + {"label":"5", "x":5, "y":1}, + {"label":"6", "x":6, "y":1}, + {"label":"7", "x":7, "y":1}, + {"label":"8", "x":8, "y":1}, + {"label":"9", "x":9, "y":1}, + {"label":"0", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"x":13, "y":1}, + {"x":14, "y":1}, + {"label":"Home", "x":15, "y":1}, + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"|", "x":13.5, "y":2, "w":1.5}, + {"label":"Page Up", "x":15, "y":2}, + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"\"", "x":11.75, "y":3}, + {"label":"Enter", "x":12.75, "y":3, "w":2.25}, + {"label":"Page Down", "x":15, "y":3}, + {"label":"Shift", "x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"x":3.75, "y":5, "w":2.25}, + {"x":6, "y":5}, + {"x":7, "y":5, "w":3}, + {"label":"Alt", "x":10, "y":5}, + {"label":"Fn", "x":11, "y":5}, + {"label":"Ctrl", "x":12, "y":5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5}] + }, + + "LAYOUT_ansi_1u": { + "key_count": 84, + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + {"label":"~", "x":0, "y":1}, + {"label":"1", "x":1, "y":1}, + {"label":"2", "x":2, "y":1}, + {"label":"3", "x":3, "y":1}, + {"label":"4", "x":4, "y":1}, + {"label":"5", "x":5, "y":1}, + {"label":"6", "x":6, "y":1}, + {"label":"7", "x":7, "y":1}, + {"label":"8", "x":8, "y":1}, + {"label":"9", "x":9, "y":1}, + {"label":"0", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"delete", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"|", "x":13.5, "y":2, "w":1.5}, + {"label":"Page Up", "x":15, "y":2}, + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"\"", "x":11.75, "y":3}, + {"label":"Enter", "x":12.75, "y":3, "w":2.25}, + {"label":"Page Down", "x":15, "y":3}, + {"label":"Shift", "x":0, "y":4, "w":2.25}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"x":3.75, "y":5, "w":6.75}, + {"label":"Alt", "x":10, "y":5}, + {"label":"Fn", "x":11, "y":5}, + {"label":"Ctrl", "x":12, "y":5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5}] + }, + + "LAYOUT_iso_1u": { + "key_count": 85, + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + {"label":"~", "x":0, "y":1}, + {"label":"1", "x":1, "y":1}, + {"label":"2", "x":2, "y":1}, + {"label":"3", "x":3, "y":1}, + {"label":"4", "x":4, "y":1}, + {"label":"5", "x":5, "y":1}, + {"label":"6", "x":6, "y":1}, + {"label":"7", "x":7, "y":1}, + {"label":"8", "x":8, "y":1}, + {"label":"9", "x":9, "y":1}, + {"label":"0", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"delete", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"Enter", "x":13.75, "y":2, "KS":[ [0,0], [1.5,0], [1.5,2], [0.25,2], [0.25,1], [0,1], [0,0] ]}, + {"label":"Page Up", "x":15, "y":2}, + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"@", "x":11.75, "y":3}, + {"label":"~", "x":12.75, "y":3}, + {"label":"Page Down", "x":15, "y":3}, + {"label":"Shift", "x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25},{"x":3.75, "y":5, "w":2.25}, {"x":6, "y":5}, {"x":7, "y":5, "w":3}, + {"label":"Alt", "x":10, "y":5}, + {"label":"Fn", "x":11, "y":5}, + {"label":"Ctrl", "x":12, "y":5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5}] + }, + + "LAYOUT_ansi": { + "key_count": 83, + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + {"label":"~", "x":0, "y":1}, + {"label":"1", "x":1, "y":1}, + {"label":"2", "x":2, "y":1}, + {"label":"3", "x":3, "y":1}, + {"label":"4", "x":4, "y":1}, + {"label":"5", "x":5, "y":1}, + {"label":"6", "x":6, "y":1}, + {"label":"7", "x":7, "y":1}, + {"label":"8", "x":8, "y":1}, + {"label":"9", "x":9, "y":1}, + {"label":"0", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"delete", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"|", "x":13.5, "y":2, "w":1.5}, + {"label":"Page Up", "x":15, "y":2}, + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"\"", "x":11.75, "y":3}, + {"label":"Enter", "x":12.75, "y":3, "w":2.25}, + {"label":"Page Down", "x":15, "y":3}, + {"label":"Shift", "x":0, "y":4, "w":2.25}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"x":3.75, "y":5, "w":6.75}, + {"label":"Alt", "x":10, "y":5, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5}] + }, + + "LAYOUT_iso": { + "key_count": 84, + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":1, "y":0}, + {"label":"F2", "x":2, "y":0}, + {"label":"F3", "x":3, "y":0}, + {"label":"F4", "x":4, "y":0}, + {"label":"F5", "x":5, "y":0}, + {"label":"F6", "x":6, "y":0}, + {"label":"F7", "x":7, "y":0}, + {"label":"F8", "x":8, "y":0}, + {"label":"F9", "x":9, "y":0}, + {"label":"F10", "x":10, "y":0}, + {"label":"F11", "x":11, "y":0}, + {"label":"F12", "x":12, "y":0}, + {"label":"PrtSc", "x":13, "y":0}, + {"label":"Pause", "x":14, "y":0}, + {"label":"Delete", "x":15, "y":0}, + {"label":"~", "x":0, "y":1}, + {"label":"1", "x":1, "y":1}, + {"label":"2", "x":2, "y":1}, + {"label":"3", "x":3, "y":1}, + {"label":"4", "x":4, "y":1}, + {"label":"5", "x":5, "y":1}, + {"label":"6", "x":6, "y":1}, + {"label":"7", "x":7, "y":1}, + {"label":"8", "x":8, "y":1}, + {"label":"9", "x":9, "y":1}, + {"label":"0", "x":10, "y":1}, + {"label":"_", "x":11, "y":1}, + {"label":"+", "x":12, "y":1}, + {"label":"delete", "x":13, "y":1, "w":2}, + {"label":"Home", "x":15, "y":1}, + {"label":"Tab", "x":0, "y":2, "w":1.5}, + {"label":"Q", "x":1.5, "y":2}, + {"label":"W", "x":2.5, "y":2}, + {"label":"E", "x":3.5, "y":2}, + {"label":"R", "x":4.5, "y":2}, + {"label":"T", "x":5.5, "y":2}, + {"label":"Y", "x":6.5, "y":2}, + {"label":"U", "x":7.5, "y":2}, + {"label":"I", "x":8.5, "y":2}, + {"label":"O", "x":9.5, "y":2}, + {"label":"P", "x":10.5, "y":2}, + {"label":"{", "x":11.5, "y":2}, + {"label":"}", "x":12.5, "y":2}, + {"label":"Enter", "x":13.75, "y":2, "KS":[ [0,0], [1.5,0], [1.5,2], [0.25,2], [0.25,1], [0,1], [0,0] ]}, + {"label":"Page Up", "x":15, "y":2}, + {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, + {"label":"A", "x":1.75, "y":3}, + {"label":"S", "x":2.75, "y":3}, + {"label":"D", "x":3.75, "y":3}, + {"label":"F", "x":4.75, "y":3}, + {"label":"G", "x":5.75, "y":3}, + {"label":"H", "x":6.75, "y":3}, + {"label":"J", "x":7.75, "y":3}, + {"label":"K", "x":8.75, "y":3}, + {"label":"L", "x":9.75, "y":3}, + {"label":":", "x":10.75, "y":3}, + {"label":"@", "x":11.75, "y":3}, + {"label":"~", "x":12.75, "y":3}, + {"label":"Page Down", "x":15, "y":3}, + {"label":"Shift", "x":0, "y":4, "w":1.25}, + {"x":1.25, "y":4}, + {"label":"Z", "x":2.25, "y":4}, + {"label":"X", "x":3.25, "y":4}, + {"label":"C", "x":4.25, "y":4}, + {"label":"V", "x":5.25, "y":4}, + {"label":"B", "x":6.25, "y":4}, + {"label":"N", "x":7.25, "y":4}, + {"label":"M", "x":8.25, "y":4}, + {"label":"<", "x":9.25, "y":4}, + {"label":">", "x":10.25, "y":4}, + {"label":"?", "x":11.25, "y":4}, + {"label":"Shift", "x":12.25, "y":4, "w":1.75}, + {"label":"\u2191", "x":14, "y":4}, + {"label":"End", "x":15, "y":4}, + {"label":"Ctrl", "x":0, "y":5, "w":1.25}, + {"label":"Win", "x":1.25, "y":5, "w":1.25}, + {"label":"Alt", "x":2.5, "y":5, "w":1.25}, + {"x":3.75, "y":5, "w":6.75}, + {"label":"Alt", "x":10, "y":5, "w":1.5}, + {"label":"Ctrl", "x":11.5, "y":5, "w":1.5}, + {"label":"\u2190", "x":13, "y":5}, + {"label":"\u2193", "x":14, "y":5}, + {"label":"\u2192", "x":15, "y":5}] } - } + } } diff --git a/keyboards/kbd75/kbd75.h b/keyboards/kbd75/kbd75.h index 3648a15bd85..fa1c1a00a52 100644 --- a/keyboards/kbd75/kbd75.h +++ b/keyboards/kbd75/kbd75.h @@ -4,7 +4,7 @@ #include "quantum.h" // LAYOUT for all possible switch positions on a KBD75 -#define KEYMAP_ALL( \ +#define LAYOUT( \ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \ K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \ @@ -20,4 +20,68 @@ { K500, K501, KC_NO, K503, K504, KC_NO, K506, KC_NO, K508, KC_NO, K510, K511, K512, K513, K514, K515 } \ } -#endif \ No newline at end of file +#define LAYOUT_ansi_1u( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \ + K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \ + K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \ + K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ + K500, K501, K503, K506, K510, K511, K512, K513, K514, K515 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \ + { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ + { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ + { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ + { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, K514, K515 } \ +} + +#define LAYOUT_iso_1u( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \ + K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \ + K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ + K500, K501, K503, K506, K510, K511, K512, K513, K514, K515 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \ + { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ + { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ + { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, K514, K515 } \ +} + +#define LAYOUT_ansi( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \ + K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \ + K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \ + K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ + K500, K501, K503, K506, K510, K512, K513, K514, K515 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \ + { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ + { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ + { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ + { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, KC_NO, K512, K513, K514, K515 } \ +} + +#define LAYOUT_iso( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \ + K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \ + K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \ + K500, K501, K503, K506, K510, K512, K513, K514, K515 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \ + { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ + { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \ + { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, KC_NO, K512, K513, K514, K515 } \ +} + +#endif diff --git a/keyboards/kbd75/keymaps/adit/keymap.c b/keyboards/kbd75/keymaps/adit/keymap.c index 8bcc15affc1..23bf34e8c40 100644 --- a/keyboards/kbd75/keymaps/adit/keymap.c +++ b/keyboards/kbd75/keymaps/adit/keymap.c @@ -1,8 +1,8 @@ -#include "kbd75.h" +#include QMK_KEYBOARD_H #define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - KEYMAP_ALL( + LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_DEL, 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_TRNS, KC_BSPC, KC_HOME, 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_PGUP, @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, LT(1,KC_END), KC_CAPS, KC_LALT, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_RGUI, KC_TRNS, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - KEYMAP_ALL( + LAYOUT( RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/kbd75/keymaps/default/keymap.c b/keyboards/kbd75/keymaps/default/keymap.c index 3c96dee0879..107962e7016 100644 --- a/keyboards/kbd75/keymaps/default/keymap.c +++ b/keyboards/kbd75/keymaps/default/keymap.c @@ -1,16 +1,16 @@ -#include "kbd75.h" +#include QMK_KEYBOARD_H #define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - KEYMAP_ALL( - LT(2, KC_ESC), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, MO(1), KC_DEL, + LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, MO(1), KC_DEL, 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_DEL, KC_BSPC, KC_HOME, 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_PGUP, 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_PGDN, KC_LSFT, MO(1), 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_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - KEYMAP_ALL( + LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - KEYMAP_ALL( + LAYOUT( KC_TRNS, M(1), M(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - KEYMAP_ALL( + LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - KEYMAP_ALL( + LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - KEYMAP_ALL( + LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - KEYMAP_ALL( + LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - KEYMAP_ALL( + LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - KEYMAP_ALL( + LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - KEYMAP_ALL( + LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - KEYMAP_ALL( + LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - KEYMAP_ALL( + LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - KEYMAP_ALL( + LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - KEYMAP_ALL( + LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -114,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - KEYMAP_ALL( + LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -122,7 +122,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - KEYMAP_ALL( + LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/kbd75/keymaps/iso/keymap.c b/keyboards/kbd75/keymaps/iso/keymap.c index 49d6ad71682..01aa35c6971 100644 --- a/keyboards/kbd75/keymaps/iso/keymap.c +++ b/keyboards/kbd75/keymaps/iso/keymap.c @@ -1,16 +1,16 @@ -#include "kbd75.h" +#include QMK_KEYBOARD_H #define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - KEYMAP_ALL( - LT(2, KC_ESC), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, MO(1), KC_DEL, + LAYOUT( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, MO(1), KC_DEL, 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_DEL, KC_BSPC, KC_HOME, 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_PGUP, 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_PGDN, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - KEYMAP_ALL( + LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -18,118 +18,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - KEYMAP_ALL( + LAYOUT( KC_TRNS, M(1), M(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - KEYMAP_ALL( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - KEYMAP_ALL( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - KEYMAP_ALL( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - KEYMAP_ALL( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - KEYMAP_ALL( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - KEYMAP_ALL( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - KEYMAP_ALL( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - KEYMAP_ALL( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - KEYMAP_ALL( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - KEYMAP_ALL( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - KEYMAP_ALL( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - KEYMAP_ALL( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - KEYMAP_ALL( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) - }; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { diff --git a/keyboards/kbd75/keymaps/smt/keymap.c b/keyboards/kbd75/keymaps/smt/keymap.c index 1a549e59ec9..a29a7e8a9fa 100644 --- a/keyboards/kbd75/keymaps/smt/keymap.c +++ b/keyboards/kbd75/keymaps/smt/keymap.c @@ -1,4 +1,4 @@ -#include "kbd75.h" +#include QMK_KEYBOARD_H #define _QWERTY 0 #define _COLEMAK 1 @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* 0: ANSI qwerty */ - [_QWERTY] = KEYMAP_ALL( + [_QWERTY] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_PAUS, KC_DEL, \ 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_BSLS, KC_INS, KC_HOME, \ 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, KC_PGUP, \ @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* 1: ANSI colemak */ - [_COLEMAK] = KEYMAP_ALL( + [_COLEMAK] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_PAUS, KC_DEL, \ 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_BSLS, KC_INS, KC_HOME, \ 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, KC_PGUP, \ @@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* 2: ANSI dvorak */ - [_DVORAK] = KEYMAP_ALL( + [_DVORAK] = LAYOUT( KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_PAUS, KC_DEL, \ KC_GRV, 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_INS, KC_HOME, \ 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, KC_PGUP, \ @@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* 3: ANSI Fn layer */ - [_FL] = KEYMAP_ALL( + [_FL] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ @@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ /* 4: ANSI control layer */ - [_CL] = KEYMAP_ALL( + [_CL] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, \ _______, _______, _______, _______, RESET, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, RGB_VAI, \ diff --git a/keyboards/niu_mini/info.json b/keyboards/niu_mini/info.json new file mode 100644 index 00000000000..1ff16a91c83 --- /dev/null +++ b/keyboards/niu_mini/info.json @@ -0,0 +1,16 @@ +{ + "keyboard_name": "NIU Mini", + "url": "", + "maintainer": "qmk", + "width": 12, + "height": 4, + "layouts": { + "LAYOUT_ortho_4x12": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}] + }, + + "LAYOUT_mit": { + "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3, "w":2}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}] + } + } +} \ No newline at end of file diff --git a/keyboards/niu_mini/keymaps/default/keymap.c b/keyboards/niu_mini/keymaps/default/keymap.c index a0bfef73f56..39aa01090a6 100644 --- a/keyboards/niu_mini/keymaps/default/keymap.c +++ b/keyboards/niu_mini/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -#include "niu_mini.h" +#include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/niu_mini/keymaps/mason/keymap.c b/keyboards/niu_mini/keymaps/mason/keymap.c index 3d05bf7b023..c6185f7ec77 100644 --- a/keyboards/niu_mini/keymaps/mason/keymap.c +++ b/keyboards/niu_mini/keymaps/mason/keymap.c @@ -1,4 +1,4 @@ -#include "niu_mini.h" +#include QMK_KEYBOARD_H enum layers { _QWERTY, diff --git a/keyboards/niu_mini/keymaps/planck/keymap.c b/keyboards/niu_mini/keymaps/planck/keymap.c index a4ffad9c952..b4661bfd2d3 100644 --- a/keyboards/niu_mini/keymaps/planck/keymap.c +++ b/keyboards/niu_mini/keymaps/planck/keymap.c @@ -14,7 +14,7 @@ * along with this program. If not, see . */ -#include "niu_mini.h" +#include QMK_KEYBOARD_H #include "action_layer.h" extern keymap_config_t keymap_config; diff --git a/keyboards/niu_mini/niu_mini.h b/keyboards/niu_mini/niu_mini.h index 88c5af11b09..2dd707ede62 100644 --- a/keyboards/niu_mini/niu_mini.h +++ b/keyboards/niu_mini/niu_mini.h @@ -10,10 +10,10 @@ k30, k31, k32, k33, k34, k35, k37, k38, k39, k3a, k3b \ ) \ { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ - { k30, k31, k32, k33, k34, k35, k35, k37, k38, k39, k3a, k3b } \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ + { k30, k31, k32, k33, k34, k35, KC_NO, k37, k38, k39, k3a, k3b } \ } #define LAYOUT_grid( \ diff --git a/keyboards/orthodox/keymaps/drashna/README.md b/keyboards/orthodox/keymaps/drashna/README.md index c6116177470..6c208d2c886 100644 --- a/keyboards/orthodox/keymaps/drashna/README.md +++ b/keyboards/orthodox/keymaps/drashna/README.md @@ -21,6 +21,4 @@ All layers have RGB specific indicators, so you can see what layer you're on by Orthodox Specific Code ---------------------- -Left side is designed to have RGB underglow and Faux Clicking enabled, while the right has Audio enabled. - -The make commend ensures that the correct settings are retained. +Shift, Control and Alt all light up a specific RGB LED for a certain color, based on it's status, adding a visual indicator of OSMs or regular mods are held down. diff --git a/keyboards/orthodox/keymaps/drashna/config.h b/keyboards/orthodox/keymaps/drashna/config.h index f8a85039423..1c3620616ce 100644 --- a/keyboards/orthodox/keymaps/drashna/config.h +++ b/keyboards/orthodox/keymaps/drashna/config.h @@ -59,8 +59,10 @@ along with this program. If not, see . #ifdef AUDIO_ENABLE #define C6_AUDIO +#ifdef RGBLIGHT_ENABLE #define NO_MUSIC_MODE -#endif +#endif //RGBLIGHT_ENABLE +#endif //AUDIO_ENABLE #undef PRODUCT #ifdef KEYBOARD_orthodox_rev1 @@ -69,4 +71,9 @@ along with this program. If not, see . #define PRODUCT Drashna Hacked Orthodox Rev.3 #endif +#define QMK_ESC_OUTPUT D7 // usually COL +#define QMK_ESC_INPUT D4 // usually ROW +#define QMK_LED B0 +#define QMK_SPEAKER C6 + #endif diff --git a/keyboards/orthodox/keymaps/drashna/keymap.c b/keyboards/orthodox/keymaps/drashna/keymap.c index ed5f32b9871..fd10faa5ee4 100644 --- a/keyboards/orthodox/keymaps/drashna/keymap.c +++ b/keyboards/orthodox/keymaps/drashna/keymap.c @@ -32,7 +32,6 @@ along with this program. If not, see . #define _______ KC_TRNS #define XXXXXXX KC_NO -#define MG_NKRO MAGIC_TOGGLE_NKRO const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -67,21 +66,85 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_LOWER] = LAYOUT(\ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PGUP, KC_PGDN, KC_HOME, KC_END, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, _______, _______ + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, _______, _______ ), [_RAISE] = LAYOUT(\ - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_GRV, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_BSPC, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, KC_HOME, KC_END, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COMM, KC_DOT, _______, _______ ), [_ADJUST] = LAYOUT(\ KC_MAKE,KC_RESET, EPRM, _______, _______, _______, _______, _______, _______, _______, _______, _______, - RGB_SMOD,RGB_HUI, CK_TOGG, AUD_ON, AUD_OFF, AG_NORM, _______, _______, _______, _______, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, TG(_MODS), + RGB_SMOD,RGB_HUI, CK_TOGG, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, _______, AG_SWAP, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, TG(_MODS), KC_RGB_T,RGB_HUD, MU_ON, MU_OFF, MU_TOG, MU_MOD, _______, _______, _______, _______, _______, _______, MG_NKRO, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY ) }; +#ifdef RGBLIGHT_ENABLE +uint32_t layer_state_set_keymap (uint32_t state) { + uint8_t modifiders = get_mods(); + uint8_t led_usb_state = host_keyboard_leds(); + uint8_t one_shot = get_oneshot_mods(); + + + if (modifiders & MODS_SHIFT_MASK || led_usb_state & (1< +Copyright 2015 Jack Humbert +Copyright 2017 Art Ortenburger + +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_USER_H +#define CONFIG_USER_H + +#include "config_common.h" + +/* Use I2C or Serial, not both */ + +// #define USE_SERIAL +#define USE_I2C + +/* Select hand configuration */ + +// #define MASTER_LEFT +// #define MASTER_RIGHT +// #define EE_HANDS + +#define TAPPING_TERM 200 +#define TAPPING_TOGGLE 3 + +#endif diff --git a/keyboards/orthodox/keymaps/oscillope/keymap.c b/keyboards/orthodox/keymaps/oscillope/keymap.c new file mode 100644 index 00000000000..28fea02c4d4 --- /dev/null +++ b/keyboards/orthodox/keymaps/oscillope/keymap.c @@ -0,0 +1,101 @@ +/* +This is the keymap for the keyboard + +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert +Copyright 2017 Art Ortenburger + +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 "orthodox.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. +#define _QWERTY 0 +#define _LOWER 1 +#define _RAISE 2 +#define _NAV 3 + +enum custom_keycodes { + QWERTY = SAFE_RANGE, + LOWER, + RAISE, + NAV, + CC_ARRW, + CC_PRN, + CC_BRC, + CC_CBR, +}; + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +#define NAV_TAP LT(_NAV, KC_SPC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = KEYMAP( \ + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, \ + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, TT(_RAISE), TT(_LOWER), TT(_LOWER), TT(_RAISE), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, \ + KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_BSPC, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, NAV_TAP, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT \ + ), + + [_LOWER] = KEYMAP( \ + 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, _______, _______, CC_PRN, CC_BRC, CC_CBR, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, \ + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU \ + ), + + [_RAISE] = KEYMAP( \ + KC_CAPS, KC_AMPR, KC_ASTR, KC_UNDS, KC_LPRN, KC_RPRN, KC_7, KC_8, KC_9, KC_EQL, _______, _______, \ + _______, KC_DLR, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, _______, _______, _______, _______, KC_4, KC_5, KC_6, KC_MINS, KC_PLUS, _______, \ + CC_ARRW, KC_EXLM, KC_AT, KC_HASH, KC_LCBR, KC_RCBR, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_DOT, KC_BSLS, KC_PIPE \ + ), + + [_NAV] = KEYMAP( \ + _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, \ + _______, _______, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + ) + + +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + switch(keycode) { + case CC_ARRW: + SEND_STRING("->"); + return false; + case CC_PRN: + SEND_STRING("()"SS_TAP(X_LEFT)); + return false; + case CC_BRC: + SEND_STRING("[]"SS_TAP(X_LEFT)); + return false; + case CC_CBR: + SEND_STRING("{}"SS_TAP(X_LEFT)); + return false; + } + } + return true; +} diff --git a/keyboards/orthodox/keymaps/oscillope/rules.mk b/keyboards/orthodox/keymaps/oscillope/rules.mk new file mode 100644 index 00000000000..fb77881d96d --- /dev/null +++ b/keyboards/orthodox/keymaps/oscillope/rules.mk @@ -0,0 +1,3 @@ +SUBPROJECT_rev1 = no +COMMAND_ENABLE = no +MOUSEKEY_ENABLE = no diff --git a/keyboards/pearl/keymaps/cijanzen/README.md b/keyboards/pearl/keymaps/cijanzen/README.md new file mode 100644 index 00000000000..745442955fa --- /dev/null +++ b/keyboards/pearl/keymaps/cijanzen/README.md @@ -0,0 +1,29 @@ +# cijanzen's Pearl 40% + +## Layout + +The firmware offers five layers: + +1. Base layer +2. Numbers and arrows (Fn1) +3. F-row and navigation (Fn2) +4. Media and RGB controls (Fn3) +5. Utils (Fn2+Fn3) + +A few specifics worth mentioning: +- Autoshift has been enabled to allow for easier access of shifted keys +- Tab will operate as tab key on tap and fn layer on hold +- Indicator LEDs indicate the current layer + + +![cijanzen's Pearl 40% layout](https://raw.githubusercontent.com/christopherjanzen/qmk_firmware/bab090ee24866e6c38892ffc5ffa53813aec3832/keyboards/pearl/keymaps/cijanzen/pearl-cijanzen-keymap.jpg) + +Base for this firmware copied from jetpacktuxedo's and rask's QMK firmware + +--- + +## Compiling and flashing + +To compile and flash the HEX follow the [Pearl 40% instructions](https://gist.github.com/clee/a43f198a70de0e6dae22d7638b41440a). + +You might need to check the comments at the bottom of the gist as well. diff --git a/keyboards/pearl/keymaps/cijanzen/config.h b/keyboards/pearl/keymaps/cijanzen/config.h new file mode 100644 index 00000000000..b34fdad90a0 --- /dev/null +++ b/keyboards/pearl/keymaps/cijanzen/config.h @@ -0,0 +1,27 @@ +/* +Copyright 2017 Luiz Ribeiro + +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_USER_H +#define CONFIG_USER_H + +#include QMK_KEYBOARD_CONFIG_H + +#undef BACKLIGHT_LEVELS +#define BACKLIGHT_LEVELS 3 + + +#endif diff --git a/keyboards/pearl/keymaps/cijanzen/keymap.c b/keyboards/pearl/keymaps/cijanzen/keymap.c new file mode 100644 index 00000000000..896e157fd63 --- /dev/null +++ b/keyboards/pearl/keymaps/cijanzen/keymap.c @@ -0,0 +1,77 @@ +#include QMK_KEYBOARD_H + +#define ____ KC_TRNS +// Tab on tap or Function layer 1 on hold +#define FN_TAB LT(1, KC_TAB) +#define KC_SLP KC_SYSTEM_SLEEP + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // BASE LAYER + [0] = LAYOUT_all( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, + FN_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, MO(2), + KC_LCTL, KC_LALT, KC_LGUI, KC_BSPC, KC_BSPC, KC_SPC, MO(3), MO(1) + ), + // BASE LAYER TWO (Fn1) + [1] = LAYOUT_all( + 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_UP, KC_QUOT, KC_BSLS, + ____, ____, ____, ____, ____, ____, ____, ____, KC_LEFT, KC_DOWN, KC_RGHT, KC_RSFT, + ____, ____, ____, KC_DEL, KC_DEL, ____, KC_RGUI, ____ + ), + // FROW LAYER AND ARROWS (Fn2) + [2] = LAYOUT_all( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_PGUP, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____, KC_HOME, KC_PGDN, KC_END, ____, + MO(4), ____, ____, ____, ____, ____, ____, ____ + ), + // MEDIA AND RGB (Fn3) + [3] = LAYOUT_all( + ____, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL, + ____, ____, ____, RGB_HUI, RGB_SAI, RGB_VAI, ____, ____, ____, ____, ____, ____, + ____, RGB_MOD, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, BL_TOGG, BL_STEP, ____, ____, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____ + ), + // UTIL (Fn1+Fn3) + [4] = LAYOUT_all( + KC_SLP, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, KC_PSCR, RESET, + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, + ____, ____, ____, ____, ____, ____, ____, ____ + ), +}; + +/** + * Status LED layer indicators courtesy of jetpacktuxedo's firmware + */ +uint32_t layer_state_set_kb(uint32_t state) +{ + if (state & (1<<1)) { // if we are on layer 1 + PORTD |= (1 << PD0); // light num lock led + } else if (state & (1<<2)) { // if we are on layer 2 + + if (state & (1<<4)) { + PORTD |= (1 << PD0); // light all indicator leds + PORTD |= (1 << PD1); + PORTD |= (1 << PD6); + } else { + PORTD &= ~(1 << PD0); + PORTD |= (1 << PD1); // light caps lock led + PORTD &= ~(1 << PD6); + } + } else if (state & (1<<3)) { // if we are on layer 3 + PORTD |= (1 << PD6); // light scroll lock led + } else if (state & (1<<4)) { // if we are stuck on layer 4 + PORTD |= (1 << PD0); // light all indicator leds + PORTD |= (1 << PD1); + PORTD |= (1 << PD6); + } else { + PORTD &= ~(1 << PD0); + PORTD &= ~(1 << PD1); + PORTD &= ~(1 << PD6); + } + + return state; +} diff --git a/keyboards/pearl/keymaps/cijanzen/pearl-cijanzen-keymap.jpg b/keyboards/pearl/keymaps/cijanzen/pearl-cijanzen-keymap.jpg new file mode 100644 index 00000000000..60e5c474640 Binary files /dev/null and b/keyboards/pearl/keymaps/cijanzen/pearl-cijanzen-keymap.jpg differ diff --git a/keyboards/pearl/keymaps/cijanzen/rules.mk b/keyboards/pearl/keymaps/cijanzen/rules.mk new file mode 100644 index 00000000000..863b9419ad6 --- /dev/null +++ b/keyboards/pearl/keymaps/cijanzen/rules.mk @@ -0,0 +1,11 @@ +# build options +BOOTMAGIC_ENABLE = yes +MOUSEKEY_ENABLE = no +EXTRAKEY_ENABLE = yes +CONSOLE_ENABLE = no +COMMAND_ENABLE = yes +BACKLIGHT_ENABLE = yes +RGBLIGHT_ENABLE = yes +RGBLIGHT_CUSTOM_DRIVER = yes +# TAP_DANCE_ENABLE = yes +AUTO_SHIFT_ENABLE = yes diff --git a/keyboards/planck/keymaps/ajp10304/keymap.c b/keyboards/planck/keymaps/ajp10304/keymap.c index 02ba8fff766..10c0307330a 100644 --- a/keyboards/planck/keymaps/ajp10304/keymap.c +++ b/keyboards/planck/keymaps/ajp10304/keymap.c @@ -14,6 +14,8 @@ enum planck_layers { _MRSE, _FUNC, _MFNC, + _FUNC2, + _MFNC2, _ADJUST, _MOUSE }; @@ -23,6 +25,8 @@ enum planck_keycodes { MAC, FUNC, MFNC, + FUNC2, + MFNC2, LOWER, MLWR, RAISE, @@ -47,14 +51,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------|------+------+------+------+------+------| * | Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn | + * | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 | * `-----------------------------------------------------------------------------------' */ [_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 }, {MT(MOD_LSFT, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, KC_ENT) }, {KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT }, - {MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LSHIFT, KC_BTN2, KC_RCTL, MO(_FUNC) } + {MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LSHIFT, KC_BTN2, KC_RCTL, MO(_FUNC2) } }, /* Function @@ -117,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+-------------+------+------+------+------+------| * | CAPS | | | | | PLAY1| PLAY2| Mute | Vol+ | Play | | | * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | | STOP | STOP | Prev | Vol- | Next | | | + * | PC/MC| | | | | STOP | STOP | Prev | Vol- | Next | | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' @@ -147,32 +151,57 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ } }, -[_MAC]= { +/* Function 2 (Right hand side) + * ,-----------------------------------------------------------------------------------. + * | | |WRDSEL| | | | LNDEL| | | | | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | LNSEL| DUP | | | | |LNJOIN| | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | UNDO | CUT | COPY | PASTE| | | | | | | MODE | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_FUNC2] = { + {_______, _______, M(1), _______, _______, _______, M(5), _______, _______, _______, _______, _______}, + {_______, _______, M(3), M(7), _______, _______, _______, M(10), _______, _______, _______, _______}, + {_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, _______, _______, _______, _______, M(98) }, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} +}, + +[_MAC] = { {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, - {_______, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, _______} + {MFNC, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, MFNC2 } }, [_MLWR] = { - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, - {_______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______}, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} }, [_MRSE] = { - {_______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ }, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_EQL) }, - {_______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) }, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ } + {_______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ }, + {_______, _______, _______, _______, _______, _______, _______, LCTL(KC_A), _______, LCTL(KC_E), _______, LGUI(KC_EQL) }, + {_______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) }, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ } }, [_MFNC]= { - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) }, - {_______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ } + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) }, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ } +}, + +[_MFNC2] = { + {_______, _______, M(2), _______, _______, _______, M(6), _______, _______, _______, _______, _______}, + {_______, _______, M(4), M(8), _______, _______, _______, M(10), _______, _______, _______, _______}, + {_______, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), _______, _______, _______, _______, _______, _______, M(99) }, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, }, }; @@ -243,6 +272,15 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { layer_off(_MFNC); } return false; + case MFNC2: + if (record->event.pressed) { + layer_on(_FUNC2); + layer_on(_MFNC2); + } else { + layer_off(_FUNC2); + layer_off(_MFNC2); + } + return false; } return true; } @@ -262,6 +300,48 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t keycode, uint8_t op case 2: // Word Select Mac SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_RIGHT) SS_DOWN(X_LSHIFT) SS_TAP(X_LEFT) SS_UP(X_LSHIFT) SS_UP(X_LALT)); return false; + + case 3: // Line Select + SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT)); + return false; + + case 4: // Line Select Mac + SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT)); + return false; + + case 5: // Line Delete + SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT)); + SEND_STRING(SS_TAP(X_BSPACE)); + return false; + + case 6: // Line Delete Mac + SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT)); + SEND_STRING(SS_TAP(X_BSPACE)); + return false; + + case 7: // Duplicate Selection + SEND_STRING(SS_LCTRL("c") SS_TAP(X_RIGHT) SS_LCTRL("v")); + return false; + + case 8: // Duplicate Selection Mac + SEND_STRING(SS_LGUI("c") SS_TAP(X_RIGHT) SS_LGUI("v")); + return false; + + case 9: // Join line + SEND_STRING(SS_TAP(X_END) SS_TAP(X_DELETE)); + return false; + + case 10: // Join line Mac + SEND_STRING(SS_LCTRL("e") SS_TAP(X_DELETE)); + return false; + + case 98: // Print mode + SEND_STRING("PC"); + return false; + + case 99: // Print mode + SEND_STRING("OSX"); + return false; } } return MACRO_NONE; diff --git a/keyboards/planck/keymaps/ajp10304/readme.md b/keyboards/planck/keymaps/ajp10304/readme.md index 3f92d76383a..8bf49028585 100644 --- a/keyboards/planck/keymaps/ajp10304/readme.md +++ b/keyboards/planck/keymaps/ajp10304/readme.md @@ -17,7 +17,7 @@ the second is the output when shift is applied. | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | | Tab | A | S | D | F | G | H | J | K | L | ;: | Enter| | Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft | -| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn | +| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 | ##### Function Layer Activated when `fn` held in the above `qwerty` layer. @@ -27,7 +27,7 @@ Activated when `fn` held in the above `qwerty` layer. | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT| | Shift | \| | `¬ | #~ | * | -_ | =+ | \| | [{ | ]} | '@ |Shift | -| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn | +| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn2 | ##### Lower Layer Activated when `Lower` is held in the above `qwerty` layer. @@ -65,25 +65,40 @@ Activated when `Lower` and `Raise` are held together in the above `qwerty` layer * ????: Runs a macro for outputting a text string. Do not use this store passwords. * Reset: Enter bootloader for flashing firmware to the keyboard. * CAPS: Toggle caps lock. +* Macro functions: Allows recording of macros. To start recording the macro, press either REC1 or REC2. +To finish the recording, press STOP. To replay the macro, press either PLAY1 or PLAY2. * MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER, -MRSE with RAISE and MFNC with FUNC respectively. -* REC1, REC2: Start recording macro. -* PLAY1, PLAY2: Playback macro. -* STOP1, STOP2: Stop recording macro. +MRSE with RAISE, MFNC with FUNC and MFNC2 with FUNC2 respectively. | | | | | | | | | | | | | | :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| | ???? | Reset|Qwerty| | | REC1 | REC2 | | | | | Del | -| CAPS | | | | | PLAY1| PLAY | Mute | Vol+ | Play | | | -| MAC | | | | | STOP | STOP | Prev | Vol- | Next | | | -| | | | | | | | | | | | | - -##### Mouse -Activated when `fn` and `Raise` are held together. +| CAPS | | | | | PLAY1|PLAY2 | Mute | Vol+ | Play | | | +| MAC | | | | | STOP1|STOP2 | Prev | Vol- | Next | | | +| | | | | | | | | DYN | | | | -| | | | | | | | | | | | | -| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:| -| | | | | | | | | | | | | -| ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | | -| ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN |RIGHT | | | -| | | | | | | | | | | | | +##### Function 2 Layer +Activated when `fn` held in the above `qwerty` layer. +* WRDSEL: Select the word where the cursor is. +* LNDEL: Delete the line where the cursor is. +* LNSEL: Select the line where the cursor is. +* DUP: Duplicate the selected text. +* LNJOIN: Join the line where the cursor is with the following line. +* MODE: Print either `PC` or `OSX` depending on what layer mode is active. + +| | | | | | | | | | | | | +| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| +| | |WRDSEL| | | | LNDEL| | | | | | +| | | LNSEL| DUP | | | | |LNJOIN| | | | +| | UNDO | CUT | COPY | PASTE| | | | | | | MODE | +| | | | | | | | | | | | | + +##### Mouse Layer +Activated when `fn` and `raise` held together. + +| | | | | | | | | | | | | +| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| +| ESC | | | | | | | | | | | | +| ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | | +| ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN | RIGHT| | | +| | | | | | | | | | | | | diff --git a/keyboards/planck/keymaps/altgr/beakl.h b/keyboards/planck/keymaps/altgr/beakl.h new file mode 100644 index 00000000000..a684a6c43db --- /dev/null +++ b/keyboards/planck/keymaps/altgr/beakl.h @@ -0,0 +1,612 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// .................................................................... BEAKL EZ +#ifdef BEAKLEZ + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | K | ^Alt | ^GUI | F | G | R | C | V | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | A | " | ↑Alt | ↑GUI | L | S | T | N | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | ; | , | J | . | X | Caps |^Shift| B | D | M | P | Z | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_K, CNTR_TL, CNTR_TR, KC_F, KC_G, KC_R, KC_C, KC_V }, + {KC_H, KC_I, KC_E, HOME_A, TD_QUOT, CNTR_HL, CNTR_HR, KC_L, KC_S, KC_T, KC_N, KC_W }, + {KC_SCLN, KC_COMM, KC_J, KC_DOT, KC_X, CNTR_BL, CNTR_BR, KC_B, KC_D, KC_M, KC_P, KC_Z }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_K), CNTR_TL, CNTR_TR, S(KC_F), S(KC_G), S(KC_R), S(KC_C), S(KC_V)}, + {S(KC_H), S(KC_I), S(KC_E), S(KC_A), TD_QUOT, CNTR_HL, CNTR_HR, S(KC_L), S(KC_S), S(KC_T), S(KC_N), S(KC_W)}, + {KC_SCLN, KC_COMM, S(KC_J), KC_DOT, S(KC_X), CNTR_BL, CNTR_BR, S(KC_B), S(KC_D), S(KC_M), S(KC_P), S(KC_Z)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | K | ^Alt | ^GUI | F | G | R | C | V | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | A | " | ↑Alt | ↑GUI | L | S | T | N | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | : | ~ | J | ` | X | Caps |^Shift| B | D | M | P | Z | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_K), CNTR_TL, CNTR_TR, S(KC_F), S(KC_G), S(KC_R), S(KC_C), S(KC_V)}, + {S(KC_H), S(KC_I), S(KC_E), S(KC_A), TD_DQOT, CNTR_HL, CNTR_HR, S(KC_L), S(KC_S), S(KC_T), S(KC_N), S(KC_W)}, + {TD_COLN, TD_TILD, S(KC_J), TD_GRV, S(KC_X), CNTR_BL, CNTR_BR, S(KC_B), S(KC_D), S(KC_M), S(KC_P), S(KC_Z)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | K | ^Alt | ^GUI | F | G | R | C | V | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | A | " | ↑Alt | ↑GUI | L | S | T | N | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | : | / | J | ? | X | Caps |^Shift| B | D | M | P | Z | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_K), CNTR_TL, CNTR_TR, S(KC_F), S(KC_G), S(KC_R), S(KC_C), S(KC_V)}, + {S(KC_H), S(KC_I), S(KC_E), S(KC_A), TD_DQOT, CNTR_HL, CNTR_HR, S(KC_L), S(KC_S), S(KC_T), S(KC_N), S(KC_W)}, + {TD_COLN, KC_SLSH, S(KC_J), KC_QUES, S(KC_X), CNTR_BL, CNTR_BR, S(KC_B), S(KC_D), S(KC_M), S(KC_P), S(KC_Z)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// ..................................................................... BEAKL 8 +#ifdef BEAKL8 + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | X | ^Alt | ^GUI | G | C | R | F | Z | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | . | ↑Alt | ↑GUI | D | S | T | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | I | , | Caps |^Shift| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_X, CNTR_TL, CNTR_TR, KC_G, KC_C, KC_R, KC_F, KC_Z }, + {KC_K, KC_H, KC_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_D, KC_S, KC_T, KC_N, KC_B }, + {KC_J, KC_SCLN, TD_QUOT, KC_I, KC_COMM, CNTR_BL, CNTR_BR, KC_W, KC_M, KC_L, KC_P, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_X), CNTR_TL, CNTR_TR, S(KC_G), S(KC_C), S(KC_R), S(KC_F), S(KC_Z)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_D), S(KC_S), S(KC_T), S(KC_N), S(KC_B)}, + {S(KC_J), KC_SCLN, TD_QUOT, S(KC_I), KC_COMM, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | X | ^Alt | ^GUI | G | C | R | F | Z | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ~ | ↑Alt | ↑GUI | D | S | T | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | I | ` | Caps |^Shift| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_X), CNTR_TL, CNTR_TR, S(KC_G), S(KC_C), S(KC_R), S(KC_F), S(KC_Z)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), TD_TILD, CNTR_HL, CNTR_HR, S(KC_D), S(KC_S), S(KC_T), S(KC_N), S(KC_B)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_I), TD_GRV, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | X | ^Alt | ^GUI | G | C | R | F | Z | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ? | ↑Alt | ↑GUI | D | S | T | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | I | / | Caps |^Shift| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_X), CNTR_TL, CNTR_TR, S(KC_G), S(KC_C), S(KC_R), S(KC_F), S(KC_Z)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, S(KC_D), S(KC_S), S(KC_T), S(KC_N), S(KC_B)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_I), KC_SLSH, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// .................................................................... BEAKL 8P +#ifdef BEAKL8P + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | ^Alt | ^GUI | G | D | R | F | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | . | ↑Alt | ↑GUI | C | T | S | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | I | , | Caps |^Shift| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_Z, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_R, KC_F, KC_X }, + {KC_K, KC_H, KC_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, KC_T, KC_S, KC_N, KC_B }, + {KC_J, KC_SCLN, TD_QUOT, KC_I, KC_COMM, CNTR_BL, CNTR_BR, KC_W, KC_M, KC_L, KC_P, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_R), S(KC_F), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_S), S(KC_N), S(KC_B)}, + {S(KC_J), KC_SCLN, TD_QUOT, S(KC_I), KC_COMM, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | { | } | $ | ^Alt | ^GUI | G | D | R | F | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | < | > | ~ | ↑Alt | ↑GUI | C | T | S | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | ! | = | ` | Caps |^Shift| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_Y), KC_LCBR, KC_RCBR, KC_DLR, CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_R), S(KC_F), S(KC_X)}, + {S(KC_K), S(KC_H), TD_LT, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_S), S(KC_N), S(KC_B)}, + {S(KC_J), KC_COLN, KC_EXLM, KC_EQL, TD_GRV, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | ^Alt | ^GUI | ^ | [ | ] | F | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ? | ↑Alt | ↑GUI | | | ( | ) | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | I | / | Caps |^Shift| \ | $ | * | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, KC_CIRC, KC_LBRC, KC_RBRC, S(KC_F), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, S(KC_N), S(KC_B)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_I), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_DLR, KC_ASTR, S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// ................................................................... BEAKL 8TX +#ifdef BEAKL8TX + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | J | ^Alt | ^GUI | G | D | R | F | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | . | ↑Alt | ↑GUI | C | T | S | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | ; | " | I | , | Caps |^Shift| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_J, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_R, KC_F, KC_X }, + {HOME_K, HOME_H, HOME_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, HOME_T, HOME_S, HOME_N, HOME_B }, + {KC_Z, KC_SCLN, TD_QUOT, KC_I, KC_COMM, CNTR_BL, CNTR_BR, KC_W, KC_M, KC_L, KC_P, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_J), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_R), S(KC_F), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_S), S(KC_N), S(KC_B)}, + {S(KC_Z), KC_SCLN, TD_QUOT, S(KC_I), KC_COMM, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | $ | { | } | J | ^Alt | ^GUI | G | D | R | F | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | / | < | > | ~ | ↑Alt | ↑GUI | C | T | S | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | : | ! | = | ` | Caps |^Shift| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), KC_DLR, KC_LCBR, KC_RCBR, S(KC_J), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_R), S(KC_F), S(KC_X)}, + {S(KC_K), KC_SLSH, TD_LT, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_S), S(KC_N), S(KC_B)}, + {S(KC_Z), KC_COLN, KC_EXLM, KC_EQL, TD_GRV, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | J | ^Alt | ^GUI | G | [ | ] | ^ | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ? | ↑Alt | ↑GUI | | | ( | ) | $ | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | : | " | I | / | Caps |^Shift| \ | * | . | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_J), CNTR_TL, CNTR_TR, S(KC_G), KC_LBRC, KC_RBRC, KC_CIRC, S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, S(KC_B)}, + {S(KC_Z), TD_COLN, TD_DQOT, S(KC_I), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_ASTR, KC_DOT, S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// ................................................................... BEAKL 8TT +#ifdef BEAKL8TT + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | J | Fn | Caps | G | D | R | F | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | . |Cursor| Mouse| C | T | S | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | ; | " | I | , | Num | Regex| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_J, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_R, KC_F, KC_X }, + {HOME_K, HOME_H, HOME_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, HOME_T, HOME_S, HOME_N, HOME_B }, + {KC_Z, KC_SCLN, TD_QUOT, KC_I, KC_COMM, CNTR_BL, CNTR_BR, KC_W, KC_M, KC_L, KC_P, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_J), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_R), S(KC_F), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_S), S(KC_N), S(KC_B)}, + {S(KC_Z), KC_SCLN, TD_QUOT, S(KC_I), KC_COMM, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | $ | { | } | J | Fn | Caps | G | D | R | F | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | / | < | > | ~ |Cursor| Mouse| C | T | S | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | : | ! | = | ` | Num | Regex| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), KC_DLR, KC_LCBR, KC_RCBR, S(KC_J), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_R), S(KC_F), S(KC_X)}, + {S(KC_K), KC_SLSH, TD_LT, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_S), S(KC_N), S(KC_B)}, + {S(KC_Z), KC_COLN, KC_EXLM, KC_EQL, TD_GRV, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | J | Fn | Caps | G | [ | ] | ^ | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ? |Cursor| Mouse| | | ( | ) | $ | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | : | " | I | / | Num | Regex| \ | * | . | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_J), CNTR_TL, CNTR_TR, S(KC_G), KC_LBRC, KC_RBRC, KC_CIRC, S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, S(KC_B)}, + {S(KC_Z), TD_COLN, TD_DQOT, S(KC_I), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_ASTR, KC_DOT, S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// .................................................................... BEAKL 10 +#ifdef BEAKL10 + // ,-----------------------------------------------------------------------------------. + // | Q | H | O | U | X | ^Alt | ^GUI | G | D | N | M | V | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | Y | I | E | A | . | ↑Alt | ↑GUI | C | S | R | T | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | , | Z | Caps |^Shift| B | P | L | F | K | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_H, KC_O, KC_U, KC_X, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_N, KC_M, KC_V }, + {KC_Y, KC_I, KC_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, KC_S, KC_R, KC_T, KC_W }, + {KC_J, KC_SCLN, TD_QUOT, KC_COMM, KC_Z, CNTR_BL, CNTR_BR, KC_B, KC_P, KC_L, KC_F, KC_K }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_H), S(KC_O), S(KC_U), S(KC_X), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_V)}, + {S(KC_Y), S(KC_I), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_S), S(KC_R), S(KC_T), S(KC_W)}, + {S(KC_J), KC_SCLN, TD_QUOT, KC_COMM, S(KC_Z), CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_K)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | [ | ! | ] | X | ^Alt | ^GUI | G | D | N | M | V | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | Y | < | = | > | ~ | ↑Alt | ↑GUI | C | S | R | T | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | ` | Z | Caps |^Shift| B | P | L | F | K | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), TD_LBRC, KC_EXLM, TD_RBRC, S(KC_X), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_V)}, + {S(KC_Y), TD_LT, KC_EQL, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_S), S(KC_R), S(KC_T), S(KC_W)}, + {S(KC_J), KC_COLN, TD_DQOT, TD_GRV, S(KC_Z), CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_K)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | H | O | U | X | ^Alt | ^GUI | G | { | + | } | V | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | Y | I | E | A | ? | ↑Alt | ↑GUI | C | ( | * | ) | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | / | Z | Caps |^Shift| B | P | L | F | K | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_H), S(KC_O), S(KC_U), S(KC_X), CNTR_TL, CNTR_TR, S(KC_G), TD_LCBR, KC_PLUS, TD_RCBR, S(KC_V)}, + {S(KC_Y), S(KC_I), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, S(KC_C), TD_LPRN, KC_ASTR, TD_RPRN, S(KC_W)}, + {S(KC_J), TD_COLN, TD_DQOT, KC_SLSH, S(KC_Z), CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_K)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// ............................................................... BEAKL Mash Up +#ifdef BEAKL810 + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | ^Alt | ^GUI | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | . | ↑Alt | ↑GUI | C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | I | , | Caps |^Shift| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_Z, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_N, KC_M, KC_X }, + {KC_K, KC_H, KC_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, KC_T, KC_R, KC_S, KC_W }, + {KC_J, KC_SCLN, TD_QUOT, KC_I, KC_COMM, CNTR_BL, CNTR_BR, KC_B, KC_P, KC_L, KC_F, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), KC_SCLN, TD_QUOT, S(KC_I), KC_COMM, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | { | } | $ | ^Alt | ^GUI | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | < | > | ~ | ↑Alt | ↑GUI | C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | ! | = | ` | Caps |^Shift| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_Y), KC_LCBR, KC_RCBR, KC_DLR, CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_K), S(KC_H), TD_LT, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), KC_COLN, KC_EXLM, KC_EQL, TD_GRV, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | ^Alt | ^GUI | ^ | [ | ] | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ? | ↑Alt | ↑GUI | | | ( | ) | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | I | / | Caps |^Shift| \ | $ | * | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, KC_CIRC, KC_LBRC, KC_RBRC, S(KC_M), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, S(KC_S), S(KC_W)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_I), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_DLR, KC_ASTR, S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// .................................................................... BEAKL MU +#ifdef BEAKLMU + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Fn | Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | . |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | I | , | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_Z, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_N, KC_M, KC_X }, + {HOME_K, HOME_H, HOME_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, HOME_T, HOME_R, HOME_S, HOME_W }, + {KC_J, KC_SCLN, TD_QUOT, KC_I, KC_COMM, CNTR_BL, CNTR_BR, KC_B, KC_P, KC_L, KC_F, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), KC_SCLN, TD_QUOT, S(KC_I), KC_COMM, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | $ | { | } | Z | Fn | Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | / | < | > | ~ |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | ! | = | ` | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), KC_DLR, KC_LCBR, KC_RCBR, S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_K), KC_SLSH, TD_LT, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_Z), KC_COLN, KC_EXLM, KC_EQL, TD_GRV, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Fn | Caps | G | [ | ] | ^ | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ? |Cursor| Mouse| | | ( | ) | $ | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | I | / | Num | Regex| \ | * | . | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), KC_LBRC, KC_RBRC, KC_CIRC, S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, S(KC_W)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_I), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_ASTR, KC_DOT, S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// .................................................................... BEAKL SP +#ifdef BEAKLSP + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Shift| Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | . |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | I | , | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Ins | Left | Ent | Bksp | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_Z, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_N, KC_M, KC_X }, + {HOME_K, HOME_H, HOME_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, HOME_T, HOME_R, HOME_S, HOME_W }, + {KC_J, KC_SCLN, TD_QUOT, KC_I, KC_COMM, CNTR_BL, CNTR_BR, KC_B, KC_P, KC_L, KC_F, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_INS, SP_LEFT, TD_ENT, SP_BSPC, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), KC_SCLN, TD_QUOT, S(KC_I), KC_COMM, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_INS, SP_LEFT, TD_ENT, SP_BSPC, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | [ | ] | Z | Shift| Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | ^ | < | > | ~ |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | ! | = | ` | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | ↑Tab | f() | Ins | Left | _ | Del | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_Y), KC_LBRC, KC_RBRC, S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_K), KC_CIRC, TD_LT, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_Z), KC_COLN, KC_EXLM, KC_EQL, TD_GRV, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, S_TAB, ___fn__, LT_INS, S_LEFT, KC_UNDS, SP_DEL, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Shift| Caps | G | { | } | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ? |Cursor| Mouse| | | ( | ) | $ | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | I | / | Num | Regex| \ | * | . | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Tab | - | Ins | Left | f() | Bksp | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), KC_LCBR, KC_RCBR, S(KC_M), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, S(KC_W)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_I), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_ASTR, KC_DOT, S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_TAB, KC_MINS, LT_INS, S_LEFT, ___fn__, SP_BSPC, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// .................................................................... BEAKL GR +#ifdef BEAKLGR + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Shift| Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | . |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | I | , | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Ins | Left | Ent | Bksp | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_Z, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_N, KC_M, KC_X }, + {HOME_K, HOME_H, HOME_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, HOME_T, HOME_R, HOME_S, HOME_W }, + {KC_J, KC_SCLN, TD_QUOT, KC_I, KC_COMM, CNTR_BL, CNTR_BR, KC_B, KC_P, KC_L, KC_F, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_INS, SP_LEFT, TD_ENT, SP_BSPC, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), KC_SCLN, TD_QUOT, S(KC_I), KC_COMM, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_INS, SP_LEFT, TD_ENT, SP_BSPC, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | [ | ] | Z | Shift| Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | ^ | < | > | ~ |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | ! | = | ` | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | ↑Tab | f() | Ins | Left | _ | Del | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_Y), KC_LBRC, KC_RBRC, S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {SM_K, KC_CIRC, TD_LT, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_Z), KC_COLN, KC_EXLM, KC_EQL, TD_GRV, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, S_TAB, ___fn__, LT_INS, S_LEFT, KC_UNDS, SP_DEL, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Shift| Caps | G | { | } | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ? |Cursor| Mouse| | | ( | ) | $ | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | I | / | Num | Regex| \ | * | . | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Tab | - | Ins | Left | f() | Bksp | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), KC_LCBR, KC_RCBR, S(KC_M), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, SM_W }, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_I), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_ASTR, KC_DOT, S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_TAB, KC_MINS, LT_INS, S_LEFT, ___fn__, SP_BSPC, S_DOWN, S_UP, S_RGHT }, + }, +#endif diff --git a/keyboards/planck/keymaps/altgr/colemak.h b/keyboards/planck/keymaps/altgr/colemak.h new file mode 100644 index 00000000000..8810ba82a5b --- /dev/null +++ b/keyboards/planck/keymaps/altgr/colemak.h @@ -0,0 +1,124 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// .............................................................. Colemak Mod-DH +#ifdef COLEMAK + // ,-----------------------------------------------------------------------------------. + // | Q | W | F | P | B | ^Alt | ^GUI | J | L | U | Y | ; | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | R | S | T | G | ↑Alt | ↑GUI | M | N | E | I | O | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | X | C | D | V | Caps |^Shift| K | H | , | . | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_W, KC_F, KC_P, KC_B, CNTR_TL, CNTR_TR, KC_J, KC_L, KC_U, KC_Y, KC_SCLN}, + {KC_A, KC_R, KC_S, KC_T, KC_G, CNTR_HL, CNTR_HR, KC_M, KC_N, KC_E, KC_I, KC_O }, + {KC_Z, KC_X, KC_C, KC_D, KC_V, CNTR_BL, CNTR_BR, KC_K, KC_H, KC_COMM, KC_DOT, TD_QUOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_W), S(KC_F), S(KC_P), S(KC_B), CNTR_TL, CNTR_TR, S(KC_J), S(KC_L), S(KC_U), S(KC_Y), KC_SCLN}, + {S(KC_A), S(KC_R), S(KC_S), S(KC_T), S(KC_G), CNTR_HL, CNTR_HR, S(KC_M), S(KC_N), S(KC_E), S(KC_I), S(KC_O)}, + {S(KC_Z), S(KC_X), S(KC_C), S(KC_D), S(KC_V), CNTR_BL, CNTR_BR, S(KC_K), S(KC_H), KC_COMM, KC_DOT, TD_QUOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | W | F | P | B | ^Alt | ^GUI | J | L | U | Y | : | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | R | S | T | G | ↑Alt | ↑GUI | M | N | E | I | O | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | X | C | D | V | Caps |^Shift| K | H | / | ? | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | - | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_W), S(KC_F), S(KC_P), S(KC_B), CNTR_TL, CNTR_TR, S(KC_J), S(KC_L), S(KC_U), S(KC_Y), TD_COLN}, + {S(KC_A), S(KC_R), S(KC_S), S(KC_T), S(KC_G), CNTR_HL, CNTR_HR, S(KC_M), S(KC_N), S(KC_E), S(KC_I), S(KC_O)}, + {S(KC_Z), S(KC_X), S(KC_C), S(KC_D), S(KC_V), CNTR_BL, CNTR_BR, S(KC_K), S(KC_H), KC_SLSH, KC_QUES, TD_DQOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_MINS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | W | F | P | B | ^Alt | ^GUI | J | L | U | Y | : | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | R | S | T | G | ↑Alt | ↑GUI | M | N | E | I | O | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | X | C | D | V | Caps |^Shift| K | H | ~ | ` | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | _ | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_W), S(KC_F), S(KC_P), S(KC_B), CNTR_TL, CNTR_TR, S(KC_J), S(KC_L), S(KC_U), S(KC_Y), TD_COLN}, + {S(KC_A), S(KC_R), S(KC_S), S(KC_T), S(KC_G), CNTR_HL, CNTR_HR, S(KC_M), S(KC_N), S(KC_E), S(KC_I), S(KC_O)}, + {S(KC_Z), S(KC_X), S(KC_C), S(KC_D), S(KC_V), CNTR_BL, CNTR_BR, S(KC_K), S(KC_H), TD_TILD, TD_GRV, TD_DQOT}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_UNDS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// ..................................................................... ColemaX +#ifdef COLEMAX + // ,-----------------------------------------------------------------------------------. + // | Q | W | C | G | Z | ^Alt | ^GUI | J | L | U | Y | ; | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | R | S | T | B | ↑Alt | ↑GUI | K | N | E | I | O | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | X | V | F | D | P | Caps |^Shift| M | H | , | . | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_W, KC_C, KC_G, KC_Z, CNTR_TL, CNTR_TR, KC_J, KC_L, KC_U, KC_Y, KC_SCLN}, + {KC_A, KC_R, KC_S, KC_T, KC_B, CNTR_HL, CNTR_HR, KC_K, KC_N, KC_E, KC_I, KC_O }, + {KC_X, KC_V, KC_F, KC_D, KC_P, CNTR_BL, CNTR_BR, KC_M, KC_H, KC_COMM, KC_DOT, TD_QUOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_W), S(KC_C), S(KC_G), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_J), S(KC_L), S(KC_U), S(KC_Y), KC_SCLN}, + {S(KC_A), S(KC_R), S(KC_S), S(KC_T), S(KC_B), CNTR_HL, CNTR_HR, S(KC_K), S(KC_N), S(KC_E), S(KC_I), S(KC_O)}, + {S(KC_X), S(KC_V), S(KC_F), S(KC_D), S(KC_P), CNTR_BL, CNTR_BR, S(KC_M), S(KC_H), KC_COMM, KC_DOT, TD_QUOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | W | C | G | Z | ^Alt | ^GUI | J | L | U | Y | : | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | R | S | T | B | ↑Alt | ↑GUI | K | N | E | I | O | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | X | V | F | D | P | Caps |^Shift| M | H | / | ? | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | - | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_W), S(KC_C), S(KC_G), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_J), S(KC_L), S(KC_U), S(KC_Y), TD_COLN}, + {S(KC_A), S(KC_R), S(KC_S), S(KC_T), S(KC_B), CNTR_HL, CNTR_HR, S(KC_K), S(KC_N), S(KC_E), S(KC_I), S(KC_O)}, + {S(KC_X), S(KC_V), S(KC_F), S(KC_D), S(KC_P), CNTR_BL, CNTR_BR, S(KC_M), S(KC_H), KC_SLSH, KC_QUES, TD_DQOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_MINS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | W | C | G | Z | ^Alt | ^GUI | J | L | U | Y | : | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | R | S | T | B | ↑Alt | ↑GUI | K | N | E | I | O | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | X | V | F | D | P | Caps |^Shift| M | H | ~ | ` | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | _ | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_W), S(KC_C), S(KC_G), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_J), S(KC_L), S(KC_U), S(KC_Y), TD_COLN}, + {S(KC_A), S(KC_R), S(KC_S), S(KC_T), S(KC_B), CNTR_HL, CNTR_HR, S(KC_K), S(KC_N), S(KC_E), S(KC_I), S(KC_O)}, + {S(KC_X), S(KC_V), S(KC_F), S(KC_D), S(KC_P), CNTR_BL, CNTR_BR, S(KC_M), S(KC_H), TD_TILD, TD_GRV, TD_DQOT}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_UNDS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif diff --git a/keyboards/planck/keymaps/altgr/common/chord_layout.h b/keyboards/planck/keymaps/altgr/common/chord_layout.h new file mode 100644 index 00000000000..2c785d56ca7 --- /dev/null +++ b/keyboards/planck/keymaps/altgr/common/chord_layout.h @@ -0,0 +1,41 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// .................................................................. Short Cuts + + // .-----------------------------------------------------------------------------------. + // | | | Copy | Paste| | | | | | | | | + // |--------------------------------------------------------------+------+------+------| + // | Undo | Cut | Copy | Paste| | | | | PRIV | PUB | | | + // |-----------------------------------------------------------------------------------| + // | | | Nak | Eot | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | | | | | f() | | | | | | + // | | | | | | | | f() | | | | | see _PLOVER + // '-----------------------------------------------------------------------------------' + + [_EDIT] = { + {_______, _______, TMCOPY, TMPASTE, _______, _______, _______, _______, _______, _______, _______, _______}, + {UNDO, CUT, COPY, PASTE, _______, _______, _______, _______, TD_PRIV, TD_SEND, _______, _______}, + {_______, _______, NAK, EOT, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, ___fn__, ___fn__, _______, _______, _______, _______}, + }, + +// ................................................................ Adjust Layer + + // ,-----------------------------------------------------------------------------------. + // |Plover| | | | | | | | | | | | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // |Aud on| | | | | | | | | | | | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Reset| | | | | | | | | | | | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | | | f() | | | | | f() | | | | + // `-----------------------------------------------------------------------------------' + + [_ADJUST] = { + {PLOVER, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {AU_ON, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, ___fn__, _______, _______, _______, _______, ___fn__, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/altgr/common/init.h b/keyboards/planck/keymaps/altgr/common/init.h new file mode 100644 index 00000000000..6366a19f65e --- /dev/null +++ b/keyboards/planck/keymaps/altgr/common/init.h @@ -0,0 +1,56 @@ + +// ....................................................................... Audio + +void matrix_init_user(void) +{ +#ifdef STENO_ENABLE + steno_set_mode(STENO_MODE_BOLT); // or STENO_MODE_GEMINI +#endif +#ifdef AUDIO_ENABLE + startup_user(); +#endif +} + +#ifdef AUDIO_ENABLE +#ifdef BACKLIGHT_ENABLE +void led_set_user(uint8_t usb_led) +{ + static uint8_t old_usb_led = 0; + _delay_ms(10); // gets rid of tick + if (!is_playing_notes()) { + if ((usb_led & (1<event.pressed) { + key_timer = timer_read(); + register_code(modifier); + if (modifier2) { + register_code(modifier2); + } + } + else { + unregister_code(modifier); + if (modifier2) { + unregister_code(modifier2); + } + if (timer_elapsed(key_timer) < TAPPING_TERM) { + shift_key(keycode); + } + key_timer = 0; + } +} + +// ................................................................... Mod Masks + +// tap dance persistant mods, see process_record_user() +// keyboard_report->mods (?) appears to be cleared by tap dance +static uint8_t mods = 0; + +void tap_mods(keyrecord_t *record, uint16_t keycode) +{ + if (record->event.pressed) { + mods |= MOD_BIT(keycode); + } + else { + mods &= ~(MOD_BIT(keycode)); + } +} + +// (un)register modifiers +void modifier(void (*f)(uint8_t)) +{ + if (mods & MOD_BIT(KC_LCTL)) { + (*f)(KC_LCTL); + } + if (mods & MOD_BIT(KC_LGUI)) { + (*f)(KC_LGUI); + } + if (mods & MOD_BIT(KC_LALT)) { + (*f)(KC_LALT); + } +} + +// .................................................... Triple Dance Shift/Layer + +static uint8_t dt_shift = 0; + +void double_shift(uint16_t keycode, uint8_t layer) +{ + tap_key (keycode); + if (DT_SHIFT) { + // set_oneshot_mods(MOD_LSFT); + // layer_on(layer); + layer_on (_SHIFT); + set_oneshot_layer(_SHIFT, ONESHOT_START); + dt_shift = 1; + } + else { + layer_on(layer); + } +} + +// tap dance LT (LAYER, KEY) emulation with -> and auto-repeat extensions! +void tap_shift(qk_tap_dance_state_t *state, uint16_t keycode, uint8_t layer) +{ + // double tap plus down + if (state->count > 2) { + // double enter shift + if (keycode == KC_ENT) { + tap_key (keycode); + double_shift(keycode, layer); + } + // repeating keycode + else { + register_code(keycode); + } + } + // tap plus down (or double tap): keycode (one shot) shift + else if (state->count > 1) { + double_shift(keycode, layer); + } + // down: shift + else if (state->pressed) { + layer_on(layer); + } + // tap: keycode + else { + modifier(register_code); + tap_key (keycode); + modifier(unregister_code); + } +} + +void tap_reset(uint16_t keycode, uint8_t layer) +{ + unregister_code(keycode); + if (DT_SHIFT && dt_shift) { + clear_oneshot_layer_state(ONESHOT_PRESSED); + dt_shift = 0; + } + else { + layer_off(layer); + } +} + +// augment pseudo LT (_RSHIFT, KC_ENT) handling below for rapid sequences +void enter(qk_tap_dance_state_t *state, void *user_data) +{ + tap_shift(state, KC_ENT, _RSHIFT); +} + +void enter_reset(qk_tap_dance_state_t *state, void *user_data) +{ + tap_reset(KC_ENT, _RSHIFT); +} + +// augment pseudo LT (_LSHIFT, KC_SPC) handling below for rapid sequences +void space(qk_tap_dance_state_t *state, void *user_data) +{ + tap_shift(state, KC_SPC, _LSHIFT); +} + +void space_reset(qk_tap_dance_state_t *state, void *user_data) +{ + tap_reset(KC_SPC, _LSHIFT); +} + +// ......................................................... Triple Dance Insert + +void double_max(uint8_t count, uint8_t shift, uint16_t keycode) +{ + if (shift) { + shift_key(keycode); + if (count > 1) { + shift_key(keycode); + } + } + else { + tap_key(keycode); + if (count > 1) { + tap_key(keycode); + } + } +} + +void colon(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key (KC_SPC); + shift_key(KC_SCLN); + shift_key(KC_SCLN); + tap_key (KC_SPC); + } + else { + double_max(state->count, SHIFT, KC_SCLN); + } + reset_tap_dance(state); +} + +void eql(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key(KC_SPC); + tap_key(KC_SLSH); + tap_key(KC_EQL); + tap_key(KC_SPC); + } + else { + double_max(state->count, NOSHIFT, KC_EQL); + } + reset_tap_dance(state); +} + +void greater(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key (KC_SPC); + tap_key (KC_MINS); + shift_key(KC_DOT); + tap_key (KC_SPC); + } + else { + double_max(state->count, SHIFT, KC_DOT); + } + reset_tap_dance(state); +} + +void lesser(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key (KC_SPC); + shift_key(KC_COMM); + tap_key (KC_MINS); + tap_key (KC_SPC); + } + else { + double_max(state->count, SHIFT, KC_COMM); + } + reset_tap_dance(state); +} + +void tilde(qk_tap_dance_state_t *state, void *user_data) +{ + // double tap plus down: repeating keycode + if (state->count > 2) { + register_code(KC_LSFT); + register_code(KC_GRV); + } + // tap: keycode + else { + shift_key(KC_GRV); + // double tap: unix home directory + if (state->count > 1) { + tap_key(KC_SLSH); + } + } +} + +void tilde_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_GRV); + unregister_code(KC_LSFT); +} + +// ............................................................. Tap Dance Pairs + +// tap dance shift rules +#define S_NEVER 0 +#define S_SINGLE 1 +#define S_DOUBLE 2 +#define S_ALWAYS S_SINGLE | S_DOUBLE + +void symbol_pair(uint8_t shift, uint16_t left, uint16_t right) +{ + if (shift & S_DOUBLE) { + shift_key(left); + shift_key(right); + } + else { + tap_key(left); + tap_key(right); + } +} + +#define CLOSE 1 + +// tap dance symbol pairs +void tap_pair(qk_tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_t right, uint16_t modifier, uint8_t close) +{ + // triple tap: left right with cursor between symbol pair a la vim :-) + if (state->count > 2) { + symbol_pair(shift, left, right); + tap_key (KC_LEFT); + } + // double tap: left right + else if (state->count > 1) { + symbol_pair(shift, left, right); + } + // down: modifier + else if (state->pressed) { + if (modifier) { + register_code(modifier); + } + } + // tap: left (close: right) + else { + if (shift & S_SINGLE) { + shift_key(close ? right : left); + } + else { + tap_key(close ? right : left); + } + } + if (!modifier) { + reset_tap_dance(state); + } +} + +void doublequote(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_QUOT, KC_QUOT, 0, 0); +} + +void grave(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_GRV, KC_GRV, 0, 0); +} + +void lbrace(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, 0); +} + +void lcurly(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, 0); +} + +void lparen(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_9, KC_0, KC_LCTL, 0); +} + +void lparen_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_LCTL); +} + +void quote(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_QUOT, KC_QUOT, 0, 0); +} + +void rangle(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_COMM, KC_DOT, 0, CLOSE); +} + +void rbrace(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, CLOSE); +} + +void rcurly(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, CLOSE); +} + +void rparen(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_9, KC_0, 0, CLOSE); +} + +void rparen_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_LCTL); +} + +// ............................................................ Tap Dance Insert + +void comma(qk_tap_dance_state_t *state, void *user_data) +{ + tap_key(KC_COMM); + if (state->count > 1) { + tap_key(KC_SPC); + } + reset_tap_dance(state); +} + +void dot(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { + shift_key(KC_COLN); + } + else { + tap_key(KC_DOT); + } + reset_tap_dance(state); +} + +// compile time macro string, see functions/hardware planck script +void private(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { +#ifdef PRIVATE_STRING +#include "private_string.h" +#endif + } + reset_tap_dance(state); +} + +// config.h defined string +void send(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { + SEND_STRING(PUBLIC_STRING); + } + reset_tap_dance(state); +} + +// .......................................................... Tap Dance One Shot + +void caps(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { + tap_key(KC_CAPS); + } + else { + set_oneshot_mods(MOD_LSFT); + register_code (KC_LSFT); // on hold down + } +} + +void caps_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_LSFT); +} + +// ................................................................... Tap Dance + +qk_tap_dance_action_t tap_dance_actions[] = { + [_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, caps, caps_reset) + ,[_COLN] = ACTION_TAP_DANCE_FN (colon) + ,[_COMM] = ACTION_TAP_DANCE_FN (comma) + ,[_DOT] = ACTION_TAP_DANCE_FN (dot) + ,[_DQOT] = ACTION_TAP_DANCE_FN (doublequote) + ,[_ENT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, enter, enter_reset) + ,[_EQL] = ACTION_TAP_DANCE_FN (eql) + ,[_GRV] = ACTION_TAP_DANCE_FN (grave) + ,[_GT] = ACTION_TAP_DANCE_FN (greater) + ,[_LBRC] = ACTION_TAP_DANCE_FN (lbrace) + ,[_LCBR] = ACTION_TAP_DANCE_FN (lcurly) + ,[_LPRN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lparen, lparen_reset) + ,[_LT] = ACTION_TAP_DANCE_FN (lesser) + ,[_PRIV] = ACTION_TAP_DANCE_FN (private) + ,[_QUOT] = ACTION_TAP_DANCE_FN (quote) + ,[_RBRC] = ACTION_TAP_DANCE_FN (rbrace) + ,[_RCBR] = ACTION_TAP_DANCE_FN (rcurly) + ,[_RNGL] = ACTION_TAP_DANCE_FN (rangle) + ,[_RPRN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rparen, rparen_reset) + ,[_SEND] = ACTION_TAP_DANCE_FN (send) + ,[_SPC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, space, space_reset) + ,[_TILD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tilde, tilde_reset) +}; + +// .............................................................. Dynamic Layers + +#define LEFT 1 +#define RIGHT 2 +static uint8_t thumb = 0; + +// LEFT (KC_SPC, S(KC_BSLS)), RIGHT (KC_LEFT, S(KC_LEFT)) opposite thumb combinations, see process_record_user() +// up, up -> _BASE +// up, down -> _SYMBOL +// down, up -> _NUMBER +// down, down -> _MOUSE // see layer keycodes that raise mouse layer +#define THUMBS_DOWN _MOUSE // layer + +static uint8_t overlayer = 0; + +// left right thumb layer combinations +void thumb_layer(keyrecord_t *record, uint8_t side, uint8_t shift, uint16_t keycode, uint8_t thumb_dn_layer, uint8_t thumb_up_layer) +{ + if (record->event.pressed) { + // layer_on via tap_layer(), see process_record_user() + key_timer = timer_read(); + thumb = thumb | side; + } + else { + layer_off(thumb_dn_layer); + // opposite thumb_layer() thumb may have switched effective layer! + if (overlayer) { + layer_off(overlayer); + overlayer = 0; + } + if (!key_press(shift, keycode)) { + layer_off(THUMBS_DOWN); // both thumbs needed + // opposite thumb down? see left right combination layer table above + if (thumb & (side == LEFT ? RIGHT : LEFT)) { + layer_on(thumb_up_layer); + overlayer = thumb_up_layer; + } + } + clear_mods(); + thumb = thumb & ~side; + key_timer = 0; + } +} + +// #ifdef STENO_ENABLE +// // LT for steno keycode +// void stn_layer(keyrecord_t *record, uint16_t keycode, uint8_t layer) +// { +// if (record->event.pressed) { +// key_timer = timer_read(); +// if (keycode) { +// process_steno(keycode, record); +// } +// layer_on(layer); +// } +// else { +// layer_off(layer); +// if (keycode) { +// if (timer_elapsed(key_timer) < TAPPING_TERM) { +// process_steno(keycode, record); +// } +// else { +// // clear pressed state (request push of updated) process_steno.c and .h +// // steno_clear_state(); +// } +// } +// key_timer = 0; +// } +// } +// #endif + +// LT for S(keycode) +void lt_shift(keyrecord_t *record, uint16_t keycode, uint8_t layer) +{ + if (record->event.pressed) { + key_timer = timer_read(); + layer_on(layer); + } + else { + layer_off(layer); + // for shifted keycodes, hence, LT_SHIFT + key_press(SHIFT, keycode); + clear_mods(); + key_timer = 0; + } +} + +// set layer asap to overcome macro latency errors, notably tap dance and LT usage +// this routine inexplicably (?) sets layer_on() faster than can be done in thumb_layer() +void tap_layer(keyrecord_t *record, uint8_t layer) +{ + if (record->event.pressed) { + layer_on(layer); + } + else { + layer_off(layer); + } +} + +// ..................................................................... Keymaps + +// void persistant_default_layer_set(uint16_t default_layer) +// { +// eeconfig_update_default_layer(default_layer); +// default_layer_set (default_layer); +// } + +void clear_layers(void) +{ + uint8_t layer; + for (layer = 0; layer < _END_LAYERS; layer++) { + layer_off(layer); + } +} + +#ifdef CENTER_TT +static uint16_t tt_keycode = 0; // current TT keycode + +void clear_tt(void) +{ + if (tt_keycode == KC_CAPS) { + tap_key(KC_CAPS); // clear capslock + } + tt_keycode = 0; + clear_layers(); + set_single_persistent_default_layer(_BASE); +} +#endif + +// txbolt plover run state +static uint8_t plover = 0; + +void toggle_plover(uint8_t state) +{ + if (plover != state) { +#ifdef PLOVER_KEYBIND +#include "plover_keybind.h" +#endif + plover = state; + } +} + +void base_layer(void) +{ +#ifdef AUDIO_ENABLE + if (plover) { + PLAY_SONG(song_plover_gb); + } + else { + PLAY_SONG(song_qwerty); + } +#endif + clear_layers(); + set_single_persistent_default_layer(_BASE); + toggle_plover(0); +} + +void steno(keyrecord_t *record) +{ + if (record->event.pressed) { +#ifdef AUDIO_ENABLE + PLAY_SONG(song_plover); +#endif + clear_layers(); + layer_on(_PLOVER); + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + keymap_config.raw = eeconfig_read_keymap(); + keymap_config.nkro = 1; + eeconfig_update_keymap(keymap_config.raw); + if (!plover) { + toggle_plover(1); + } + } +} + +void steno_exit(keyrecord_t *record) +{ + if (record->event.pressed) { + base_layer(); + toggle_plover(0); + } +} diff --git a/keyboards/planck/keymaps/altgr/common/number_fkey_layout.h b/keyboards/planck/keymaps/altgr/common/number_fkey_layout.h new file mode 100644 index 00000000000..528020e7417 --- /dev/null +++ b/keyboards/planck/keymaps/altgr/common/number_fkey_layout.h @@ -0,0 +1,86 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ......................................................... Number Keypad Layer +#ifdef SHIFT_SYMBOLS + // .-----------------------------------------------------------------------------------. + // | | F | E | D | | | | / | 7 | 8 | 9 | * | + // |-----------------------------------------------------------------------------------| + // | GUI | C | B | A | | | | . | 4 | 5 | 6 | - | + // |-----------------------------------------------------------------------------------| + // | | # | G | \ | | | | , | 1 | 2 | 3 | + | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | 0 | = | | | | + // | | | | f() | | | | = | 0 | | | | + // '-----------------------------------------------------------------------------------' + + [_NUMBER] = { + {_______, KC_F, MT_E, KC_D, _______, ___x___, ___x___, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR}, + {OS_GUI, GT_C, AT_B, ST_A, _______, ___x___, ___x___, TD_DOT, KC_4, KC_5, KC_6, KC_MINS}, + {_______, KC_HASH, SM_G, KC_BSLS, _______, ___x___, ___x___, TD_COMM, KC_1, KC_2, KC_3, KC_PLUS}, +#ifdef THUMB_0 + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_0, LT_EQL, ___x___, ___x___, ___x___}, +#else + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_EQL, LT_0, ___x___, ___x___, ___x___}, +#endif + }, +#else + // .-----------------------------------------------------------------------------------. + // | | F | E | D | | | | / | 7 | 8 | 9 | * | + // |-----------------------------------------------------------------------------------| + // | GUI | C | B | A | | | | . | 4 | 5 | 6 | - | + // |-----------------------------------------------------------------------------------| + // | | # | X | G | | | | , | 1 | 2 | 3 | + | + // |-----------------------------------------------------------------------------------| + // | | f() | | 0 | = | | + // | | f() | | = | 0 | | + // '-----------------------------------------------------------------------------------' + + [_NUMBER] = { + {_______, KC_F, MT_E, KC_D, _______, _______, _______, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR}, + {OS_GUI, GT_C, AT_B, LT_A, _______, _______, _______, KC_DOT, KC_4, KC_5, KC_6, KC_MINS}, + {_______, KC_HASH, MT_X, S(KC_G), _______, _______, _______, TD_COMM, KC_1, KC_2, KC_3, KC_PLUS}, +#ifdef THUMB_0 + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_0, LT_EQL, ___x___, ___x___, ___x___}, +#else + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_EQL, LT_0, ___x___, ___x___, ___x___}, +#endif + }, + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | { | & | ? | : | } | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | ( | $ | % | ^ | ) | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | [ | < | ~ | > | ] | + // |-----------------------------------------------------------------------------------| + // | | f() | | \ | | | | + // '-----------------------------------------------------------------------------------' + + [_NUMSYM] = { + {_______, _______, _______, ___x___, _______, _______, _______, TD_LCBR, KC_AMPR, KC_QUES, KC_COLN, KC_RCBR}, + {___x___, ___x___, ___x___, ___fn__, _______, _______, _______, TD_LPRN, KC_DLR, KC_PERC, KC_CIRC, KC_RPRN}, + {_______, _______, _______, ___x___, _______, _______, _______, TD_LBRC, KC_LT, KC_TILD, KC_GT, KC_RBRC}, + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_BSLS, KC_PIPE, ___x___, ___x___, ___x___}, + }, +#endif + +// ............ .................................................. Function Keys + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | F7 | F8 | F9 | F12 | + // |-----------------------------------------------------------------------------------| + // | Ctrl | GUI | Alt | Shift| | | | | F4 | F5 | F6 | F11 | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | F1 | F2 | F3 | F10 | + // |-----------------------------------------------------------------------------------| + // | | | | | | f() | | + | | | | | + // | | | | | f() | | | + | | | | | see _PLOVER + // '-----------------------------------------------------------------------------------' + + [_FNCKEY] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F7, KC_F8, KC_F9, KC_F12 }, + {OS_GUI, OS_CTL, OS_ALT, OS_SFT, _______, ___x___, ___x___, _______, KC_F4, KC_F5, KC_F6, KC_F11 }, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F1, KC_F2, KC_F3, KC_F10 }, + {_______, _______, _______, _______, ___fn__, ___fn__, _______, KC_PLUS, _______, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/altgr/common/number_fkey_layout.save.h b/keyboards/planck/keymaps/altgr/common/number_fkey_layout.save.h new file mode 100644 index 00000000000..7022863724e --- /dev/null +++ b/keyboards/planck/keymaps/altgr/common/number_fkey_layout.save.h @@ -0,0 +1,86 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ......................................................... Number Keypad Layer +#ifdef SHIFT_SYMBOLS + // .-----------------------------------------------------------------------------------. + // | | F | E | D | | | | / | 7 | 8 | 9 | * | + // |-----------------------------------------------------------------------------------| + // | Ctrl | C | B | A | | | | . | 4 | 5 | 6 | - | + // |-----------------------------------------------------------------------------------| + // | | # | G | \ | | | | , | 1 | 2 | 3 | + | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | 0 | = | | | | + // | | | | f() | | | | = | 0 | | | | + // '-----------------------------------------------------------------------------------' + + [_NUMBER] = { + {_______, KC_F, MT_E, KC_D, _______, ___x___, ___x___, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR}, + {OS_CTL, GT_C, AT_B, ST_A, _______, ___x___, ___x___, TD_DOT, KC_4, KC_5, KC_6, KC_MINS}, + {_______, KC_HASH, SM_G, KC_BSLS, _______, ___x___, ___x___, TD_COMM, KC_1, KC_2, KC_3, KC_PLUS}, +#ifdef THUMB_0 + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_0, LT_EQL, ___x___, ___x___, ___x___}, +#else + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_EQL, LT_0, ___x___, ___x___, ___x___}, +#endif + }, +#else + // .-----------------------------------------------------------------------------------. + // | | F | E | D | | | | / | 7 | 8 | 9 | * | + // |-----------------------------------------------------------------------------------| + // | Ctrl | C | B | A | | | | . | 4 | 5 | 6 | - | + // |-----------------------------------------------------------------------------------| + // | | # | X | G | | | | , | 1 | 2 | 3 | + | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | 0 | = | | | | + // | | | | f() | | | | = | 0 | | | | + // '-----------------------------------------------------------------------------------' + + [_NUMBER] = { + {_______, KC_F, MT_E, KC_D, _______, _______, _______, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR}, + {OS_CTL, GT_C, AT_B, LT_A, _______, _______, _______, KC_DOT, KC_4, KC_5, KC_6, KC_MINS}, + {_______, KC_HASH, MT_X, S(KC_G), _______, _______, _______, TD_COMM, KC_1, KC_2, KC_3, KC_PLUS}, +#ifdef THUMB_0 + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_0, LT_EQL, ___x___, ___x___, ___x___}, +#else + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_EQL, LT_0, ___x___, ___x___, ___x___}, +#endif + }, + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | { | & | ? | : | } | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | ( | $ | % | ^ | ) | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | [ | < | ~ | > | ] | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | \ | | | | | | + // '-----------------------------------------------------------------------------------' + + [_NUMSYM] = { + {_______, _______, _______, ___x___, _______, _______, _______, TD_LCBR, KC_AMPR, KC_QUES, KC_COLN, KC_RCBR}, + {___x___, ___x___, ___x___, ___fn__, _______, _______, _______, TD_LPRN, KC_DLR, KC_PERC, KC_CIRC, KC_RPRN}, + {_______, _______, _______, ___x___, _______, _______, _______, TD_LBRC, KC_LT, KC_TILD, KC_GT, KC_RBRC}, + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_BSLS, KC_PIPE, ___x___, ___x___, ___x___}, + }, +#endif + +// ............ .................................................. Function Keys + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | F7 | F8 | F9 | F12 | + // |-----------------------------------------------------------------------------------| + // | Ctrl | GUI | Alt | Shift| | | | | F4 | F5 | F6 | F11 | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | F1 | F2 | F3 | F10 | + // |-----------------------------------------------------------------------------------| + // | | | | | | f() | | + | | | | | + // | | | | | f() | | | + | | | | | see _PLOVER + // '-----------------------------------------------------------------------------------' + + [_FNCKEY] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F7, KC_F8, KC_F9, KC_F12 }, + {OS_CTL, OS_GUI, OS_ALT, OS_SFT, _______, ___x___, ___x___, _______, KC_F4, KC_F5, KC_F6, KC_F11 }, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F1, KC_F2, KC_F3, KC_F10 }, + {_______, _______, _______, _______, ___fn__, ___fn__, _______, KC_PLUS, _______, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/altgr/common/plover_keybind.h b/keyboards/planck/keymaps/altgr/common/plover_keybind.h new file mode 100644 index 00000000000..cb4ef92ef84 --- /dev/null +++ b/keyboards/planck/keymaps/altgr/common/plover_keybind.h @@ -0,0 +1,9 @@ + +// simple window manager specific plover keybind hook + +// toggle plover application, see herbstluftwm/config/appbinds +register_code (KC_LGUI); +register_code (KC_LCTL); +tap_key (KC_EQL); +unregister_code(KC_LCTL); +unregister_code(KC_LGUI); diff --git a/keyboards/planck/keymaps/altgr/common/sounds.h b/keyboards/planck/keymaps/altgr/common/sounds.h new file mode 100644 index 00000000000..1bfc7a6da0c --- /dev/null +++ b/keyboards/planck/keymaps/altgr/common/sounds.h @@ -0,0 +1,14 @@ + +// ................................................................ Audio Sounds + +#ifdef AUDIO_ENABLE +float song_startup [][2] = SONG(STARTUP_SOUND); +float song_colemak [][2] = SONG(COLEMAK_SOUND); +float song_qwerty [][2] = SONG(QWERTY_SOUND); +float song_plover [][2] = SONG(PLOVER_SOUND); +float song_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); +float song_caps_on [][2] = SONG(CAPS_LOCK_ON_SOUND); +float song_caps_off [][2] = SONG(CAPS_LOCK_OFF_SOUND); +float music_scale [][2] = SONG(MUSIC_SCALE_SOUND); +float song_goodbye [][2] = SONG(GOODBYE_SOUND); +#endif diff --git a/keyboards/planck/keymaps/altgr/common/steno_layout.h b/keyboards/planck/keymaps/altgr/common/steno_layout.h new file mode 100644 index 00000000000..ab4a6fe011c --- /dev/null +++ b/keyboards/planck/keymaps/altgr/common/steno_layout.h @@ -0,0 +1,39 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ...................................................................... Plover +#ifdef STENO_ENABLE + // ,-----------------------------------------------------------------------------------. + // | # | # | # | # | # | # | # | # | # | # | # | # | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | Base | S | T | P | H | * | * | F | P | L | T | D | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Base | S | K | W | R | * | * | R | B | G | S | Z | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | A | O | E | U | | + // `-----------------------------------------------------------------------------------' + + [_PLOVER] = { + {STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, STN_N6, STN_N7, STN_N8, STN_N9, STN_NA, STN_NB, STN_NC }, + {BASE1, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR }, + {BASE2, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR }, + {_______, _______, _______, PS_STNA, PS_STNO, _______, _______, PS_STNE, PS_STNU, _______, _______, _______}, + }, +#else + // ,-----------------------------------------------------------------------------------. + // | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | Base | S | T | P | H | * | * | F | P | L | T | D | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Base | S | K | W | R | * | * | R | B | G | S | Z | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | A | O | E | U | | + // `-----------------------------------------------------------------------------------' + + [_PLOVER] = { + {KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 }, + {BASE1, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC}, + {BASE2, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {_______, _______, _______, LT_C, LT_V, _______, _______, LT_N, LT_M, _______, _______, _______}, + }, +#endif diff --git a/keyboards/planck/keymaps/altgr/common/symbol_guifn_layout.h b/keyboards/planck/keymaps/altgr/common/symbol_guifn_layout.h new file mode 100644 index 00000000000..79861087075 --- /dev/null +++ b/keyboards/planck/keymaps/altgr/common/symbol_guifn_layout.h @@ -0,0 +1,75 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ..................................................... Symbol Navigation Layer +#ifdef SHIFT_SYMBOLS + // .-----------------------------------------------------------------------------------. + // | | ~ | * | & | | | | | Home | Up | End | PgUp | + // |-----------------------------------------------------------------------------------| + // | GUI | ^ | % | $ | | | | | Left | Down | Right| PgDn | + // |-----------------------------------------------------------------------------------| + // | | # | @ | ! | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | |Adjust| \ | | f() | | + // '-----------------------------------------------------------------------------------' + + [_SYMBOL] = { + {_______, KC_TILD, KC_ASTR, KC_AMPR, _______, ___x___, ___x___, _______, KC_HOME, KC_UP, KC_END, KC_PGUP}, + {OS_GUI, SM_CIRC, SM_PERC, SM_DLR, _______, ___x___, ___x___, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN}, + {_______, KC_HASH, KC_AT, KC_EXLM, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {___x___, ___x___, ___x___, ADJUST, LT_BSLS, ___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___}, + }, +#else + // .-----------------------------------------------------------------------------------. + // | { | . | * | & | } | | | | Home | Up | End | PgUp | + // |-----------------------------------------------------------------------------------| + // | ( | ^ | % | $ | ) | | | | Left | Down | Right| PgDn | + // |-----------------------------------------------------------------------------------| + // | [ | # | @ | ! | ] | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | | \ | | f() | | + // '-----------------------------------------------------------------------------------' + + [_SYMBOL] = { + {KC_LCBR, KC_DOT, KC_ASTR, KC_AMPR, TD_RCBR, _______, _______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP}, + {SM_LPRN, SM_CIRC, SM_PERC, SM_DLR, TD_RPRN, _______, _______, _______, LT_LFTX, KC_DOWN, KC_RGHT, KC_PGDN}, + {KC_LBRC, KC_HASH, KC_AT, KC_EXLM, TD_RBRC, _______, _______, _______, _______, _______, _______, _______}, + {___x___, ___x___, ___x___, SL_PIPE, LT_BSLS, ___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___}, + }, + + // .-----------------------------------------------------------------------------------. + // | | ? | + | ~ | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | < | = | > | | | | | f() | | | | + // |-----------------------------------------------------------------------------------| + // | | 3 | 2 | 1 | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | | | f() | | + // '-----------------------------------------------------------------------------------' + + [_SYMREG] = { + {___x___, KC_QUES, KC_PLUS, KC_TILD, ___x___, _______, _______, _______, ___x___, ___x___, ___x___, ___x___}, + {___x___, KC_LT, KC_EQL, TD_RNGL, ___x___, _______, _______, _______, ___fn__, ___x___, ___x___, ___x___}, + {___x___, KC_3, KC_2, KC_1, ___x___, _______, _______, _______, _______, _______, _______, _______}, + {___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___}, + }, +#endif + +// ............................................................... Mouse Actions + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | Left | Up | Right| Up | + // |-----------------------------------------------------------------------------------| + // | | Btn3 | Btn2 | Btn1 | | | | | Left | Down | Right| Down | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | f() | | f() | | + // '-----------------------------------------------------------------------------------' + + [_MOUSE] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U}, + {_______, KC_BTN3, KC_BTN2, KC_BTN1, _______, ___x___, ___x___, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D}, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, ___fn__, _______, _______, _______, ___fn__, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/altgr/common/tapdance.h b/keyboards/planck/keymaps/altgr/common/tapdance.h new file mode 100644 index 00000000000..d778286bf1e --- /dev/null +++ b/keyboards/planck/keymaps/altgr/common/tapdance.h @@ -0,0 +1,49 @@ + +// tap dance keys +enum tap_dance { + _CAPS = 0 + ,_COLN + ,_COMM + ,_DOT + ,_DQOT + ,_ENT + ,_EQL + ,_GRV + ,_GT + ,_LBRC + ,_LCBR + ,_LPRN + ,_LT + ,_PRIV + ,_QUOT + ,_RBRC + ,_RCBR + ,_RNGL + ,_RPRN + ,_SEND + ,_SPC + ,_TILD +}; + +#define TD_CAPS TD(_CAPS) +#define TD_COLN TD(_COLN) +#define TD_COMM TD(_COMM) +#define TD_DOT TD(_DOT) +#define TD_DQOT TD(_DQOT) +#define TD_ENT TD(_ENT) +#define TD_EQL TD(_EQL) +#define TD_GRV TD(_GRV) +#define TD_GT TD(_GT) +#define TD_LBRC TD(_LBRC) +#define TD_LCBR TD(_LCBR) +#define TD_LPRN TD(_LPRN) +#define TD_LT TD(_LT) +#define TD_PRIV TD(_PRIV) // compile time macro string, provided in private_string.h +#define TD_QUOT TD(_QUOT) +#define TD_RBRC TD(_RBRC) +#define TD_RCBR TD(_RCBR) +#define TD_RNGL TD(_RNGL) +#define TD_RPRN TD(_RPRN) +#define TD_SEND TD(_SEND) // config.h defined macro string +#define TD_SPC TD(_SPC) // see process_record_user() for extended handling of Spc +#define TD_TILD TD(_TILD) diff --git a/keyboards/planck/keymaps/altgr/common/toggle_layout.h b/keyboards/planck/keymaps/altgr/common/toggle_layout.h new file mode 100644 index 00000000000..713d27bbcfc --- /dev/null +++ b/keyboards/planck/keymaps/altgr/common/toggle_layout.h @@ -0,0 +1,102 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ......................................................... Number Keypad Layer + + // .-----------------------------------------------------------------------------------. + // | | F | E | D | | | | / | 7 | 8 | 9 | * | + // |-----------------------------------------------------------------------------------| + // | GUI | C | B | A | | | | . | 4 | 5 | 6 | - | + // |-----------------------------------------------------------------------------------| + // | | # | G | \ | | | | , | 1 | 2 | 3 | + | + // |-----------------------------------------------------------------------------------| + // | | | | f() | Space| | | 0 | = | | | | + // | | | | f() | Space| | | = | 0 | | | | + // '-----------------------------------------------------------------------------------' + + [_TTNUMBER] = { + {_______, KC_F, MT_E, KC_D, _______, ___x___, ___x___, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR}, + {OS_GUI, GT_C, AT_B, ST_A, _______, ___x___, ___x___, TD_DOT, KC_4, KC_5, KC_6, KC_MINS}, + {_______, KC_HASH, SM_G, KC_BSLS, _______, ___x___, ___x___, TD_COMM, KC_1, KC_2, KC_3, KC_PLUS}, +#ifdef THUMB_0 + {_______, _______, _______, TT_ESC, KC_SPC, _______, _______, KC_0, LT_EQL, _______, _______, _______}, +#else + {_______, _______, _______, TT_ESC, KC_SPC, _______, _______, KC_EQL, LT_0, _______, _______, _______}, +#endif + }, + +// ............ .................................................. Function Keys + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | F7 | F8 | F9 | F12 | + // |-----------------------------------------------------------------------------------| + // | GUI | Ctrl | Alt | Shift| | | | | F4 | F5 | F6 | F11 | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | F1 | F2 | F3 | F10 | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | + | | | | | + // '-----------------------------------------------------------------------------------' + + [_TTFNCKEY] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F7, KC_F8, KC_F9, KC_F12 }, + {OS_GUI, OS_CTL, OS_ALT, OS_SFT, _______, ___x___, ___x___, _______, KC_F4, KC_F5, KC_F6, KC_F11 }, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F1, KC_F2, KC_F3, KC_F10 }, + {_______, _______, _______, TT_ESC, _______, _______, _______, KC_PLUS, _______, _______, _______, _______}, + }, + +// ....................................................................... Regex + + // ,-----------------------------------------------------------------------------------. + // | | ~ | { | } | & | | | % | [ | ] | @ | | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | | ^ | < | > | ? | | | | | ( | ) | $ | | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | | : | ! | = | / | | | \ | * | . | # | | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | | | f() | - | | | + | Space| | | | + // `-----------------------------------------------------------------------------------' + + [_TTREGEX] = { + {___x___, KC_TILD, KC_LCBR, KC_RCBR, KC_AMPR, ___x___, ___x___, KC_PERC, KC_LBRC, KC_RBRC, KC_AT, ___x___}, + {___x___, KC_CIRC, KC_LT, KC_GT, KC_QUES, ___x___, ___x___, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, ___x___}, + {___x___, KC_COLN, KC_EXLM, KC_EQL, KC_SLSH, ___x___, ___x___, KC_BSLS, KC_ASTR, KC_DOT, KC_HASH, ___x___}, + {_______, _______, _______, TT_ESC, KC_MINS, _______, _______, KC_PLUS, KC_SPC, _______, _______, _______}, + }, + +// ............................................................ Navigation Layer + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | Home | Up | End | PgUp | + // |-----------------------------------------------------------------------------------| + // | GUI | Ctrl | Alt | Shift| | | | | Left | Down | Right| PgDn | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | | | | | | + // '-----------------------------------------------------------------------------------' + + [_TTCURSOR] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_HOME, KC_UP, KC_END, KC_PGUP}, + {OS_GUI, OS_CTL, OS_ALT, OS_SFT, _______, ___x___, ___x___, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN}, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {_______, _______, _______, TT_ESC, _______, _______, _______, _______, _______, _______, _______, _______}, + }, + +// ............................................................... Mouse Actions + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | Left | Up | Right| Up | + // |-----------------------------------------------------------------------------------| + // | | Btn3 | Btn2 | Btn1 | | | | | Left | Down | Right| Down | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | | | | | | + // '-----------------------------------------------------------------------------------' + + [_TTMOUSE] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U}, + {_______, KC_BTN3, KC_BTN2, KC_BTN1, _______, ___x___, ___x___, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D}, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {_______, _______, _______, TT_ESC, _______, _______, _______, _______, _______, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/altgr/config.h b/keyboards/planck/keymaps/altgr/config.h new file mode 100644 index 00000000000..d55258c02bd --- /dev/null +++ b/keyboards/planck/keymaps/altgr/config.h @@ -0,0 +1,50 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +// required because lower/raise modifiers are redefined by colemak-dh +#define PREVENT_STUCK_MODIFIERS + +// tap dance key press termination interval +#define TAPPING_TERM 250 + +// smooth mouse motion +// #define MOUSEKEY_INTERVAL 20 +// #define MOUSEKEY_DELAY 0 +// #define MOUSEKEY_TIME_TO_MAX 60 +// #define MOUSEKEY_MAX_SPEED 7 +// #define MOUSEKEY_WHEEL_DELAY 0 + +// compile time macro string, see functions/hardware planck script (undefine otherwise) +#define PRIVATE_STRING + +// compile time macro string, must be in quotes +#define PUBLIC_STRING ":%s/arch=(.*)/arch=('any')\n" + +// thumb key tap-shift() double tap: one shot shift (0) off (1) on +#define DT_SHIFT 1 + +// number layer 0 position KEYPAD_0, THUMB_0 +#define THUMB_0 + +// home block shift symbol clustes defined (no overlays required for extended symbols, undefine otherwise) +#define SHIFT_SYMBOLS + +// center column TT assignments (undefine for OSM chords) +#define CENTER_TT +#define TAPPING_TOGGLE 1 + +// home row modifiers +#define HOME_MODS +// fix dual function timing +#define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT + +// layout ADNW*, BEAKL*, COLEKA*, QWERTY (default) +#define BEAKLGR + +// sync app with window manager keybind hook defined in plover_keybind.h +#define PLOVER_KEYBIND + +#endif diff --git a/keyboards/planck/keymaps/altgr/keymap.c b/keyboards/planck/keymaps/altgr/keymap.c new file mode 100644 index 00000000000..516f481fc09 --- /dev/null +++ b/keyboards/planck/keymaps/altgr/keymap.c @@ -0,0 +1,490 @@ +// 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. +// +// To flash planck firmware +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// Reset keyboard or press hw reset button on base (hole) +// +// cd qmk_firmware/keyboards/planck +// sudo make KEYMAP=sdothum dfu +// +// sudo make clean (good practice before flashing) +// sudo make KEYMAP=sdothum (to compile check) +// +// Package requirements (for arch linux) +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// avr-gcc-atmel +// avr-libc-atmel +// dfu-programmer +// +// Notes +// ▔▔▔▔▔ +// ** E R G O W I D E S P L I T ** Layout +// +// Autocompletion tap dance key pairs (),[],{} are available from the +// number/symbol layer, as well as, numerous (un)shift key values +// +// The navigation pad provides a single hand right thumb activated cluster +// with left hand modifiers +// +// #define PRIVATE_STRING includes private_string.h, a user defined code +// block for the PRIV tap dance e.g. SEND_STRING("secret messape"), +// see function private() +// +// Modifier clusters +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// The num and sym keys together access the navigation pad layer +// +// ,-----------------------------------------------------------------------------------. +// | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| +// `-----------------------------------------------------------------------------------' +// +// Hint +// ▔▔▔▔ +// For sculpted keycaps such as Cherry or OEM profile, reverse the Alt, Num, +// Shift, Shift, Nav, Sym keycaps for more ergonomic thumb orientation and +// actuation +// +// Code +// ▔▔▔▔ +// This source is shamelessly based on the "default" planck layout +// +// #ifdef/#endif block structures are not indented, as syntax highlighting +// in vim is sufficient for identification +// +// c++ commenting style is used throughout +// +// Change history +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// See http://thedarnedestthing.com/planck%20constant +// See http://thedarnedestthing.com/planck%20done + + + +// === N O T E === +// +// sudo CPATH=/common make ... + + +#include "config.h" +#include "planck.h" +#include "action_layer.h" +#ifdef STENO_ENABLE +#include "keymap_steno.h" +#endif +#ifdef AUDIO_ENABLE +#include "audio.h" +#endif +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +enum planck_layers { + _BASE = 0 + ,_SHIFT + ,_LSHIFT + ,_RSHIFT + ,_PLOVER + ,_NUMBER + ,_SYMBOL + ,_FNCKEY + ,_MOUSE +#ifdef CENTER_TT + ,_TTNUMBER + ,_TTREGEX + ,_TTFNCKEY + ,_TTCURSOR + ,_TTMOUSE +#endif +#ifndef SHIFT_SYMBOLS + ,_NUMSYM + ,_SYMREG +#endif + ,_EDIT + ,_QWERTY + ,_ADJUST + ,_END_LAYERS +}; + +enum planck_keycodes { + BASE = SAFE_RANGE + ,BASE1 + ,BASE2 + ,PLOVER + ,PLOEXIT + ,SM_CIRC // pseudo GUI_T(S(KC_6)) for shifted key-codes, see process_record_user() + ,SM_DLR // pseudo SFT_T(S(KC_4)) for shifted key-codes, see process_record_user() + ,SM_G // pseudo MT (MOD_LALT | MOD_LSFT, S(KC_G)) for shifted key-codes, see process_record_user() + ,SM_K // pseudo MT (MOD_LGUI | MOD_LSFT, S(KC_K)) for shifted key-codes, see process_record_user() + ,SM_PERC // pseudo ALT_T(S(KC_5)) for shifted key-codes, see process_record_user() + ,SM_LPRN // pseudo CTL_T(S(KC_9)) for shifted key-codes, see process_record_user() + ,SM_W // pseudo MT (MOD_LGUI | MOD_LSFT, S(KC_W)) for shifted key-codes, see process_record_user() + ,SL_LEFT // pseudo LT (_MOUSE, S(KC_LEFT)) for shifted key-codes, see process_record_user() + ,SP_DEL // pseudo LT (_MOUSE, KC_DEL) for shifted key-codes, see process_record_user() + ,SL_PIPE // pseudo LT (_ADJUST, S(KC_BSLS)) for shifted key-codes, see process_record_user() + ,SL_TAB // pseudo LT (_FNCKEY, S(KC_TAB)) for shifted key-codes, see process_record_user() +#ifdef CENTER_TT + ,TT_ESC +#endif +#ifdef STENO_ENABLE + ,PS_STNA = STN_A + ,PS_STNO = STN_O + ,PS_STNE = STN_E + ,PS_STNU = STN_U +#else + ,LT_C = LT (_NUMBER, KC_C) + ,LT_V = LT (_FNCKEY, KC_V) + ,LT_N = LT (_EDIT, KC_N) + ,LT_M = LT (_SYMBOL, KC_M) +#endif + ,PS_BASE +}; + +// modifier keys +#define AT_B ALT_T(KC_B) +#define AT_DOWN ALT_T(KC_DOWN) +#define CT_RGHT CTL_T(KC_RGHT) +#define GT_C GUI_T(KC_C) +#define GT_UP GUI_T(KC_UP) +#define MT_E MT (MOD_LCTL | MOD_LALT, KC_E) +#define MT_X MT (MOD_LALT | MOD_LSFT, KC_X) +#define ST_A SFT_T(KC_A) +#ifdef HOME_MODS +#define HOME_K GUI_T(KC_K) +#define HOME_H CTL_T(KC_H) +#define HOME_E ALT_T(KC_E) +#define HOME_A SFT_T(KC_A) +#if defined(BEAKLMU) || defined(BEAKLSP) || defined(BEAKLGR) +#define HOME_T SFT_T(KC_T) +#define HOME_R ALT_T(KC_R) +#define HOME_S CTL_T(KC_S) +#define HOME_W GUI_T(KC_W) +#else +#define HOME_T SFT_T(KC_T) +#define HOME_S ALT_T(KC_S) +#define HOME_N GUI_T(KC_N) +#define HOME_B CTL_T(KC_B) +#endif +#else +#define HOME_K KC_K +#define HOME_H KC_H +#define HOME_E KC_E +#define HOME_A KC_A +#define HOME_T KC_T +#define HOME_S KC_S +#define HOME_N KC_N +#define HOME_B KC_B +#endif + +#define S_DOWN S (KC_DOWN) +#define S_LEFT S (KC_LEFT) +#define S_RGHT S (KC_RGHT) +#define S_TAB S (KC_TAB) +#define S_UP S (KC_UP) + +#include "tapdance.h" + +// keycodes +#define ___x___ KC_TRNS +#define ___fn__ KC_TRNS +#ifdef _______ +#undef _______ +#endif +#define _______ KC_NO + +#define COPY LCTL(KC_C) +#define CUT LCTL(KC_X) +#define EOT LCTL(KC_D) +#define NAK LCTL(KC_U) +#define PASTE LCTL(KC_V) +#define UNDO LCTL(KC_Z) +#define TMCOPY LALT(LCTL(KC_C)) +#define TMPASTE LALT(LCTL(KC_V)) +#define LT_BSLS LT (_MOUSE, KC_BSLS) // see process_record_user() for extended handling +#define LT_BSPC LT (_EDIT, KC_BSPC) +#define SP_LEFT LT (_EDIT, KC_LEFT) +#define LT_ESC LT (_NUMBER, KC_ESC) +#define LT_LEFT LT (_SYMBOL, KC_LEFT) // see process_record_user() for extended handling +#define SP_BSPC LT (_SYMBOL, KC_BSPC) // see process_record_user() for extended handling +#define LT_TAB LT (_FNCKEY, KC_TAB) +#define LT_INS LT (_FNCKEY, KC_INS) +#define LT_ALTG LT (_FNCKEY, KC_RALT) +#define ADJUST MO (_ADJUST) +#define OS_ALT OSM (MOD_LALT) +#define OS_CTL OSM (MOD_LCTL) +#define OS_GUI OSM (MOD_LGUI) +#define OS_SFT OSM (MOD_LSFT) +#define OS_CALT OSM (MOD_LALT | MOD_LCTL) +#define OS_CGUI OSM (MOD_LGUI | MOD_LCTL) +#define OS_CSFT OSM (MOD_LSFT | MOD_LCTL) +#define OS_SALT OSM (MOD_LALT | MOD_LSFT) +#define OS_SGUI OSM (MOD_LGUI | MOD_LSFT) + +#ifdef CENTER_TT +#ifdef BEAKLSP +#define CNTR_TL OSM (MOD_LSFT) +#else +#define CNTR_TL TT (_TTFNCKEY) +#endif +#define CNTR_TR KC_CAPS +#define CNTR_HL TT (_TTCURSOR) +#define CNTR_HR TT (_TTMOUSE) +#define CNTR_BL TT (_TTNUMBER) +#define CNTR_BR TT (_TTREGEX) +#else +#define CNTR_TL OSM (MOD_LALT | MOD_LCTL) +#define CNTR_TR OSM (MOD_LGUI | MOD_LCTL) +#define CNTR_HL OSM (MOD_LALT | MOD_LSFT) +#define CNTR_HR OSM (MOD_LGUI | MOD_LSFT) +#define CNTR_BL TD (_CAPS) +#define CNTR_BR OSM (MOD_LSFT | MOD_LCTL) +#endif + +#ifdef THUMB_0 +#define LT_EQL LT (_ADJUST, KC_EQL) +#else +#define LT_0 LT (_ADJUST, KC_0) +#endif +#ifndef SHIFT_SYMBOLS +#define LT_A LT (_NUMSYM, KC_A) +#define LT_LFTX LT (_SYMREG, KC_LEFT) +#endif + +// ........................................................ Default Alpha Layout + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +#include "beakl.h" +#include "colemak.h" +#include "qwerty.h" +#include "steno_layout.h" + +// ...................................................... Number / Function Keys + +#include "number_fkey_layout.h" + +// ......................................................... Symbol / Navigation + +#include "symbol_guifn_layout.h" + +// ............................................................... Toggle Layers + +#ifdef CENTER_TT +#include "toggle_layout.h" +#endif + +// ......................................................... Short Cuts / Adjust + +#include "chord_layout.h" + +}; + +// ...................................................................... Sounds + +#include "sounds.h" + +// ........................................................... User Keycode Trap + +#include "keycode_functions.h" + +#define BASE_1 1 +#define BASE_2 2 +#define BASE_12 3 +static uint8_t base_n = 0; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) +{ + switch (keycode) { + case BASE1: + if (record->event.pressed) { + base_n = base_n | BASE_1; + if (base_n == BASE_12) { + base_layer(); + } + } + else { + base_n = base_n & ~BASE_1; + } + return false; + case BASE2: + if (record->event.pressed) { + base_n = base_n | BASE_2; + if (base_n == BASE_12) { + base_layer(); + } + } + else { + base_n = base_n & ~BASE_2; + } + return false; + case AT_DOWN: +#ifdef HOME_MODS + case HOME_E: +#if defined(BEAKLMU) || defined(BEAKLSP) || defined(BEAKLGR) + case HOME_R: +#else + case HOME_S: +#endif +#endif + tap_mods(record, KC_LALT); + break; + case CT_RGHT: +#ifdef HOME_MODS + case HOME_K: +#if defined(BEAKLMU) || defined(BEAKLSP) || defined(BEAKLGR) + case HOME_W: +#else + case HOME_B: +#endif +#endif + tap_mods(record, KC_LGUI); + break; + case GT_UP: +#ifdef HOME_MODS + case HOME_H: +#if defined(BEAKLMU) || defined(BEAKLSP) || defined(BEAKLGR) + case HOME_S: +#else + case HOME_N: +#endif +#endif + tap_mods(record, KC_LCTL); + break; +#ifdef HOME_MODS + case HOME_A: + case HOME_T: + tap_mods(record, KC_LSFT); + break; +#endif +#ifdef CENTER_TT + case TT_ESC: + clear_tt(); // exit TT layer + return false; +#endif + case LT_ESC: +#ifdef CENTER_TT + if (tt_keycode != 0) { + clear_tt(); // exit TT layer + return false; + } +#endif + tap_layer(record, _NUMBER); + break; + case LT_LEFT: + case SP_BSPC: + tap_layer(record, _SYMBOL); + // LT (_SYMBOL, KC_LEFT) left right combination layer + thumb_layer(record, RIGHT, 0, 0, _SYMBOL, _LSHIFT); + break; + case OS_ALT: + tap_mods(record, KC_LALT); + break; + case OS_CTL: + tap_mods(record, KC_LCTL); + break; + case OS_GUI: + tap_mods(record, KC_LGUI); + break; + case SM_CIRC: + // GUI_T(S(KC_6)) + mt_shift(record, KC_LGUI, 0, KC_6); + break; + case SM_DLR: + // SFT_T(S(KC_4)) + mt_shift(record, KC_LSFT, 0, KC_4); + break; + case SM_G: + // MT(MOD_LALT | MOD_LSFT, S(KC_G)) + mt_shift(record, KC_LALT, KC_LSFT, KC_G); + break; + case SM_K: + // MT(MOD_LGUI | MOD_LSFT, S(KC_K)) + mt_shift(record, KC_LGUI, KC_LSFT, KC_K); + break; + case SM_W: + // MT(MOD_LGUI | MOD_LSFT, S(KC_W)) + mt_shift(record, KC_LGUI, KC_LSFT, KC_W); + break; + case SM_LPRN: + // CTL_T(S(KC_9)) + mt_shift(record, KC_LCTL, 0, KC_9); + break; + case SM_PERC: + // ALT_T(S(KC_5)) + mt_shift(record, KC_LALT, 0, KC_5); + break; + case LT_BSLS: + tap_layer(record, _MOUSE); + // LT (_MOUSE, KC_BSLS) left right combination layer, see #define LT_BSLS + thumb_layer(record, LEFT, 0, 0, _MOUSE, _SYMBOL); + break; + case SL_LEFT: + tap_layer(record, _MOUSE); + // LT (_MOUSE, S(KC_LEFT)) left right combination layer + thumb_layer(record, RIGHT, SHIFT, KC_LEFT, _MOUSE, _LSHIFT); + break; + case SP_DEL: + tap_layer(record, _MOUSE); + // LT (_MOUSE, S(KC_LEFT)) left right combination layer + thumb_layer(record, RIGHT, NOSHIFT, KC_DEL, _MOUSE, _LSHIFT); + break; + case SL_PIPE: + // LT (_ADJUST, S(KC_BSLS)) emulation + lt_shift(record, KC_BSLS, _ADJUST); + break; + case SL_TAB: + // LT (_FNCKEY, S(KC_TAB)) emulation + lt_shift(record, KC_TAB, _FNCKEY); + break; + case TD_ENT: + tap_layer(record, _RSHIFT); + // LT (_RSHIFT, KC_ENT) emulation, see tap dance enter + break; + case TD_SPC: + tap_layer(record, _LSHIFT); + // LT (_LSHIFT, KC_SPC) left right combination layer, see tap dance TD_SPC + thumb_layer(record, LEFT, 0, 0, _LSHIFT, _SYMBOL); + break; +#ifdef CENTER_TT + case CNTR_TL: + case CNTR_TR: + case CNTR_HL: + case CNTR_HR: + case CNTR_BL: + case CNTR_BR: + if (tt_keycode != keycode && tt_keycode != 0) { + clear_tt(); // return to base layer first if different TT layer selected + } + tt_keycode = keycode; + break; +#endif +// #ifdef STENO_ENABLE +// case PS_STNA: +// stn_layer(record, STN_A, _NUMBER); +// break; +// case PS_STNO: +// stn_layer(record, STN_O, _FNCKEY); +// break; +// case PS_STNE: +// stn_layer(record, STN_E, _EDIT); +// break; +// case PS_STNU: +// stn_layer(record, STN_U, _SYMBOL); +// break; +// #endif + case PS_BASE: + if (record->event.pressed) { + base_layer(); + } + return false; + case PLOVER: + steno(record); + return false; + case PLOEXIT: + steno_exit(record); + return false; + } + return true; +} + +#include "init.h" diff --git a/keyboards/planck/keymaps/altgr/private_string.h b/keyboards/planck/keymaps/altgr/private_string.h new file mode 100644 index 00000000000..6ea34cc8e87 --- /dev/null +++ b/keyboards/planck/keymaps/altgr/private_string.h @@ -0,0 +1 @@ +SEND_STRING("the keys of enoch"); diff --git a/keyboards/planck/keymaps/altgr/qwerty.h b/keyboards/planck/keymaps/altgr/qwerty.h new file mode 100644 index 00000000000..d11d0478b3f --- /dev/null +++ b/keyboards/planck/keymaps/altgr/qwerty.h @@ -0,0 +1,64 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ...................................................................... Qwerty +#ifdef QWERTY + // ,-----------------------------------------------------------------------------------. + // | Q | W | E | R | T | ^Alt | ^GUI | Y | U | I | O | P | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | S | D | F | G | ↑Alt | ↑GUI | H | J | K | L | ; | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | X | C | V | B | Caps |^Shift| N | M | , | . | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_W, KC_E, KC_R, KC_T, CNTR_TL, CNTR_TR, KC_Y, KC_U, KC_I, KC_O, KC_P }, + {KC_A, KC_S, KC_D, KC_F, KC_G, CNTR_HL, CNTR_HR, KC_H, KC_J, KC_K, KC_L, KC_SCLN}, + {KC_Z, KC_X, KC_C, KC_V, KC_B, CNTR_BL, CNTR_BR, KC_N, KC_M, KC_COMM, KC_DOT, TD_QUOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_W), S(KC_E), S(KC_R), S(KC_T), CNTR_TL, CNTR_TR, S(KC_Y), S(KC_U), S(KC_I), S(KC_O), S(KC_P)}, + {S(KC_A), S(KC_S), S(KC_D), S(KC_F), S(KC_G), CNTR_HL, CNTR_HR, S(KC_H), S(KC_J), S(KC_K), S(KC_L), KC_SCLN}, + {S(KC_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), CNTR_BL, CNTR_BR, S(KC_N), S(KC_M), KC_COMM, KC_DOT, TD_QUOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | W | E | R | T | ^Alt | ^GUI | Y | U | I | O | P | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | S | D | F | G | ↑Alt | ↑GUI | H | J | K | L | : | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | X | C | V | B | Caps |^Shift| N | M | / | ? | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | - | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_W), S(KC_E), S(KC_R), S(KC_T), CNTR_TL, CNTR_TR, S(KC_Y), S(KC_U), S(KC_I), S(KC_O), S(KC_P)}, + {S(KC_A), S(KC_S), S(KC_D), S(KC_F), S(KC_G), CNTR_HL, CNTR_HR, S(KC_H), S(KC_J), S(KC_K), S(KC_L), TD_COLN}, + {S(KC_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), CNTR_BL, CNTR_BR, S(KC_N), S(KC_M), KC_SLSH, KC_QUES, TD_DQOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_MINS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | W | E | R | T | ^Alt | ^GUI | Y | U | I | O | P | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | S | D | F | G | ↑Alt | ↑GUI | H | J | K | L | : | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | X | C | V | B | Caps |^Shift| N | M | ~ | ` | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | _ | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_W), S(KC_E), S(KC_R), S(KC_T), CNTR_TL, CNTR_TR, S(KC_Y), S(KC_U), S(KC_I), S(KC_O), S(KC_P)}, + {S(KC_A), S(KC_S), S(KC_D), S(KC_F), S(KC_G), CNTR_HL, CNTR_HR, S(KC_H), S(KC_J), S(KC_K), S(KC_L), TD_COLN}, + {S(KC_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), CNTR_BL, CNTR_BR, S(KC_N), S(KC_M), TD_TILD, TD_GRV, TD_DQOT}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_UNDS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + diff --git a/keyboards/planck/keymaps/altgr/readme.md b/keyboards/planck/keymaps/altgr/readme.md new file mode 100644 index 00000000000..58f73e3b445 --- /dev/null +++ b/keyboards/planck/keymaps/altgr/readme.md @@ -0,0 +1,10 @@ +# The sdothum extended Default Planck Layout + +- Colemak-DH layout layer with shift/tab key overlays +- Number and symbol/function key layer +- Hexadecimal keypad layer +- Navigation keypad layer +- Dynamic macro layer +- Autocompletion tap key pairs (),[],{} +- Normalized enter and esc key position across keyboard layers +- Extensive use of tap keys diff --git a/keyboards/planck/keymaps/altgr/rules.mk b/keyboards/planck/keymaps/altgr/rules.mk new file mode 100644 index 00000000000..40f153844c1 --- /dev/null +++ b/keyboards/planck/keymaps/altgr/rules.mk @@ -0,0 +1,26 @@ +# 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 = no # 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 +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. +STENO_ENABLE = yes # enable TX Bolt protocol, requires VIRTSER and may not work with mouse keys + +# do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # breathing sleep LED during USB suspend + +TAP_DANCE_ENABLE = yes # enable double tap completion of (),[],{} + +ifndef QUANTUM_DIR +include ../../../../Makefile +endif diff --git a/keyboards/planck/keymaps/dr_notsokind/Readme.md b/keyboards/planck/keymaps/dr_notsokind/Readme.md index 35f3975c6a7..e7e29cb7dd2 100644 --- a/keyboards/planck/keymaps/dr_notsokind/Readme.md +++ b/keyboards/planck/keymaps/dr_notsokind/Readme.md @@ -70,7 +70,7 @@ When you are done, press `Media` and `Enter`. You will finally hear a tune confi Press `Media` and the key where you stored your Macro, either `;` or `'`. The Macro will play. -![Imgur](https://i.imgur.com/TCsD6Ro.png) +![Imgur](https://i.imgur.com/ri4lEcl.png) http://www.keyboard-layout-editor.com/#/gists/4cfb26f84bbb4fabe5e6c7cc22c85e24 @@ -82,13 +82,13 @@ The Lock mode toggle disables the double-tap `CAPS` and disables `GUI` keys (WIN Lower + Raise gives access to the layer switching, plus keyboard modes (such as enabling music mode for annoying your coworkers), reset, SysReq and Lock Mode, which disables the double shift tap for CapsLock (taken from the *circuit* layout, see the comments below). Also provides another distribution for the F keys. -![Adjust](https://i.imgur.com/ADNLR6n.png) +![Adjust](https://i.imgur.com/6m6baos.png) http://www.keyboard-layout-editor.com/#/gists/12462bfba17d16bb40b54ed914209d92 ## Numpad Layer -![Numpad](https://i.imgur.com/iTyhjNZ.png) +![Numpad](https://i.imgur.com/od1plfz.png) http://www.keyboard-layout-editor.com/#/gists/5ab730ab278d2050c5250498806e8edc diff --git a/keyboards/planck/keymaps/dr_notsokind/keymap.c b/keyboards/planck/keymaps/dr_notsokind/keymap.c index b360b39da11..8555a959a46 100644 --- a/keyboards/planck/keymaps/dr_notsokind/keymap.c +++ b/keyboards/planck/keymaps/dr_notsokind/keymap.c @@ -87,9 +87,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* NUMPAD * ,-----------------------------------------------------------------------------------. - * |QWERTY| NULL | NULL | NULL | NULL | NULL | NULL | / | 7 | 8 | 9 | - | + * |QWERTY| NULL | Up | NULL | NULL | NULL | NULL | / | 7 | 8 | 9 | - | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | | NULL | NULL | NULL | NULL | NULL | NULL | * | 4 | 5 | 6 | + | + * | | Left | Down | Right| NULL | NULL | NULL | * | 4 | 5 | 6 | + | * |------+------+------+------+------+------+------+------+------+------+------+------| * | |NumLck| NULL | NULL | NULL | NULL | NULL |BckSp | 1 | 2 | 3 | Ent | * |------+------+------+------+------+-------------+------+------+------+------+------| @@ -97,8 +97,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------' */ [_NUMPAD] = { - {QWERTY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS}, - {_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS}, + {QWERTY, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS}, + {_______, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS}, {_______, KC_NLCK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, KC_P1, KC_P2, KC_P3, KC_PENT}, {_______, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PCMM, KC_PEQL} }, @@ -123,55 +123,55 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* RAISE * ,-----------------------------------------------------------------------------------. - * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BKSP | + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * | Del | F1 | F2 | F3 | F4 | F5 | | - | = | [ | ] | \ | * |------+------+------+------+------+------+------+------+------+------+------+------| - * |LShift| F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | NULL | PgUp | Enter| + * |LShift| F6 | F7 | F8 | F9 | F10 | |ISO # |ISO / | NULL | PgUp | Enter| * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | Vol+ | | NULL | | | Home | PgDn | End | + * | | | | F11 | | F12 | | | Home | PgDn | End | * `-----------------------------------------------------------------------------------' */ [_RAISE] = { - {KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_DEL , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, - {KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, XXXXXXX, KC_PGUP, KC_ENT }, - {_______, _______, _______, KC_VOLU, _______, XXXXXXX, XXXXXXX, _______, _______, KC_HOME, KC_PGDN, KC_END } + {KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL}, + {KC_DEL , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS}, + {KC_LSFT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, KC_NUHS, KC_NUBS, XXXXXXX, KC_PGUP, KC_ENT }, + {_______, _______, _______, KC_F11, _______, KC_F12, KC_F12, _______, _______, KC_HOME, KC_PGDN, KC_END } }, /* LOWER * ,-----------------------------------------------------------------------------------. * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Del | F13 | F14 | F15 | F16 | F17 | F18 | _ | + | { | } | | | + * | Del | F1 | F2 | F3 | F4 | F5 | | _ | + | { | } | | | * |------+------+------+------+------+------+------+------+------+------+------+------| - * |LShift| F19 | F20 | F21 | F22 | F23 | F24 |ISO ~ |ISO | | NULL | PgUp | Enter| + * |LShift| F6 | F7 | F8 | F9 | F10 | |ISO ~ |ISO | | NULL | PgUp | Enter| * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | Vol- | | NULL | | | Home | PgDn | End | + * | | | | F11 | | F12 | | | Home | PgDn | End | * `-----------------------------------------------------------------------------------' */ [_LOWER] = { - {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL }, - {KC_DEL, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, - {KC_LSFT, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, S(KC_NUHS), S(KC_NUBS), XXXXXXX, KC_PGUP, KC_ENT }, - {_______, _______, _______, KC_VOLD, _______, XXXXXXX, XXXXXXX, _______, _______, KC_HOME, KC_PGDN, KC_END } + {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL }, + {KC_DEL , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE}, + {KC_LSFT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, S(KC_NUHS), S(KC_NUBS), XXXXXXX, KC_PGUP, KC_ENT }, + {_______, _______, _______, KC_F11, _______, KC_F12, KC_F12, _______, _______, KC_HOME, KC_PGDN, KC_END } }, /* MEDIA AND COMMANDS * ,-----------------------------------------------------------------------------------. - * |Sleep | NULL |WbHome| NULL | NULL | NULL |Again | NULL |Insert| NULL |PrntSc|Power | + * | NULL | NULL |WbHome| NULL | NULL | NULL |Again | NULL |Insert| NULL |PrntSc| NULL | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | Wake | NULL |WbSrch| NULL | Find | NULL | NULL | NULL | Calc | NULL |PlyMc1|PlyMc2| + * | NULL | NULL |WbSrch| NULL | Find | NULL | NULL | NULL | NULL | NULL |PlyMc1|PlyMc2| * |------+------+------+------+------+------+------+------+------+------+------+------| - * |LShift| Undo | Cut | Copy | Paste| NULL | NULL | NULL |ZoomOu|ZoomIn| Prev | NULL | + * |LShift| NULL | NULL | Calc | NULL | NULL | NULL | NULL |ZoomOu|ZoomIn| Prev |RecStp| * |------+------+------+------+------+-------------+------+------+------+------+------| - * | NULL | NULL | NULL | | Vol- | Mute | Vol+ | NULL | Stop | Next | Play | + * |ONESHT| NULL | NULL | | Vol- | Mute | Vol+ |Zoom 0| Stop | Next | Play | * `-----------------------------------------------------------------------------------' */ [_MEDIA] = { - {KC_SLEP, XXXXXXX, KC_WHOM, XXXXXXX, XXXXXXX, XXXXXXX, KC_AGAIN, XXXXXXX, KC_INS, XXXXXXX, KC_PSCR, KC_PWR}, - {KC_WAKE, XXXXXXX, KC_WSCH, XXXXXXX, KC_FIND, XXXXXXX, XXXXXXX, XXXXXXX, KC_CALC, XXXXXXX, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2 }, - {KC_LSFT, KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, XXXXXXX, XXXXXXX, XXXXXXX, ZOOM_OUT, ZOOM_IN, KC_MPRV, DYN_REC_STOP }, + {XXXXXXX, XXXXXXX, KC_WHOM, XXXXXXX, XXXXXXX, XXXXXXX, KC_AGAIN, XXXXXXX, KC_INS, XXXXXXX, KC_PSCR, XXXXXXX}, + {XXXXXXX, XXXXXXX, KC_WSCH, XXXXXXX, KC_FIND, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2 }, + {KC_LSFT, XXXXXXX, XXXXXXX, KC_CALC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, ZOOM_OUT, ZOOM_IN, KC_MPRV, DYN_REC_STOP }, {ONESHOT, XXXXXXX, XXXXXXX, _______, KC_VOLD, KC_MUTE, KC_MUTE, KC_VOLU, ZOOM_NML, KC_MSTP, KC_MNXT, KC_MPLY } }, @@ -195,18 +195,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* FUNCTIONS * ,-----------------------------------------------------------------------------------. - * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * | SLEEP| NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | POWER| * |------+------+------+------+------+------+------+------+------+------+------+------| - * | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | + * | WAKE | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | * |------+------+------+------+------+------+------+------+------+------+------+------| - * | NULL | Reset| NULL |AudOff|MusOff|QWERTY|NUMPAD|Mus On|Aud On| NULL |Voice+|SysReq| + * | NULL | NULL | NULL |AudOff|MusOff|QWERTY|NUMPAD|Mus On|Aud On| NULL |Voice+|SysReq| * |------+------+------+------+------+-------------+------+------+------+------+------| - * | NULL | NULL | Lock | NULL | | NULL | | NULL |AGNorm|Voice-|AGSwap| + * | Reset| NULL | LOCK | NULL | | NULL | | NULL |AGNorm|Voice-|AGSwap| * `-----------------------------------------------------------------------------------' */ [_FUNCTN] = { - {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_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24 }, + {KC_SLEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PWR }, + {KC_WAKE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX }, {XXXXXXX, XXXXXXX, XXXXXXX, AU_OFF, MU_OFF, QWERTY, NUMPAD, MU_ON, AU_ON, XXXXXXX, MUV_IN, KC_SYSREQ}, {RESET, XXXXXXX, LOCK, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, AG_NORM, MUV_DE, AG_SWAP} } diff --git a/keyboards/planck/keymaps/hiea/common/chord_layout.h b/keyboards/planck/keymaps/hiea/common/chord_layout.h new file mode 100644 index 00000000000..2c785d56ca7 --- /dev/null +++ b/keyboards/planck/keymaps/hiea/common/chord_layout.h @@ -0,0 +1,41 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// .................................................................. Short Cuts + + // .-----------------------------------------------------------------------------------. + // | | | Copy | Paste| | | | | | | | | + // |--------------------------------------------------------------+------+------+------| + // | Undo | Cut | Copy | Paste| | | | | PRIV | PUB | | | + // |-----------------------------------------------------------------------------------| + // | | | Nak | Eot | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | | | | | f() | | | | | | + // | | | | | | | | f() | | | | | see _PLOVER + // '-----------------------------------------------------------------------------------' + + [_EDIT] = { + {_______, _______, TMCOPY, TMPASTE, _______, _______, _______, _______, _______, _______, _______, _______}, + {UNDO, CUT, COPY, PASTE, _______, _______, _______, _______, TD_PRIV, TD_SEND, _______, _______}, + {_______, _______, NAK, EOT, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, ___fn__, ___fn__, _______, _______, _______, _______}, + }, + +// ................................................................ Adjust Layer + + // ,-----------------------------------------------------------------------------------. + // |Plover| | | | | | | | | | | | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // |Aud on| | | | | | | | | | | | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Reset| | | | | | | | | | | | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | | | f() | | | | | f() | | | | + // `-----------------------------------------------------------------------------------' + + [_ADJUST] = { + {PLOVER, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {AU_ON, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, ___fn__, _______, _______, _______, _______, ___fn__, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/hiea/common/init.h b/keyboards/planck/keymaps/hiea/common/init.h new file mode 100644 index 00000000000..6366a19f65e --- /dev/null +++ b/keyboards/planck/keymaps/hiea/common/init.h @@ -0,0 +1,56 @@ + +// ....................................................................... Audio + +void matrix_init_user(void) +{ +#ifdef STENO_ENABLE + steno_set_mode(STENO_MODE_BOLT); // or STENO_MODE_GEMINI +#endif +#ifdef AUDIO_ENABLE + startup_user(); +#endif +} + +#ifdef AUDIO_ENABLE +#ifdef BACKLIGHT_ENABLE +void led_set_user(uint8_t usb_led) +{ + static uint8_t old_usb_led = 0; + _delay_ms(10); // gets rid of tick + if (!is_playing_notes()) { + if ((usb_led & (1<event.pressed) { + key_timer = timer_read(); + register_code(modifier); + if (modifier2) { + register_code(modifier2); + } + } + else { + unregister_code(modifier); + if (modifier2) { + unregister_code(modifier2); + } + if (timer_elapsed(key_timer) < TAPPING_TERM) { + shift_key(keycode); + } + key_timer = 0; + } +} + +// ................................................................... Mod Masks + +// tap dance persistant mods, see process_record_user() +// keyboard_report->mods (?) appears to be cleared by tap dance +static uint8_t mods = 0; + +void tap_mods(keyrecord_t *record, uint16_t keycode) +{ + if (record->event.pressed) { + mods |= MOD_BIT(keycode); + } + else { + mods &= ~(MOD_BIT(keycode)); + } +} + +// (un)register modifiers +void modifier(void (*f)(uint8_t)) +{ + if (mods & MOD_BIT(KC_LCTL)) { + (*f)(KC_LCTL); + } + if (mods & MOD_BIT(KC_LGUI)) { + (*f)(KC_LGUI); + } + if (mods & MOD_BIT(KC_LALT)) { + (*f)(KC_LALT); + } +} + +// .................................................... Triple Dance Shift/Layer + +static uint8_t dt_shift = 0; + +void double_shift(uint16_t keycode, uint8_t layer) +{ + tap_key (keycode); + if (DT_SHIFT) { + // set_oneshot_mods(MOD_LSFT); + // layer_on(layer); + layer_on (_SHIFT); + set_oneshot_layer(_SHIFT, ONESHOT_START); + dt_shift = 1; + } + else { + layer_on(layer); + } +} + +// tap dance LT (LAYER, KEY) emulation with -> and auto-repeat extensions! +void tap_shift(qk_tap_dance_state_t *state, uint16_t keycode, uint8_t layer) +{ + // double tap plus down + if (state->count > 2) { + // double enter shift + if (keycode == KC_ENT) { + tap_key (keycode); + double_shift(keycode, layer); + } + // repeating keycode + else { + register_code(keycode); + } + } + // tap plus down (or double tap): keycode (one shot) shift + else if (state->count > 1) { + double_shift(keycode, layer); + } + // down: shift + else if (state->pressed) { + layer_on(layer); + } + // tap: keycode + else { + modifier(register_code); + tap_key (keycode); + modifier(unregister_code); + } +} + +void tap_reset(uint16_t keycode, uint8_t layer) +{ + unregister_code(keycode); + if (DT_SHIFT && dt_shift) { + clear_oneshot_layer_state(ONESHOT_PRESSED); + dt_shift = 0; + } + else { + layer_off(layer); + } +} + +// augment pseudo LT (_RSHIFT, KC_ENT) handling below for rapid sequences +void enter(qk_tap_dance_state_t *state, void *user_data) +{ + tap_shift(state, KC_ENT, _RSHIFT); +} + +void enter_reset(qk_tap_dance_state_t *state, void *user_data) +{ + tap_reset(KC_ENT, _RSHIFT); +} + +// augment pseudo LT (_LSHIFT, KC_SPC) handling below for rapid sequences +void space(qk_tap_dance_state_t *state, void *user_data) +{ + tap_shift(state, KC_SPC, _LSHIFT); +} + +void space_reset(qk_tap_dance_state_t *state, void *user_data) +{ + tap_reset(KC_SPC, _LSHIFT); +} + +// ......................................................... Triple Dance Insert + +void double_max(uint8_t count, uint8_t shift, uint16_t keycode) +{ + if (shift) { + shift_key(keycode); + if (count > 1) { + shift_key(keycode); + } + } + else { + tap_key(keycode); + if (count > 1) { + tap_key(keycode); + } + } +} + +void colon(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key (KC_SPC); + shift_key(KC_SCLN); + shift_key(KC_SCLN); + tap_key (KC_SPC); + } + else { + double_max(state->count, SHIFT, KC_SCLN); + } + reset_tap_dance(state); +} + +void eql(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key(KC_SPC); + tap_key(KC_SLSH); + tap_key(KC_EQL); + tap_key(KC_SPC); + } + else { + double_max(state->count, NOSHIFT, KC_EQL); + } + reset_tap_dance(state); +} + +void greater(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key (KC_SPC); + tap_key (KC_MINS); + shift_key(KC_DOT); + tap_key (KC_SPC); + } + else { + double_max(state->count, SHIFT, KC_DOT); + } + reset_tap_dance(state); +} + +void lesser(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key (KC_SPC); + shift_key(KC_COMM); + tap_key (KC_MINS); + tap_key (KC_SPC); + } + else { + double_max(state->count, SHIFT, KC_COMM); + } + reset_tap_dance(state); +} + +void tilde(qk_tap_dance_state_t *state, void *user_data) +{ + // double tap plus down: repeating keycode + if (state->count > 2) { + register_code(KC_LSFT); + register_code(KC_GRV); + } + // tap: keycode + else { + shift_key(KC_GRV); + // double tap: unix home directory + if (state->count > 1) { + tap_key(KC_SLSH); + } + } +} + +void tilde_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_GRV); + unregister_code(KC_LSFT); +} + +// ............................................................. Tap Dance Pairs + +// tap dance shift rules +#define S_NEVER 0 +#define S_SINGLE 1 +#define S_DOUBLE 2 +#define S_ALWAYS S_SINGLE | S_DOUBLE + +void symbol_pair(uint8_t shift, uint16_t left, uint16_t right) +{ + if (shift & S_DOUBLE) { + shift_key(left); + shift_key(right); + } + else { + tap_key(left); + tap_key(right); + } +} + +#define CLOSE 1 + +// tap dance symbol pairs +void tap_pair(qk_tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_t right, uint16_t modifier, uint8_t close) +{ + // triple tap: left right with cursor between symbol pair a la vim :-) + if (state->count > 2) { + symbol_pair(shift, left, right); + tap_key (KC_LEFT); + } + // double tap: left right + else if (state->count > 1) { + symbol_pair(shift, left, right); + } + // down: modifier + else if (state->pressed) { + if (modifier) { + register_code(modifier); + } + } + // tap: left (close: right) + else { + if (shift & S_SINGLE) { + shift_key(close ? right : left); + } + else { + tap_key(close ? right : left); + } + } + if (!modifier) { + reset_tap_dance(state); + } +} + +void doublequote(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_QUOT, KC_QUOT, 0, 0); +} + +void grave(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_GRV, KC_GRV, 0, 0); +} + +void lbrace(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, 0); +} + +void lcurly(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, 0); +} + +void lparen(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_9, KC_0, KC_LCTL, 0); +} + +void lparen_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_LCTL); +} + +void quote(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_QUOT, KC_QUOT, 0, 0); +} + +void rangle(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_COMM, KC_DOT, 0, CLOSE); +} + +void rbrace(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, CLOSE); +} + +void rcurly(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, CLOSE); +} + +void rparen(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_9, KC_0, 0, CLOSE); +} + +void rparen_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_LCTL); +} + +// ............................................................ Tap Dance Insert + +void comma(qk_tap_dance_state_t *state, void *user_data) +{ + tap_key(KC_COMM); + if (state->count > 1) { + tap_key(KC_SPC); + } + reset_tap_dance(state); +} + +void dot(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { + shift_key(KC_COLN); + } + else { + tap_key(KC_DOT); + } + reset_tap_dance(state); +} + +// compile time macro string, see functions/hardware planck script +void private(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { +#ifdef PRIVATE_STRING +#include "private_string.h" +#endif + } + reset_tap_dance(state); +} + +// config.h defined string +void send(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { + SEND_STRING(PUBLIC_STRING); + } + reset_tap_dance(state); +} + +// .......................................................... Tap Dance One Shot + +void caps(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { + tap_key(KC_CAPS); + } + else { + set_oneshot_mods(MOD_LSFT); + register_code (KC_LSFT); // on hold down + } +} + +void caps_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_LSFT); +} + +// ................................................................... Tap Dance + +qk_tap_dance_action_t tap_dance_actions[] = { + [_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, caps, caps_reset) + ,[_COLN] = ACTION_TAP_DANCE_FN (colon) + ,[_COMM] = ACTION_TAP_DANCE_FN (comma) + ,[_DOT] = ACTION_TAP_DANCE_FN (dot) + ,[_DQOT] = ACTION_TAP_DANCE_FN (doublequote) + ,[_ENT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, enter, enter_reset) + ,[_EQL] = ACTION_TAP_DANCE_FN (eql) + ,[_GRV] = ACTION_TAP_DANCE_FN (grave) + ,[_GT] = ACTION_TAP_DANCE_FN (greater) + ,[_LBRC] = ACTION_TAP_DANCE_FN (lbrace) + ,[_LCBR] = ACTION_TAP_DANCE_FN (lcurly) + ,[_LPRN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lparen, lparen_reset) + ,[_LT] = ACTION_TAP_DANCE_FN (lesser) + ,[_PRIV] = ACTION_TAP_DANCE_FN (private) + ,[_QUOT] = ACTION_TAP_DANCE_FN (quote) + ,[_RBRC] = ACTION_TAP_DANCE_FN (rbrace) + ,[_RCBR] = ACTION_TAP_DANCE_FN (rcurly) + ,[_RNGL] = ACTION_TAP_DANCE_FN (rangle) + ,[_RPRN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rparen, rparen_reset) + ,[_SEND] = ACTION_TAP_DANCE_FN (send) + ,[_SPC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, space, space_reset) + ,[_TILD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tilde, tilde_reset) +}; + +// .............................................................. Dynamic Layers + +#define LEFT 1 +#define RIGHT 2 +static uint8_t thumb = 0; + +// LEFT (KC_SPC, S(KC_BSLS)), RIGHT (KC_LEFT, S(KC_LEFT)) opposite thumb combinations, see process_record_user() +// up, up -> _BASE +// up, down -> _SYMBOL +// down, up -> _NUMBER +// down, down -> _MOUSE // see layer keycodes that raise mouse layer +#define THUMBS_DOWN _MOUSE // layer + +static uint8_t overlayer = 0; + +// left right thumb layer combinations +void thumb_layer(keyrecord_t *record, uint8_t side, uint8_t shift, uint16_t keycode, uint8_t thumb_dn_layer, uint8_t thumb_up_layer) +{ + if (record->event.pressed) { + // layer_on via tap_layer(), see process_record_user() + key_timer = timer_read(); + thumb = thumb | side; + } + else { + layer_off(thumb_dn_layer); + // opposite thumb_layer() thumb may have switched effective layer! + if (overlayer) { + layer_off(overlayer); + overlayer = 0; + } + if (!key_press(shift, keycode)) { + layer_off(THUMBS_DOWN); // both thumbs needed + // opposite thumb down? see left right combination layer table above + if (thumb & (side == LEFT ? RIGHT : LEFT)) { + layer_on(thumb_up_layer); + overlayer = thumb_up_layer; + } + } + clear_mods(); + thumb = thumb & ~side; + key_timer = 0; + } +} + +// #ifdef STENO_ENABLE +// // LT for steno keycode +// void stn_layer(keyrecord_t *record, uint16_t keycode, uint8_t layer) +// { +// if (record->event.pressed) { +// key_timer = timer_read(); +// if (keycode) { +// process_steno(keycode, record); +// } +// layer_on(layer); +// } +// else { +// layer_off(layer); +// if (keycode) { +// if (timer_elapsed(key_timer) < TAPPING_TERM) { +// process_steno(keycode, record); +// } +// else { +// // clear pressed state (request push of updated) process_steno.c and .h +// // steno_clear_state(); +// } +// } +// key_timer = 0; +// } +// } +// #endif + +// LT for S(keycode) +void lt_shift(keyrecord_t *record, uint16_t keycode, uint8_t layer) +{ + if (record->event.pressed) { + key_timer = timer_read(); + layer_on(layer); + } + else { + layer_off(layer); + // for shifted keycodes, hence, LT_SHIFT + key_press(SHIFT, keycode); + clear_mods(); + key_timer = 0; + } +} + +// set layer asap to overcome macro latency errors, notably tap dance and LT usage +// this routine inexplicably (?) sets layer_on() faster than can be done in thumb_layer() +void tap_layer(keyrecord_t *record, uint8_t layer) +{ + if (record->event.pressed) { + layer_on(layer); + } + else { + layer_off(layer); + } +} + +// ..................................................................... Keymaps + +// void persistant_default_layer_set(uint16_t default_layer) +// { +// eeconfig_update_default_layer(default_layer); +// default_layer_set (default_layer); +// } + +void clear_layers(void) +{ + uint8_t layer; + for (layer = 0; layer < _END_LAYERS; layer++) { + layer_off(layer); + } +} + +#ifdef CENTER_TT +static uint16_t tt_keycode = 0; // current TT keycode + +void clear_tt(void) +{ + if (tt_keycode == KC_CAPS) { + tap_key(KC_CAPS); // clear capslock + } + tt_keycode = 0; + clear_layers(); + set_single_persistent_default_layer(_BASE); +} +#endif + +// txbolt plover run state +static uint8_t plover = 0; + +void toggle_plover(uint8_t state) +{ + if (plover != state) { +#ifdef PLOVER_KEYBIND +#include "plover_keybind.h" +#endif + plover = state; + } +} + +void base_layer(void) +{ +#ifdef AUDIO_ENABLE + if (plover) { + PLAY_SONG(song_plover_gb); + } + else { + PLAY_SONG(song_qwerty); + } +#endif + clear_layers(); + set_single_persistent_default_layer(_BASE); + toggle_plover(0); +} + +void steno(keyrecord_t *record) +{ + if (record->event.pressed) { +#ifdef AUDIO_ENABLE + PLAY_SONG(song_plover); +#endif + clear_layers(); + layer_on(_PLOVER); + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + keymap_config.raw = eeconfig_read_keymap(); + keymap_config.nkro = 1; + eeconfig_update_keymap(keymap_config.raw); + if (!plover) { + toggle_plover(1); + } + } +} + +void steno_exit(keyrecord_t *record) +{ + if (record->event.pressed) { + base_layer(); + toggle_plover(0); + } +} diff --git a/keyboards/planck/keymaps/hiea/common/number_fkey_layout.h b/keyboards/planck/keymaps/hiea/common/number_fkey_layout.h new file mode 100644 index 00000000000..321482b2919 --- /dev/null +++ b/keyboards/planck/keymaps/hiea/common/number_fkey_layout.h @@ -0,0 +1,46 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ......................................................... Number Keypad Layer + + // .-----------------------------------------------------------------------------------. + // | | F | E | D | | | | / | 7 | 8 | 9 | * | + // |-----------------------------------------------------------------------------------| + // | GUI | C | B | A | | | | . | 4 | 5 | 6 | - | + // |-----------------------------------------------------------------------------------| + // | | # | G | \ | | | | , | 1 | 2 | 3 | + | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | 0 | = | | | | + // | | | | f() | | | | = | 0 | | | | + // '-----------------------------------------------------------------------------------' + + [_NUMBER] = { + {_______, KC_F, MT_E, KC_D, _______, ___x___, ___x___, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR}, + {OS_GUI, GT_C, AT_B, ST_A, _______, ___x___, ___x___, TD_DOT, KC_4, KC_5, KC_6, KC_MINS}, + {_______, KC_HASH, SM_G, KC_BSLS, _______, ___x___, ___x___, TD_COMM, KC_1, KC_2, KC_3, KC_PLUS}, +#ifdef THUMB_0 + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_0, LT_EQL, ___x___, ___x___, ___x___}, +#else + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_EQL, LT_0, ___x___, ___x___, ___x___}, +#endif + }, + +// ............ .................................................. Function Keys + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | F7 | F8 | F9 | F12 | + // |-----------------------------------------------------------------------------------| + // | Ctrl | GUI | Alt | Shift| | | | | F4 | F5 | F6 | F11 | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | F1 | F2 | F3 | F10 | + // |-----------------------------------------------------------------------------------| + // | | | | | | f() | | + | | | | | + // | | | | | f() | | | + | | | | | see _PLOVER + // '-----------------------------------------------------------------------------------' + + [_FNCKEY] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F7, KC_F8, KC_F9, KC_F12 }, + {OS_GUI, OS_CTL, OS_ALT, OS_SFT, _______, ___x___, ___x___, _______, KC_F4, KC_F5, KC_F6, KC_F11 }, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F1, KC_F2, KC_F3, KC_F10 }, + {_______, _______, _______, _______, ___fn__, ___fn__, _______, KC_PLUS, _______, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/hiea/common/plover_keybind.h b/keyboards/planck/keymaps/hiea/common/plover_keybind.h new file mode 100644 index 00000000000..cb4ef92ef84 --- /dev/null +++ b/keyboards/planck/keymaps/hiea/common/plover_keybind.h @@ -0,0 +1,9 @@ + +// simple window manager specific plover keybind hook + +// toggle plover application, see herbstluftwm/config/appbinds +register_code (KC_LGUI); +register_code (KC_LCTL); +tap_key (KC_EQL); +unregister_code(KC_LCTL); +unregister_code(KC_LGUI); diff --git a/keyboards/planck/keymaps/hiea/common/sounds.h b/keyboards/planck/keymaps/hiea/common/sounds.h new file mode 100644 index 00000000000..1bfc7a6da0c --- /dev/null +++ b/keyboards/planck/keymaps/hiea/common/sounds.h @@ -0,0 +1,14 @@ + +// ................................................................ Audio Sounds + +#ifdef AUDIO_ENABLE +float song_startup [][2] = SONG(STARTUP_SOUND); +float song_colemak [][2] = SONG(COLEMAK_SOUND); +float song_qwerty [][2] = SONG(QWERTY_SOUND); +float song_plover [][2] = SONG(PLOVER_SOUND); +float song_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); +float song_caps_on [][2] = SONG(CAPS_LOCK_ON_SOUND); +float song_caps_off [][2] = SONG(CAPS_LOCK_OFF_SOUND); +float music_scale [][2] = SONG(MUSIC_SCALE_SOUND); +float song_goodbye [][2] = SONG(GOODBYE_SOUND); +#endif diff --git a/keyboards/planck/keymaps/hiea/common/steno_layout.h b/keyboards/planck/keymaps/hiea/common/steno_layout.h new file mode 100644 index 00000000000..ab4a6fe011c --- /dev/null +++ b/keyboards/planck/keymaps/hiea/common/steno_layout.h @@ -0,0 +1,39 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ...................................................................... Plover +#ifdef STENO_ENABLE + // ,-----------------------------------------------------------------------------------. + // | # | # | # | # | # | # | # | # | # | # | # | # | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | Base | S | T | P | H | * | * | F | P | L | T | D | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Base | S | K | W | R | * | * | R | B | G | S | Z | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | A | O | E | U | | + // `-----------------------------------------------------------------------------------' + + [_PLOVER] = { + {STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, STN_N6, STN_N7, STN_N8, STN_N9, STN_NA, STN_NB, STN_NC }, + {BASE1, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR }, + {BASE2, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR }, + {_______, _______, _______, PS_STNA, PS_STNO, _______, _______, PS_STNE, PS_STNU, _______, _______, _______}, + }, +#else + // ,-----------------------------------------------------------------------------------. + // | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | Base | S | T | P | H | * | * | F | P | L | T | D | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Base | S | K | W | R | * | * | R | B | G | S | Z | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | A | O | E | U | | + // `-----------------------------------------------------------------------------------' + + [_PLOVER] = { + {KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 }, + {BASE1, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC}, + {BASE2, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {_______, _______, _______, LT_C, LT_V, _______, _______, LT_N, LT_M, _______, _______, _______}, + }, +#endif diff --git a/keyboards/planck/keymaps/hiea/common/symbol_guifn_layout.h b/keyboards/planck/keymaps/hiea/common/symbol_guifn_layout.h new file mode 100644 index 00000000000..677e46409ba --- /dev/null +++ b/keyboards/planck/keymaps/hiea/common/symbol_guifn_layout.h @@ -0,0 +1,40 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ..................................................... Symbol Navigation Layer + + // .-----------------------------------------------------------------------------------. + // | | ~ | * | & | | | | | Home | Up | End | PgUp | + // |-----------------------------------------------------------------------------------| + // | GUI | ^ | % | $ | | | | | Left | Down | Right| PgDn | + // |-----------------------------------------------------------------------------------| + // | | # | @ | ! | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | |Adjust| \ | | f() | | + // '-----------------------------------------------------------------------------------' + + [_SYMBOL] = { + {_______, KC_TILD, KC_ASTR, KC_AMPR, _______, ___x___, ___x___, _______, KC_HOME, KC_UP, KC_END, KC_PGUP}, + {OS_GUI, SM_CIRC, SM_PERC, SM_DLR, _______, ___x___, ___x___, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN}, + {_______, KC_HASH, KC_AT, KC_EXLM, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {___x___, ___x___, ___x___, ADJUST, LT_BSLS, ___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___}, + }, + +// ............................................................... Mouse Actions + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | Left | Up | Right| Up | + // |-----------------------------------------------------------------------------------| + // | | Btn3 | Btn2 | Btn1 | | | | | Left | Down | Right| Down | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | f() | | f() | | + // '-----------------------------------------------------------------------------------' + + [_MOUSE] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U}, + {_______, KC_BTN3, KC_BTN2, KC_BTN1, _______, ___x___, ___x___, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D}, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, ___fn__, _______, _______, _______, ___fn__, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/hiea/common/tapdance.h b/keyboards/planck/keymaps/hiea/common/tapdance.h new file mode 100644 index 00000000000..d778286bf1e --- /dev/null +++ b/keyboards/planck/keymaps/hiea/common/tapdance.h @@ -0,0 +1,49 @@ + +// tap dance keys +enum tap_dance { + _CAPS = 0 + ,_COLN + ,_COMM + ,_DOT + ,_DQOT + ,_ENT + ,_EQL + ,_GRV + ,_GT + ,_LBRC + ,_LCBR + ,_LPRN + ,_LT + ,_PRIV + ,_QUOT + ,_RBRC + ,_RCBR + ,_RNGL + ,_RPRN + ,_SEND + ,_SPC + ,_TILD +}; + +#define TD_CAPS TD(_CAPS) +#define TD_COLN TD(_COLN) +#define TD_COMM TD(_COMM) +#define TD_DOT TD(_DOT) +#define TD_DQOT TD(_DQOT) +#define TD_ENT TD(_ENT) +#define TD_EQL TD(_EQL) +#define TD_GRV TD(_GRV) +#define TD_GT TD(_GT) +#define TD_LBRC TD(_LBRC) +#define TD_LCBR TD(_LCBR) +#define TD_LPRN TD(_LPRN) +#define TD_LT TD(_LT) +#define TD_PRIV TD(_PRIV) // compile time macro string, provided in private_string.h +#define TD_QUOT TD(_QUOT) +#define TD_RBRC TD(_RBRC) +#define TD_RCBR TD(_RCBR) +#define TD_RNGL TD(_RNGL) +#define TD_RPRN TD(_RPRN) +#define TD_SEND TD(_SEND) // config.h defined macro string +#define TD_SPC TD(_SPC) // see process_record_user() for extended handling of Spc +#define TD_TILD TD(_TILD) diff --git a/keyboards/planck/keymaps/hiea/common/toggle_layout.h b/keyboards/planck/keymaps/hiea/common/toggle_layout.h new file mode 100644 index 00000000000..713d27bbcfc --- /dev/null +++ b/keyboards/planck/keymaps/hiea/common/toggle_layout.h @@ -0,0 +1,102 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ......................................................... Number Keypad Layer + + // .-----------------------------------------------------------------------------------. + // | | F | E | D | | | | / | 7 | 8 | 9 | * | + // |-----------------------------------------------------------------------------------| + // | GUI | C | B | A | | | | . | 4 | 5 | 6 | - | + // |-----------------------------------------------------------------------------------| + // | | # | G | \ | | | | , | 1 | 2 | 3 | + | + // |-----------------------------------------------------------------------------------| + // | | | | f() | Space| | | 0 | = | | | | + // | | | | f() | Space| | | = | 0 | | | | + // '-----------------------------------------------------------------------------------' + + [_TTNUMBER] = { + {_______, KC_F, MT_E, KC_D, _______, ___x___, ___x___, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR}, + {OS_GUI, GT_C, AT_B, ST_A, _______, ___x___, ___x___, TD_DOT, KC_4, KC_5, KC_6, KC_MINS}, + {_______, KC_HASH, SM_G, KC_BSLS, _______, ___x___, ___x___, TD_COMM, KC_1, KC_2, KC_3, KC_PLUS}, +#ifdef THUMB_0 + {_______, _______, _______, TT_ESC, KC_SPC, _______, _______, KC_0, LT_EQL, _______, _______, _______}, +#else + {_______, _______, _______, TT_ESC, KC_SPC, _______, _______, KC_EQL, LT_0, _______, _______, _______}, +#endif + }, + +// ............ .................................................. Function Keys + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | F7 | F8 | F9 | F12 | + // |-----------------------------------------------------------------------------------| + // | GUI | Ctrl | Alt | Shift| | | | | F4 | F5 | F6 | F11 | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | F1 | F2 | F3 | F10 | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | + | | | | | + // '-----------------------------------------------------------------------------------' + + [_TTFNCKEY] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F7, KC_F8, KC_F9, KC_F12 }, + {OS_GUI, OS_CTL, OS_ALT, OS_SFT, _______, ___x___, ___x___, _______, KC_F4, KC_F5, KC_F6, KC_F11 }, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F1, KC_F2, KC_F3, KC_F10 }, + {_______, _______, _______, TT_ESC, _______, _______, _______, KC_PLUS, _______, _______, _______, _______}, + }, + +// ....................................................................... Regex + + // ,-----------------------------------------------------------------------------------. + // | | ~ | { | } | & | | | % | [ | ] | @ | | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | | ^ | < | > | ? | | | | | ( | ) | $ | | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | | : | ! | = | / | | | \ | * | . | # | | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | | | f() | - | | | + | Space| | | | + // `-----------------------------------------------------------------------------------' + + [_TTREGEX] = { + {___x___, KC_TILD, KC_LCBR, KC_RCBR, KC_AMPR, ___x___, ___x___, KC_PERC, KC_LBRC, KC_RBRC, KC_AT, ___x___}, + {___x___, KC_CIRC, KC_LT, KC_GT, KC_QUES, ___x___, ___x___, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, ___x___}, + {___x___, KC_COLN, KC_EXLM, KC_EQL, KC_SLSH, ___x___, ___x___, KC_BSLS, KC_ASTR, KC_DOT, KC_HASH, ___x___}, + {_______, _______, _______, TT_ESC, KC_MINS, _______, _______, KC_PLUS, KC_SPC, _______, _______, _______}, + }, + +// ............................................................ Navigation Layer + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | Home | Up | End | PgUp | + // |-----------------------------------------------------------------------------------| + // | GUI | Ctrl | Alt | Shift| | | | | Left | Down | Right| PgDn | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | | | | | | + // '-----------------------------------------------------------------------------------' + + [_TTCURSOR] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_HOME, KC_UP, KC_END, KC_PGUP}, + {OS_GUI, OS_CTL, OS_ALT, OS_SFT, _______, ___x___, ___x___, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN}, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {_______, _______, _______, TT_ESC, _______, _______, _______, _______, _______, _______, _______, _______}, + }, + +// ............................................................... Mouse Actions + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | Left | Up | Right| Up | + // |-----------------------------------------------------------------------------------| + // | | Btn3 | Btn2 | Btn1 | | | | | Left | Down | Right| Down | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | | | | | | + // '-----------------------------------------------------------------------------------' + + [_TTMOUSE] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U}, + {_______, KC_BTN3, KC_BTN2, KC_BTN1, _______, ___x___, ___x___, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D}, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {_______, _______, _______, TT_ESC, _______, _______, _______, _______, _______, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/hiea/config.h b/keyboards/planck/keymaps/hiea/config.h new file mode 100644 index 00000000000..9bb5e087350 --- /dev/null +++ b/keyboards/planck/keymaps/hiea/config.h @@ -0,0 +1,50 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +// required because lower/raise modifiers are redefined by colemak-dh +#define PREVENT_STUCK_MODIFIERS + +// tap dance key press termination interval +#define TAPPING_TERM 250 + +// smooth mouse motion +// #define MOUSEKEY_INTERVAL 20 +// #define MOUSEKEY_DELAY 0 +// #define MOUSEKEY_TIME_TO_MAX 60 +// #define MOUSEKEY_MAX_SPEED 7 +// #define MOUSEKEY_WHEEL_DELAY 0 + +// compile time macro string, see functions/hardware planck script (undefine otherwise) +#define PRIVATE_STRING + +// compile time macro string, must be in quotes +#define PUBLIC_STRING ":%s/arch=(.*)/arch=('any')\n" + +// thumb key tap-shift() double tap: one shot shift (0) off (1) on +#define DT_SHIFT 1 + +// number layer 0 position KEYPAD_0, THUMB_0 +#define THUMB_0 + +// home block shift symbol clustes defined (no overlays required for extended symbols, undefine otherwise) +#define SHIFT_SYMBOLS + +// center column TT assignments (undefine for OSM chords) +#define CENTER_TT +#define TAPPING_TOGGLE 1 + +// home row modifiers +#define HOME_MODS +// fix dual function timing +#define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT + +// layout ADNW*, BEAKL*, COLEKA*, QWERTY (default) +#define DEFAULT + +// sync app with window manager keybind hook defined in plover_keybind.h +#define PLOVER_KEYBIND + +#endif diff --git a/keyboards/planck/keymaps/hiea/hiea.h b/keyboards/planck/keymaps/hiea/hiea.h new file mode 100644 index 00000000000..093802aef16 --- /dev/null +++ b/keyboards/planck/keymaps/hiea/hiea.h @@ -0,0 +1,63 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// .................................................................. BEAKL HIEA +#ifdef DEFAULT + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Shift| Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | A | . |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | K | , | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Ins | Left | Ent | Bksp | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_Z, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_N, KC_M, KC_X }, + {HOME_H, HOME_I, HOME_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, HOME_T, HOME_R, HOME_S, HOME_W }, + {KC_J, KC_SCLN, TD_QUOT, KC_K, KC_COMM, CNTR_BL, CNTR_BR, KC_B, KC_P, KC_L, KC_F, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_INS, SP_LEFT, TD_ENT, SP_BSPC, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_H), S(KC_I), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), KC_SCLN, TD_QUOT, S(KC_K), KC_COMM, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_INS, SP_LEFT, TD_ENT, SP_BSPC, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | [ | ] | Z | Shift| Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | ^ | < | > | ~ |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | ! | = | ` | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | ↑Tab | f() | Ins | Left | _ | Del | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_Y), KC_LBRC, KC_RBRC, S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {SM_H, KC_CIRC, TD_LT, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_Z), KC_COLN, KC_EXLM, KC_EQL, TD_GRV, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, S_TAB, ___fn__, LT_INS, S_LEFT, KC_UNDS, SP_DEL, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Shift| Caps | G | { | } | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | A | ? |Cursor| Mouse| | | ( | ) | $ | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | K | / | Num | Regex| \ | * | . | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Tab | - | Ins | Left | f() | Bksp | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), KC_LCBR, KC_RCBR, S(KC_M), S(KC_X)}, + {S(KC_H), S(KC_I), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, SM_W }, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_K), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_ASTR, KC_DOT, S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_TAB, KC_MINS, LT_INS, S_LEFT, ___fn__, SP_BSPC, S_DOWN, S_UP, S_RGHT }, + }, +#endif diff --git a/keyboards/planck/keymaps/hiea/keymap.c b/keyboards/planck/keymaps/hiea/keymap.c new file mode 100644 index 00000000000..2f573f9a45d --- /dev/null +++ b/keyboards/planck/keymaps/hiea/keymap.c @@ -0,0 +1,429 @@ +// 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. +// +// To flash planck firmware +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// Reset keyboard or press hw reset button on base (hole) +// +// cd qmk_firmware/keyboards/planck +// sudo make KEYMAP=sdothum dfu +// +// sudo make clean (good practice before flashing) +// sudo make KEYMAP=sdothum (to compile check) +// +// Package requirements (for arch linux) +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// avr-gcc-atmel +// avr-libc-atmel +// dfu-programmer +// +// Notes +// ▔▔▔▔▔ +// ** E R G O W I D E S P L I T ** Layout +// +// Autocompletion tap dance key pairs (),[],{} are available from the +// number/symbol layer, as well as, numerous (un)shift key values +// +// The navigation pad provides a single hand right thumb activated cluster +// with left hand modifiers +// +// #define PRIVATE_STRING includes private_string.h, a user defined code +// block for the PRIV tap dance e.g. SEND_STRING("secret messape"), +// see function private() +// +// Modifier clusters +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// The num and sym keys together access the navigation pad layer +// +// ,-----------------------------------------------------------------------------------. +// | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| +// `-----------------------------------------------------------------------------------' +// +// Hint +// ▔▔▔▔ +// For sculpted keycaps such as Cherry or OEM profile, reverse the Alt, Num, +// Shift, Shift, Nav, Sym keycaps for more ergonomic thumb orientation and +// actuation +// +// Code +// ▔▔▔▔ +// This source is shamelessly based on the "default" planck layout +// +// #ifdef/#endif block structures are not indented, as syntax highlighting +// in vim is sufficient for identification +// +// c++ commenting style is used throughout +// +// Change history +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// See http://thedarnedestthing.com/planck%20constant +// See http://thedarnedestthing.com/planck%20done + + + +// === N O T E === +// +// sudo CPATH=/common make ... + + +#include "config.h" +#include "planck.h" +#include "action_layer.h" +#ifdef STENO_ENABLE +#include "keymap_steno.h" +#endif +#ifdef AUDIO_ENABLE +#include "audio.h" +#endif +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +enum planck_layers { + _BASE = 0 + ,_SHIFT + ,_LSHIFT + ,_RSHIFT + ,_PLOVER + ,_NUMBER + ,_SYMBOL + ,_FNCKEY + ,_MOUSE +#ifdef CENTER_TT + ,_TTNUMBER + ,_TTREGEX + ,_TTFNCKEY + ,_TTCURSOR + ,_TTMOUSE +#endif + ,_EDIT + ,_ADJUST + ,_END_LAYERS +}; + +enum planck_keycodes { + BASE = SAFE_RANGE + ,BASE1 + ,BASE2 + ,PLOVER + ,SM_CIRC // pseudo GUI_T(S(KC_6)) for shifted key-codes, see process_record_user() + ,SM_DLR // pseudo SFT_T(S(KC_4)) for shifted key-codes, see process_record_user() + ,SM_G // pseudo MT (MOD_LALT | MOD_LSFT, S(KC_G)) for shifted key-codes, see process_record_user() + ,SM_H // pseudo MT (MOD_LCTL | MOD_LSFT, S(KC_H)) for shifted key-codes, see process_record_user() + ,SM_PERC // pseudo ALT_T(S(KC_5)) for shifted key-codes, see process_record_user() + ,SM_W // pseudo MT (MOD_LGUI | MOD_LSFT, S(KC_W)) for shifted key-codes, see process_record_user() + ,SL_LEFT // pseudo LT (_MOUSE, S(KC_LEFT)) for shifted key-codes, see process_record_user() + ,SP_DEL // pseudo LT (_MOUSE, KC_DEL) for shifted key-codes, see process_record_user() + ,SL_TAB // pseudo LT (_FNCKEY, S(KC_TAB)) for shifted key-codes, see process_record_user() +#ifdef CENTER_TT + ,TT_ESC +#endif +#ifdef STENO_ENABLE + ,PS_STNA = STN_A + ,PS_STNO = STN_O + ,PS_STNE = STN_E + ,PS_STNU = STN_U +#else + ,LT_C = LT (_NUMBER, KC_C) + ,LT_V = LT (_FNCKEY, KC_V) + ,LT_N = LT (_EDIT, KC_N) + ,LT_M = LT (_SYMBOL, KC_M) +#endif +}; + +// modifier keys +#define AT_B ALT_T(KC_B) +#define AT_DOWN ALT_T(KC_DOWN) +#define CT_RGHT CTL_T(KC_RGHT) +#define GT_C GUI_T(KC_C) +#define GT_UP GUI_T(KC_UP) +#define MT_E MT (MOD_LCTL | MOD_LALT, KC_E) +#define ST_A SFT_T(KC_A) +#ifdef HOME_MODS +#define HOME_H GUI_T(KC_H) +#define HOME_I CTL_T(KC_I) +#define HOME_E ALT_T(KC_E) +#define HOME_A SFT_T(KC_A) +#define HOME_T SFT_T(KC_T) +#define HOME_R ALT_T(KC_R) +#define HOME_S CTL_T(KC_S) +#define HOME_W GUI_T(KC_W) +#else +#define HOME_H KC_H +#define HOME_I KC_I +#define HOME_E KC_E +#define HOME_A KC_A +#define HOME_T KC_T +#define HOME_R KC_R +#define HOME_S KC_S +#define HOME_W KC_W +#endif + +#define S_DOWN S (KC_DOWN) +#define S_LEFT S (KC_LEFT) +#define S_RGHT S (KC_RGHT) +#define S_TAB S (KC_TAB) +#define S_UP S (KC_UP) + +#include "tapdance.h" + +// keycodes +#define ___x___ KC_TRNS +#define ___fn__ KC_TRNS +#ifdef _______ +#undef _______ +#endif +#define _______ KC_NO + +#define COPY LCTL(KC_C) +#define CUT LCTL(KC_X) +#define EOT LCTL(KC_D) +#define NAK LCTL(KC_U) +#define PASTE LCTL(KC_V) +#define UNDO LCTL(KC_Z) +#define TMCOPY LALT(LCTL(KC_C)) +#define TMPASTE LALT(LCTL(KC_V)) +#define LT_BSLS LT (_MOUSE, KC_BSLS) // see process_record_user() for extended handling +#define LT_BSPC LT (_EDIT, KC_BSPC) +#define SP_LEFT LT (_EDIT, KC_LEFT) +#define LT_ESC LT (_NUMBER, KC_ESC) +#define LT_LEFT LT (_SYMBOL, KC_LEFT) // see process_record_user() for extended handling +#define SP_BSPC LT (_SYMBOL, KC_BSPC) // see process_record_user() for extended handling +#define LT_TAB LT (_FNCKEY, KC_TAB) +#define LT_INS LT (_FNCKEY, KC_INS) +#define ADJUST MO (_ADJUST) +#define OS_ALT OSM (MOD_LALT) +#define OS_CTL OSM (MOD_LCTL) +#define OS_GUI OSM (MOD_LGUI) +#define OS_SFT OSM (MOD_LSFT) + +#ifdef CENTER_TT +#define CNTR_TL TT (_TTFNCKEY) +#define CNTR_TR KC_CAPS +#define CNTR_HL TT (_TTCURSOR) +#define CNTR_HR TT (_TTMOUSE) +#define CNTR_BL TT (_TTNUMBER) +#define CNTR_BR TT (_TTREGEX) +#else +#define CNTR_TL OSM (MOD_LALT | MOD_LCTL) +#define CNTR_TR OSM (MOD_LGUI | MOD_LCTL) +#define CNTR_HL OSM (MOD_LALT | MOD_LSFT) +#define CNTR_HR OSM (MOD_LGUI | MOD_LSFT) +#define CNTR_BL TD (_CAPS) +#define CNTR_BR OSM (MOD_LSFT | MOD_LCTL) +#endif + +#ifdef THUMB_0 +#define LT_EQL LT (_ADJUST, KC_EQL) +#else +#define LT_0 LT (_ADJUST, KC_0) +#endif + +// ........................................................ Default Alpha Layout + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +#include "hiea.h" +#include "steno_layout.h" + +// ...................................................... Number / Function Keys + +#include "number_fkey_layout.h" + +// ......................................................... Symbol / Navigation + +#include "symbol_guifn_layout.h" + +// ............................................................... Toggle Layers + +#ifdef CENTER_TT +#include "toggle_layout.h" +#endif + +// ......................................................... Short Cuts / Adjust + +#include "chord_layout.h" + +}; + +// ...................................................................... Sounds + +#include "sounds.h" + +// ........................................................... User Keycode Trap + +#include "keycode_functions.h" + +#define BASE_1 1 +#define BASE_2 2 +#define BASE_12 3 +static uint8_t base_n = 0; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) +{ + switch (keycode) { + case BASE1: + if (record->event.pressed) { + base_n = base_n | BASE_1; + if (base_n == BASE_12) { + base_layer(); + } + } + else { + base_n = base_n & ~BASE_1; + } + return false; + case BASE2: + if (record->event.pressed) { + base_n = base_n | BASE_2; + if (base_n == BASE_12) { + base_layer(); + } + } + else { + base_n = base_n & ~BASE_2; + } + return false; + case AT_DOWN: +#ifdef HOME_MODS + case HOME_E: + case HOME_R: +#endif + tap_mods(record, KC_LALT); + break; + case CT_RGHT: +#ifdef HOME_MODS + case HOME_H: + case HOME_W: +#endif + tap_mods(record, KC_LGUI); + break; + case GT_UP: +#ifdef HOME_MODS + case HOME_I: + case HOME_S: +#endif + tap_mods(record, KC_LCTL); + break; +#ifdef HOME_MODS + case HOME_A: + case HOME_T: + tap_mods(record, KC_LSFT); + break; +#endif +#ifdef CENTER_TT + case TT_ESC: + clear_tt(); // exit TT layer + return false; +#endif + case LT_ESC: +#ifdef CENTER_TT + if (tt_keycode != 0) { + clear_tt(); // exit TT layer + return false; + } +#endif + tap_layer(record, _NUMBER); + break; + case LT_LEFT: + case SP_BSPC: + tap_layer(record, _SYMBOL); + // LT (_SYMBOL, KC_LEFT) left right combination layer + thumb_layer(record, RIGHT, 0, 0, _SYMBOL, _LSHIFT); + break; + case OS_ALT: + tap_mods(record, KC_LALT); + break; + case OS_CTL: + tap_mods(record, KC_LCTL); + break; + case OS_GUI: + tap_mods(record, KC_LGUI); + break; + case SM_CIRC: + // GUI_T(S(KC_6)) + mt_shift(record, KC_LGUI, 0, KC_6); + break; + case SM_DLR: + // SFT_T(S(KC_4)) + mt_shift(record, KC_LSFT, 0, KC_4); + break; + case SM_G: + // MT(MOD_LALT | MOD_LSFT, S(KC_G)) + mt_shift(record, KC_LALT, KC_LSFT, KC_G); + break; + case SM_H: + // MT(MOD_LCTL | MOD_LSFT, S(KC_K)) + mt_shift(record, KC_LCTL, KC_LSFT, KC_H); + break; + case SM_W: + // MT(MOD_LGUI | MOD_LSFT, S(KC_W)) + mt_shift(record, KC_LGUI, KC_LSFT, KC_W); + break; + case SM_PERC: + // ALT_T(S(KC_5)) + mt_shift(record, KC_LALT, 0, KC_5); + break; + case LT_BSLS: + tap_layer(record, _MOUSE); + // LT (_MOUSE, KC_BSLS) left right combination layer, see #define LT_BSLS + thumb_layer(record, LEFT, 0, 0, _MOUSE, _SYMBOL); + break; + case SL_LEFT: + tap_layer(record, _MOUSE); + // LT (_MOUSE, S(KC_LEFT)) left right combination layer + thumb_layer(record, RIGHT, SHIFT, KC_LEFT, _MOUSE, _LSHIFT); + break; + case SP_DEL: + tap_layer(record, _MOUSE); + // LT (_MOUSE, S(KC_LEFT)) left right combination layer + thumb_layer(record, RIGHT, NOSHIFT, KC_DEL, _MOUSE, _LSHIFT); + break; + case SL_TAB: + // LT (_FNCKEY, S(KC_TAB)) emulation + lt_shift(record, KC_TAB, _FNCKEY); + break; + case TD_ENT: + tap_layer(record, _RSHIFT); + // LT (_RSHIFT, KC_ENT) emulation, see tap dance enter + break; + case TD_SPC: + tap_layer(record, _LSHIFT); + // LT (_LSHIFT, KC_SPC) left right combination layer, see tap dance TD_SPC + thumb_layer(record, LEFT, 0, 0, _LSHIFT, _SYMBOL); + break; +#ifdef CENTER_TT + case CNTR_TL: + case CNTR_TR: + case CNTR_HL: + case CNTR_HR: + case CNTR_BL: + case CNTR_BR: + if (tt_keycode != keycode && tt_keycode != 0) { + clear_tt(); // return to base layer first if different TT layer selected + } + tt_keycode = keycode; + break; +#endif +// #ifdef STENO_ENABLE +// case PS_STNA: +// stn_layer(record, STN_A, _NUMBER); +// break; +// case PS_STNO: +// stn_layer(record, STN_O, _FNCKEY); +// break; +// case PS_STNE: +// stn_layer(record, STN_E, _EDIT); +// break; +// case PS_STNU: +// stn_layer(record, STN_U, _SYMBOL); +// break; +// #endif + case PLOVER: + steno(record); + return false; + } + return true; +} + +#include "init.h" diff --git a/keyboards/planck/keymaps/hiea/qwerty.h b/keyboards/planck/keymaps/hiea/qwerty.h new file mode 100644 index 00000000000..d11d0478b3f --- /dev/null +++ b/keyboards/planck/keymaps/hiea/qwerty.h @@ -0,0 +1,64 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ...................................................................... Qwerty +#ifdef QWERTY + // ,-----------------------------------------------------------------------------------. + // | Q | W | E | R | T | ^Alt | ^GUI | Y | U | I | O | P | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | S | D | F | G | ↑Alt | ↑GUI | H | J | K | L | ; | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | X | C | V | B | Caps |^Shift| N | M | , | . | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_W, KC_E, KC_R, KC_T, CNTR_TL, CNTR_TR, KC_Y, KC_U, KC_I, KC_O, KC_P }, + {KC_A, KC_S, KC_D, KC_F, KC_G, CNTR_HL, CNTR_HR, KC_H, KC_J, KC_K, KC_L, KC_SCLN}, + {KC_Z, KC_X, KC_C, KC_V, KC_B, CNTR_BL, CNTR_BR, KC_N, KC_M, KC_COMM, KC_DOT, TD_QUOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_W), S(KC_E), S(KC_R), S(KC_T), CNTR_TL, CNTR_TR, S(KC_Y), S(KC_U), S(KC_I), S(KC_O), S(KC_P)}, + {S(KC_A), S(KC_S), S(KC_D), S(KC_F), S(KC_G), CNTR_HL, CNTR_HR, S(KC_H), S(KC_J), S(KC_K), S(KC_L), KC_SCLN}, + {S(KC_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), CNTR_BL, CNTR_BR, S(KC_N), S(KC_M), KC_COMM, KC_DOT, TD_QUOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | W | E | R | T | ^Alt | ^GUI | Y | U | I | O | P | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | S | D | F | G | ↑Alt | ↑GUI | H | J | K | L | : | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | X | C | V | B | Caps |^Shift| N | M | / | ? | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | - | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_W), S(KC_E), S(KC_R), S(KC_T), CNTR_TL, CNTR_TR, S(KC_Y), S(KC_U), S(KC_I), S(KC_O), S(KC_P)}, + {S(KC_A), S(KC_S), S(KC_D), S(KC_F), S(KC_G), CNTR_HL, CNTR_HR, S(KC_H), S(KC_J), S(KC_K), S(KC_L), TD_COLN}, + {S(KC_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), CNTR_BL, CNTR_BR, S(KC_N), S(KC_M), KC_SLSH, KC_QUES, TD_DQOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_MINS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | W | E | R | T | ^Alt | ^GUI | Y | U | I | O | P | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | S | D | F | G | ↑Alt | ↑GUI | H | J | K | L | : | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | X | C | V | B | Caps |^Shift| N | M | ~ | ` | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | _ | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_W), S(KC_E), S(KC_R), S(KC_T), CNTR_TL, CNTR_TR, S(KC_Y), S(KC_U), S(KC_I), S(KC_O), S(KC_P)}, + {S(KC_A), S(KC_S), S(KC_D), S(KC_F), S(KC_G), CNTR_HL, CNTR_HR, S(KC_H), S(KC_J), S(KC_K), S(KC_L), TD_COLN}, + {S(KC_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), CNTR_BL, CNTR_BR, S(KC_N), S(KC_M), TD_TILD, TD_GRV, TD_DQOT}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_UNDS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + diff --git a/keyboards/planck/keymaps/hiea/readme.md b/keyboards/planck/keymaps/hiea/readme.md new file mode 100644 index 00000000000..58f73e3b445 --- /dev/null +++ b/keyboards/planck/keymaps/hiea/readme.md @@ -0,0 +1,10 @@ +# The sdothum extended Default Planck Layout + +- Colemak-DH layout layer with shift/tab key overlays +- Number and symbol/function key layer +- Hexadecimal keypad layer +- Navigation keypad layer +- Dynamic macro layer +- Autocompletion tap key pairs (),[],{} +- Normalized enter and esc key position across keyboard layers +- Extensive use of tap keys diff --git a/keyboards/planck/keymaps/hiea/rules.mk b/keyboards/planck/keymaps/hiea/rules.mk new file mode 100644 index 00000000000..40f153844c1 --- /dev/null +++ b/keyboards/planck/keymaps/hiea/rules.mk @@ -0,0 +1,26 @@ +# 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 = no # 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 +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. +STENO_ENABLE = yes # enable TX Bolt protocol, requires VIRTSER and may not work with mouse keys + +# do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # breathing sleep LED during USB suspend + +TAP_DANCE_ENABLE = yes # enable double tap completion of (),[],{} + +ifndef QUANTUM_DIR +include ../../../../Makefile +endif diff --git a/keyboards/planck/keymaps/hieax/common/chord_layout.h b/keyboards/planck/keymaps/hieax/common/chord_layout.h new file mode 100644 index 00000000000..2c785d56ca7 --- /dev/null +++ b/keyboards/planck/keymaps/hieax/common/chord_layout.h @@ -0,0 +1,41 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// .................................................................. Short Cuts + + // .-----------------------------------------------------------------------------------. + // | | | Copy | Paste| | | | | | | | | + // |--------------------------------------------------------------+------+------+------| + // | Undo | Cut | Copy | Paste| | | | | PRIV | PUB | | | + // |-----------------------------------------------------------------------------------| + // | | | Nak | Eot | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | | | | | f() | | | | | | + // | | | | | | | | f() | | | | | see _PLOVER + // '-----------------------------------------------------------------------------------' + + [_EDIT] = { + {_______, _______, TMCOPY, TMPASTE, _______, _______, _______, _______, _______, _______, _______, _______}, + {UNDO, CUT, COPY, PASTE, _______, _______, _______, _______, TD_PRIV, TD_SEND, _______, _______}, + {_______, _______, NAK, EOT, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, ___fn__, ___fn__, _______, _______, _______, _______}, + }, + +// ................................................................ Adjust Layer + + // ,-----------------------------------------------------------------------------------. + // |Plover| | | | | | | | | | | | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // |Aud on| | | | | | | | | | | | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Reset| | | | | | | | | | | | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | | | f() | | | | | f() | | | | + // `-----------------------------------------------------------------------------------' + + [_ADJUST] = { + {PLOVER, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {AU_ON, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, ___fn__, _______, _______, _______, _______, ___fn__, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/hieax/common/init.h b/keyboards/planck/keymaps/hieax/common/init.h new file mode 100644 index 00000000000..6366a19f65e --- /dev/null +++ b/keyboards/planck/keymaps/hieax/common/init.h @@ -0,0 +1,56 @@ + +// ....................................................................... Audio + +void matrix_init_user(void) +{ +#ifdef STENO_ENABLE + steno_set_mode(STENO_MODE_BOLT); // or STENO_MODE_GEMINI +#endif +#ifdef AUDIO_ENABLE + startup_user(); +#endif +} + +#ifdef AUDIO_ENABLE +#ifdef BACKLIGHT_ENABLE +void led_set_user(uint8_t usb_led) +{ + static uint8_t old_usb_led = 0; + _delay_ms(10); // gets rid of tick + if (!is_playing_notes()) { + if ((usb_led & (1<event.pressed) { + key_timer = timer_read(); + register_code(modifier); + if (modifier2) { + register_code(modifier2); + } + } + else { + unregister_code(modifier); + if (modifier2) { + unregister_code(modifier2); + } + if (timer_elapsed(key_timer) < TAPPING_TERM) { + shift_key(keycode); + } + key_timer = 0; + } +} + +// ................................................................... Mod Masks + +// tap dance persistant mods, see process_record_user() +// keyboard_report->mods (?) appears to be cleared by tap dance +static uint8_t mods = 0; + +void tap_mods(keyrecord_t *record, uint16_t keycode) +{ + if (record->event.pressed) { + mods |= MOD_BIT(keycode); + } + else { + mods &= ~(MOD_BIT(keycode)); + } +} + +// (un)register modifiers +void modifier(void (*f)(uint8_t)) +{ + if (mods & MOD_BIT(KC_LCTL)) { + (*f)(KC_LCTL); + } + if (mods & MOD_BIT(KC_LGUI)) { + (*f)(KC_LGUI); + } + if (mods & MOD_BIT(KC_LALT)) { + (*f)(KC_LALT); + } + if (mods & MOD_BIT(KC_LSFT)) { + (*f)(KC_LSFT); + } + if (mods & MOD_BIT(KC_RSFT)) { + (*f)(KC_RSFT); + } +} + +// .................................................... Triple Dance Shift/Layer + +static uint8_t dt_shift = 0; + +void double_shift(uint16_t keycode, uint8_t layer) +{ + tap_key (keycode); + if (DT_SHIFT) { + // set_oneshot_mods(MOD_LSFT); + // layer_on(layer); + layer_on (_SHIFT); + set_oneshot_layer(_SHIFT, ONESHOT_START); + dt_shift = 1; + } + else { + layer_on(layer); + } +} + +// tap dance LT (LAYER, KEY) emulation with -> and auto-repeat extensions! +void tap_shift(qk_tap_dance_state_t *state, uint16_t keycode, uint8_t layer) +{ + // double tap plus down + if (state->count > 2) { + // double enter shift + if (keycode == KC_ENT) { + tap_key (keycode); + double_shift(keycode, layer); + } + // repeating keycode + else { + register_code(keycode); + } + } + // tap plus down (or double tap): keycode (one shot) shift + else if (state->count > 1) { + double_shift(keycode, layer); + } + // down: shift + else if (state->pressed) { + layer_on(layer); + } + // tap: keycode + else { + modifier(register_code); + tap_key (keycode); + modifier(unregister_code); + } +} + +void tap_reset(uint16_t keycode, uint8_t layer) +{ + unregister_code(keycode); + if (DT_SHIFT && dt_shift) { + clear_oneshot_layer_state(ONESHOT_PRESSED); + dt_shift = 0; + } + else { + layer_off(layer); + } +} + +// augment pseudo LT (_RSHIFT, KC_ENT) handling below for rapid sequences +void enter(qk_tap_dance_state_t *state, void *user_data) +{ + tap_shift(state, KC_ENT, _RSHIFT); +} + +void enter_reset(qk_tap_dance_state_t *state, void *user_data) +{ + tap_reset(KC_ENT, _RSHIFT); +} + +// augment pseudo LT (_LSHIFT, KC_SPC) handling below for rapid sequences +void space(qk_tap_dance_state_t *state, void *user_data) +{ + tap_shift(state, KC_SPC, _LSHIFT); +} + +void space_reset(qk_tap_dance_state_t *state, void *user_data) +{ + tap_reset(KC_SPC, _LSHIFT); +} + +// ......................................................... Triple Dance Insert + +void double_max(uint8_t count, uint8_t shift, uint16_t keycode) +{ + if (shift) { + shift_key(keycode); + if (count > 1) { + shift_key(keycode); + } + } + else { + tap_key(keycode); + if (count > 1) { + tap_key(keycode); + } + } +} + +void colon(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key (KC_SPC); + shift_key(KC_SCLN); + shift_key(KC_SCLN); + tap_key (KC_SPC); + } + else { + double_max(state->count, SHIFT, KC_SCLN); + } + reset_tap_dance(state); +} + +void eql(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key(KC_SPC); + tap_key(KC_SLSH); + tap_key(KC_EQL); + tap_key(KC_SPC); + } + else { + double_max(state->count, NOSHIFT, KC_EQL); + } + reset_tap_dance(state); +} + +void greater(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key (KC_SPC); + tap_key (KC_MINS); + shift_key(KC_DOT); + tap_key (KC_SPC); + } + else { + double_max(state->count, SHIFT, KC_DOT); + } + reset_tap_dance(state); +} + +void lesser(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key (KC_SPC); + shift_key(KC_COMM); + tap_key (KC_MINS); + tap_key (KC_SPC); + } + else { + double_max(state->count, SHIFT, KC_COMM); + } + reset_tap_dance(state); +} + +void tilde(qk_tap_dance_state_t *state, void *user_data) +{ + // double tap plus down: repeating keycode + if (state->count > 2) { + register_code(KC_LSFT); + register_code(KC_GRV); + } + // tap: keycode + else { + shift_key(KC_GRV); + // double tap: unix home directory + if (state->count > 1) { + tap_key(KC_SLSH); + } + } +} + +void tilde_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_GRV); + unregister_code(KC_LSFT); +} + +// ............................................................. Tap Dance Pairs + +// tap dance shift rules +#define S_NEVER 0 +#define S_SINGLE 1 +#define S_DOUBLE 2 +#define S_ALWAYS S_SINGLE | S_DOUBLE + +void symbol_pair(uint8_t shift, uint16_t left, uint16_t right) +{ + if (shift & S_DOUBLE) { + shift_key(left); + shift_key(right); + } + else { + tap_key(left); + tap_key(right); + } +} + +#define CLOSE 1 + +// tap dance symbol pairs +void tap_pair(qk_tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_t right, uint16_t modifier, uint8_t close) +{ + // triple tap: left right with cursor between symbol pair a la vim :-) + if (state->count > 2) { + symbol_pair(shift, left, right); + tap_key (KC_LEFT); + } + // double tap: left right + else if (state->count > 1) { + symbol_pair(shift, left, right); + } + // down: modifier + else if (state->pressed) { + if (modifier) { + register_code(modifier); + } + } + // tap: left (close: right) + else { + if (shift & S_SINGLE) { + shift_key(close ? right : left); + } + else { + tap_key(close ? right : left); + } + } + if (!modifier) { + reset_tap_dance(state); + } +} + +void doublequote(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_QUOT, KC_QUOT, 0, 0); +} + +void grave(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_GRV, KC_GRV, 0, 0); +} + +void lbrace(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, 0); +} + +void lcurly(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, 0); +} + +void lparen(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_9, KC_0, KC_LCTL, 0); +} + +void lparen_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_LCTL); +} + +void quote(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_QUOT, KC_QUOT, 0, 0); +} + +void rangle(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_COMM, KC_DOT, 0, CLOSE); +} + +void rbrace(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, CLOSE); +} + +void rcurly(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, CLOSE); +} + +void rparen(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_9, KC_0, 0, CLOSE); +} + +void rparen_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_LCTL); +} + +// ............................................................ Tap Dance Insert + +void comma(qk_tap_dance_state_t *state, void *user_data) +{ + tap_key(KC_COMM); + if (state->count > 1) { + tap_key(KC_SPC); + } + reset_tap_dance(state); +} + +void dot(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { + shift_key(KC_COLN); + } + else { + tap_key(KC_DOT); + } + reset_tap_dance(state); +} + +// compile time macro string, see functions/hardware planck script +void private(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { +#ifdef PRIVATE_STRING +#include "private_string.h" +#endif + } + reset_tap_dance(state); +} + +// config.h defined string +void send(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { + SEND_STRING(PUBLIC_STRING); + } + reset_tap_dance(state); +} + +// .......................................................... Tap Dance One Shot + +void caps(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { + tap_key(KC_CAPS); + } + else { + set_oneshot_mods(MOD_LSFT); + register_code (KC_LSFT); // on hold down + } +} + +void caps_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_LSFT); +} + +// ................................................................... Tap Dance + +qk_tap_dance_action_t tap_dance_actions[] = { + [_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, caps, caps_reset) + ,[_COLN] = ACTION_TAP_DANCE_FN (colon) + ,[_COMM] = ACTION_TAP_DANCE_FN (comma) + ,[_DOT] = ACTION_TAP_DANCE_FN (dot) + ,[_DQOT] = ACTION_TAP_DANCE_FN (doublequote) + ,[_ENT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, enter, enter_reset) + ,[_EQL] = ACTION_TAP_DANCE_FN (eql) + ,[_GRV] = ACTION_TAP_DANCE_FN (grave) + ,[_GT] = ACTION_TAP_DANCE_FN (greater) + ,[_LBRC] = ACTION_TAP_DANCE_FN (lbrace) + ,[_LCBR] = ACTION_TAP_DANCE_FN (lcurly) + ,[_LPRN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lparen, lparen_reset) + ,[_LT] = ACTION_TAP_DANCE_FN (lesser) + ,[_PRIV] = ACTION_TAP_DANCE_FN (private) + ,[_QUOT] = ACTION_TAP_DANCE_FN (quote) + ,[_RBRC] = ACTION_TAP_DANCE_FN (rbrace) + ,[_RCBR] = ACTION_TAP_DANCE_FN (rcurly) + ,[_RNGL] = ACTION_TAP_DANCE_FN (rangle) + ,[_RPRN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rparen, rparen_reset) + ,[_SEND] = ACTION_TAP_DANCE_FN (send) + ,[_SPC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, space, space_reset) + ,[_TILD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tilde, tilde_reset) +}; + +// .............................................................. Dynamic Layers + +#define LEFT 1 +#define RIGHT 2 +static uint8_t thumb = 0; + +// LEFT (KC_SPC, S(KC_BSLS)), RIGHT (KC_LEFT, S(KC_LEFT)) opposite thumb combinations, see process_record_user() +// up, up -> _BASE +// up, down -> _SYMBOL +// down, up -> _NUMBER +// down, down -> _MOUSE // see layer keycodes that raise mouse layer +#define THUMBS_DOWN _MOUSE // layer + +static uint8_t overlayer = 0; + +// left right thumb layer combinations +void thumb_layer(keyrecord_t *record, uint8_t side, uint8_t shift, uint16_t keycode, uint8_t thumb_dn_layer, uint8_t thumb_up_layer) +{ + if (record->event.pressed) { + // layer_on via tap_layer(), see process_record_user() + key_timer = timer_read(); + thumb = thumb | side; + } + else { + layer_off(thumb_dn_layer); + // opposite thumb_layer() thumb may have switched effective layer! + if (overlayer) { + layer_off(overlayer); + overlayer = 0; + } + if (!key_press(shift, keycode)) { + layer_off(THUMBS_DOWN); // both thumbs needed + // opposite thumb down? see left right combination layer table above + if (thumb & (side == LEFT ? RIGHT : LEFT)) { + layer_on(thumb_up_layer); + overlayer = thumb_up_layer; + } + } + clear_mods(); + thumb = thumb & ~side; + key_timer = 0; + } +} + +// #ifdef STENO_ENABLE +// // LT for steno keycode +// void stn_layer(keyrecord_t *record, uint16_t keycode, uint8_t layer) +// { +// if (record->event.pressed) { +// key_timer = timer_read(); +// if (keycode) { +// process_steno(keycode, record); +// } +// layer_on(layer); +// } +// else { +// layer_off(layer); +// if (keycode) { +// if (timer_elapsed(key_timer) < TAPPING_TERM) { +// process_steno(keycode, record); +// } +// else { +// // clear pressed state (request push of updated) process_steno.c and .h +// // steno_clear_state(); +// } +// } +// key_timer = 0; +// } +// } +// #endif + +// LT macro for nested LT layers +void lt(keyrecord_t *record, uint8_t shift, uint16_t keycode, uint16_t modifier, uint8_t layer) +{ + if (record->event.pressed) { + key_timer = timer_read(); + if (modifier) { + register_code(modifier); + } + layer_on(layer); + } + else { + if (modifier) { + unregister_code(modifier); + } + layer_off(layer); + // for shifted keycodes, hence, LT_SHIFT + key_press(shift, keycode); + clear_mods(); + key_timer = 0; + } +} + +// LT for S(keycode) +void lt_shift(keyrecord_t *record, uint16_t keycode, uint8_t layer) +{ + lt(record, SHIFT, keycode, 0, layer); +} + +// set layer asap to overcome macro latency errors, notably tap dance and LT usage +// this routine inexplicably (?) sets layer_on() faster than can be done in thumb_layer() +void tap_layer(keyrecord_t *record, uint8_t layer) +{ + if (record->event.pressed) { + layer_on(layer); + } + else { + layer_off(layer); + } +} + +// ..................................................................... Keymaps + +// void persistant_default_layer_set(uint16_t default_layer) +// { +// eeconfig_update_default_layer(default_layer); +// default_layer_set (default_layer); +// } + +void clear_layers(void) +{ + uint8_t layer; + for (layer = 0; layer < _END_LAYERS; layer++) { + layer_off(layer); + } +} + +#ifdef HOME_MODS +// home row layer/shift key state, see tap_mods() and keymap.c +#define LSYMBOL MOD_BIT(KC_LSFT) +#define RSYMBOL MOD_BIT(KC_RSFT) + +void home_state(void) { + // if only the shift key, raise the opposite hand symbol layer + if (mods == LSYMBOL) { + layer_on(_LSYMBOL); + } + else if (mods == RSYMBOL) { + layer_on(_RSYMBOL); + } + // or combine modifiers + else if (mods & LSYMBOL) { + register_code(KC_LSFT); + } + else if (mods & RSYMBOL) { + register_code(KC_RSFT); + } +} + +// home row layer/shift +void symbol_shift(keyrecord_t *record, uint16_t keycode) +{ + if (keycode) { + if (record->event.pressed) { + key_timer = timer_read(); + home_state(); + } + else { + // clear layer/shift state + if (keycode == KC_A) { + layer_off(_LSYMBOL); + unregister_code(KC_LSFT); + } + else if (keycode == KC_T) { + layer_off(_RSYMBOL); + unregister_code(KC_RSFT); + } + // no other modifier enabled, issue keycode + if (~mods) { + key_press(NOSHIFT, keycode); + } + key_timer = 0; + } + } + else { + // a non-shift modifier disables symbol layer + layer_off(_LSYMBOL); + layer_off(_RSYMBOL); + // update home layer/shift state + home_state(); + } +} +#endif + +#ifdef CENTER_TT +static uint16_t tt_keycode = 0; // current TT keycode + +void clear_tt(void) +{ + if (tt_keycode == KC_CAPS) { + tap_key(KC_CAPS); // clear capslock + } + tt_keycode = 0; + clear_layers(); + set_single_persistent_default_layer(_BASE); +} +#endif + +// txbolt plover run state +static uint8_t plover = 0; + +void toggle_plover(uint8_t state) +{ + if (plover != state) { +#ifdef PLOVER_KEYBIND +#include "plover_keybind.h" +#endif + plover = state; + } +} + +void base_layer(void) +{ +#ifdef AUDIO_ENABLE + if (plover) { + PLAY_SONG(song_plover_gb); + } + else { + PLAY_SONG(song_qwerty); + } +#endif + clear_layers(); + set_single_persistent_default_layer(_BASE); + toggle_plover(0); +} + +void steno(keyrecord_t *record) +{ + if (record->event.pressed) { +#ifdef AUDIO_ENABLE + PLAY_SONG(song_plover); +#endif + clear_layers(); + layer_on(_PLOVER); + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + keymap_config.raw = eeconfig_read_keymap(); + keymap_config.nkro = 1; + eeconfig_update_keymap(keymap_config.raw); + if (!plover) { + toggle_plover(1); + } + } +} + +void steno_exit(keyrecord_t *record) +{ + if (record->event.pressed) { + base_layer(); + toggle_plover(0); + } +} diff --git a/keyboards/planck/keymaps/hieax/common/number_fkey_layout.h b/keyboards/planck/keymaps/hieax/common/number_fkey_layout.h new file mode 100644 index 00000000000..321482b2919 --- /dev/null +++ b/keyboards/planck/keymaps/hieax/common/number_fkey_layout.h @@ -0,0 +1,46 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ......................................................... Number Keypad Layer + + // .-----------------------------------------------------------------------------------. + // | | F | E | D | | | | / | 7 | 8 | 9 | * | + // |-----------------------------------------------------------------------------------| + // | GUI | C | B | A | | | | . | 4 | 5 | 6 | - | + // |-----------------------------------------------------------------------------------| + // | | # | G | \ | | | | , | 1 | 2 | 3 | + | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | 0 | = | | | | + // | | | | f() | | | | = | 0 | | | | + // '-----------------------------------------------------------------------------------' + + [_NUMBER] = { + {_______, KC_F, MT_E, KC_D, _______, ___x___, ___x___, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR}, + {OS_GUI, GT_C, AT_B, ST_A, _______, ___x___, ___x___, TD_DOT, KC_4, KC_5, KC_6, KC_MINS}, + {_______, KC_HASH, SM_G, KC_BSLS, _______, ___x___, ___x___, TD_COMM, KC_1, KC_2, KC_3, KC_PLUS}, +#ifdef THUMB_0 + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_0, LT_EQL, ___x___, ___x___, ___x___}, +#else + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_EQL, LT_0, ___x___, ___x___, ___x___}, +#endif + }, + +// ............ .................................................. Function Keys + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | F7 | F8 | F9 | F12 | + // |-----------------------------------------------------------------------------------| + // | Ctrl | GUI | Alt | Shift| | | | | F4 | F5 | F6 | F11 | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | F1 | F2 | F3 | F10 | + // |-----------------------------------------------------------------------------------| + // | | | | | | f() | | + | | | | | + // | | | | | f() | | | + | | | | | see _PLOVER + // '-----------------------------------------------------------------------------------' + + [_FNCKEY] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F7, KC_F8, KC_F9, KC_F12 }, + {OS_GUI, OS_CTL, OS_ALT, OS_SFT, _______, ___x___, ___x___, _______, KC_F4, KC_F5, KC_F6, KC_F11 }, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F1, KC_F2, KC_F3, KC_F10 }, + {_______, _______, _______, _______, ___fn__, ___fn__, _______, KC_PLUS, _______, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/hieax/common/plover_keybind.h b/keyboards/planck/keymaps/hieax/common/plover_keybind.h new file mode 100644 index 00000000000..cb4ef92ef84 --- /dev/null +++ b/keyboards/planck/keymaps/hieax/common/plover_keybind.h @@ -0,0 +1,9 @@ + +// simple window manager specific plover keybind hook + +// toggle plover application, see herbstluftwm/config/appbinds +register_code (KC_LGUI); +register_code (KC_LCTL); +tap_key (KC_EQL); +unregister_code(KC_LCTL); +unregister_code(KC_LGUI); diff --git a/keyboards/planck/keymaps/hieax/common/sounds.h b/keyboards/planck/keymaps/hieax/common/sounds.h new file mode 100644 index 00000000000..1bfc7a6da0c --- /dev/null +++ b/keyboards/planck/keymaps/hieax/common/sounds.h @@ -0,0 +1,14 @@ + +// ................................................................ Audio Sounds + +#ifdef AUDIO_ENABLE +float song_startup [][2] = SONG(STARTUP_SOUND); +float song_colemak [][2] = SONG(COLEMAK_SOUND); +float song_qwerty [][2] = SONG(QWERTY_SOUND); +float song_plover [][2] = SONG(PLOVER_SOUND); +float song_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); +float song_caps_on [][2] = SONG(CAPS_LOCK_ON_SOUND); +float song_caps_off [][2] = SONG(CAPS_LOCK_OFF_SOUND); +float music_scale [][2] = SONG(MUSIC_SCALE_SOUND); +float song_goodbye [][2] = SONG(GOODBYE_SOUND); +#endif diff --git a/keyboards/planck/keymaps/hieax/common/steno_layout.h b/keyboards/planck/keymaps/hieax/common/steno_layout.h new file mode 100644 index 00000000000..ab4a6fe011c --- /dev/null +++ b/keyboards/planck/keymaps/hieax/common/steno_layout.h @@ -0,0 +1,39 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ...................................................................... Plover +#ifdef STENO_ENABLE + // ,-----------------------------------------------------------------------------------. + // | # | # | # | # | # | # | # | # | # | # | # | # | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | Base | S | T | P | H | * | * | F | P | L | T | D | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Base | S | K | W | R | * | * | R | B | G | S | Z | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | A | O | E | U | | + // `-----------------------------------------------------------------------------------' + + [_PLOVER] = { + {STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, STN_N6, STN_N7, STN_N8, STN_N9, STN_NA, STN_NB, STN_NC }, + {BASE1, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR }, + {BASE2, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR }, + {_______, _______, _______, PS_STNA, PS_STNO, _______, _______, PS_STNE, PS_STNU, _______, _______, _______}, + }, +#else + // ,-----------------------------------------------------------------------------------. + // | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | Base | S | T | P | H | * | * | F | P | L | T | D | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Base | S | K | W | R | * | * | R | B | G | S | Z | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | A | O | E | U | | + // `-----------------------------------------------------------------------------------' + + [_PLOVER] = { + {KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 }, + {BASE1, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC}, + {BASE2, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {_______, _______, _______, LT_C, LT_V, _______, _______, LT_N, LT_M, _______, _______, _______}, + }, +#endif diff --git a/keyboards/planck/keymaps/hieax/common/symbol_guifn_layout.h b/keyboards/planck/keymaps/hieax/common/symbol_guifn_layout.h new file mode 100644 index 00000000000..677e46409ba --- /dev/null +++ b/keyboards/planck/keymaps/hieax/common/symbol_guifn_layout.h @@ -0,0 +1,40 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ..................................................... Symbol Navigation Layer + + // .-----------------------------------------------------------------------------------. + // | | ~ | * | & | | | | | Home | Up | End | PgUp | + // |-----------------------------------------------------------------------------------| + // | GUI | ^ | % | $ | | | | | Left | Down | Right| PgDn | + // |-----------------------------------------------------------------------------------| + // | | # | @ | ! | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | |Adjust| \ | | f() | | + // '-----------------------------------------------------------------------------------' + + [_SYMBOL] = { + {_______, KC_TILD, KC_ASTR, KC_AMPR, _______, ___x___, ___x___, _______, KC_HOME, KC_UP, KC_END, KC_PGUP}, + {OS_GUI, SM_CIRC, SM_PERC, SM_DLR, _______, ___x___, ___x___, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN}, + {_______, KC_HASH, KC_AT, KC_EXLM, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {___x___, ___x___, ___x___, ADJUST, LT_BSLS, ___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___}, + }, + +// ............................................................... Mouse Actions + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | Left | Up | Right| Up | + // |-----------------------------------------------------------------------------------| + // | | Btn3 | Btn2 | Btn1 | | | | | Left | Down | Right| Down | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | f() | | f() | | + // '-----------------------------------------------------------------------------------' + + [_MOUSE] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U}, + {_______, KC_BTN3, KC_BTN2, KC_BTN1, _______, ___x___, ___x___, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D}, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, ___fn__, _______, _______, _______, ___fn__, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/hieax/common/tapdance.h b/keyboards/planck/keymaps/hieax/common/tapdance.h new file mode 100644 index 00000000000..d778286bf1e --- /dev/null +++ b/keyboards/planck/keymaps/hieax/common/tapdance.h @@ -0,0 +1,49 @@ + +// tap dance keys +enum tap_dance { + _CAPS = 0 + ,_COLN + ,_COMM + ,_DOT + ,_DQOT + ,_ENT + ,_EQL + ,_GRV + ,_GT + ,_LBRC + ,_LCBR + ,_LPRN + ,_LT + ,_PRIV + ,_QUOT + ,_RBRC + ,_RCBR + ,_RNGL + ,_RPRN + ,_SEND + ,_SPC + ,_TILD +}; + +#define TD_CAPS TD(_CAPS) +#define TD_COLN TD(_COLN) +#define TD_COMM TD(_COMM) +#define TD_DOT TD(_DOT) +#define TD_DQOT TD(_DQOT) +#define TD_ENT TD(_ENT) +#define TD_EQL TD(_EQL) +#define TD_GRV TD(_GRV) +#define TD_GT TD(_GT) +#define TD_LBRC TD(_LBRC) +#define TD_LCBR TD(_LCBR) +#define TD_LPRN TD(_LPRN) +#define TD_LT TD(_LT) +#define TD_PRIV TD(_PRIV) // compile time macro string, provided in private_string.h +#define TD_QUOT TD(_QUOT) +#define TD_RBRC TD(_RBRC) +#define TD_RCBR TD(_RCBR) +#define TD_RNGL TD(_RNGL) +#define TD_RPRN TD(_RPRN) +#define TD_SEND TD(_SEND) // config.h defined macro string +#define TD_SPC TD(_SPC) // see process_record_user() for extended handling of Spc +#define TD_TILD TD(_TILD) diff --git a/keyboards/planck/keymaps/hieax/common/toggle_layout.h b/keyboards/planck/keymaps/hieax/common/toggle_layout.h new file mode 100644 index 00000000000..ea4ead56b92 --- /dev/null +++ b/keyboards/planck/keymaps/hieax/common/toggle_layout.h @@ -0,0 +1,102 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ......................................................... Number Keypad Layer + + // .-----------------------------------------------------------------------------------. + // | | F | E | D | | | | / | 7 | 8 | 9 | * | + // |-----------------------------------------------------------------------------------| + // | GUI | C | B | A | | | | . | 4 | 5 | 6 | - | + // |-----------------------------------------------------------------------------------| + // | | # | G | \ | | | | , | 1 | 2 | 3 | + | + // |-----------------------------------------------------------------------------------| + // | | | | f() | Space| | | 0 | = | | | | + // | | | | f() | Space| | | = | 0 | | | | + // '-----------------------------------------------------------------------------------' + + [_TTNUMBER] = { + {_______, KC_F, MT_E, KC_D, _______, ___x___, ___x___, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR}, + {OS_GUI, GT_C, AT_B, ST_A, _______, ___x___, ___x___, TD_DOT, KC_4, KC_5, KC_6, KC_MINS}, + {_______, KC_HASH, SM_G, KC_BSLS, _______, ___x___, ___x___, TD_COMM, KC_1, KC_2, KC_3, KC_PLUS}, +#ifdef THUMB_0 + {_______, _______, _______, TT_ESC, KC_SPC, _______, _______, KC_0, LT_EQL, _______, _______, _______}, +#else + {_______, _______, _______, TT_ESC, KC_SPC, _______, _______, KC_EQL, LT_0, _______, _______, _______}, +#endif + }, + +// ............ .................................................. Function Keys + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | F7 | F8 | F9 | F12 | + // |-----------------------------------------------------------------------------------| + // | GUI | Ctrl | Alt | Shift| | | | | F4 | F5 | F6 | F11 | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | F1 | F2 | F3 | F10 | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | + | | | | | + // '-----------------------------------------------------------------------------------' + + [_TTFNCKEY] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F7, KC_F8, KC_F9, KC_F12 }, + {OS_GUI, OS_CTL, OS_ALT, OS_SFT, _______, ___x___, ___x___, _______, KC_F4, KC_F5, KC_F6, KC_F11 }, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F1, KC_F2, KC_F3, KC_F10 }, + {_______, _______, _______, TT_ESC, _______, _______, _______, KC_PLUS, _______, _______, _______, _______}, + }, + +// ....................................................................... Regex + + // ,-----------------------------------------------------------------------------------. + // | | . | * | & | ~ | | | ` | [ | ] | ^ | | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | | < | % | > | ? | | | | | ( | ) | $ | | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | | : | @ | ! | / | | | \ | { | } | # | | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | | | f() | = | | | + | Space| | | | + // `-----------------------------------------------------------------------------------' + + [_TTREGEX] = { + {___x___, KC_DOT, KC_ASTR, KC_AMPR, KC_TILD, ___x___, ___x___, KC_GRV, KC_LBRC, KC_RBRC, KC_CIRC, ___x___}, + {___x___, KC_LT, KC_PERC, KC_GT, KC_QUES, ___x___, ___x___, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, ___x___}, + {___x___, KC_COLN, KC_AT, KC_EXLM, KC_SLSH, ___x___, ___x___, KC_BSLS, KC_LCBR, KC_RCBR, KC_HASH, ___x___}, + {_______, _______, _______, TT_ESC, KC_EQL, _______, _______, KC_PLUS, KC_SPC, _______, _______, _______}, + }, + +// ............................................................ Navigation Layer + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | Home | Up | End | PgUp | + // |-----------------------------------------------------------------------------------| + // | GUI | Ctrl | Alt | Shift| | | | | Left | Down | Right| PgDn | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | | | | | | + // '-----------------------------------------------------------------------------------' + + [_TTCURSOR] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_HOME, KC_UP, KC_END, KC_PGUP}, + {OS_GUI, OS_CTL, OS_ALT, OS_SFT, _______, ___x___, ___x___, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN}, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {_______, _______, _______, TT_ESC, _______, _______, _______, _______, _______, _______, _______, _______}, + }, + +// ............................................................... Mouse Actions + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | Left | Up | Right| Up | + // |-----------------------------------------------------------------------------------| + // | | Btn3 | Btn2 | Btn1 | | | | | Left | Down | Right| Down | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | | | | | | + // '-----------------------------------------------------------------------------------' + + [_TTMOUSE] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U}, + {_______, KC_BTN3, KC_BTN2, KC_BTN1, _______, ___x___, ___x___, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D}, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {_______, _______, _______, TT_ESC, _______, _______, _______, _______, _______, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/hieax/config.h b/keyboards/planck/keymaps/hieax/config.h new file mode 100644 index 00000000000..9bb5e087350 --- /dev/null +++ b/keyboards/planck/keymaps/hieax/config.h @@ -0,0 +1,50 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +// required because lower/raise modifiers are redefined by colemak-dh +#define PREVENT_STUCK_MODIFIERS + +// tap dance key press termination interval +#define TAPPING_TERM 250 + +// smooth mouse motion +// #define MOUSEKEY_INTERVAL 20 +// #define MOUSEKEY_DELAY 0 +// #define MOUSEKEY_TIME_TO_MAX 60 +// #define MOUSEKEY_MAX_SPEED 7 +// #define MOUSEKEY_WHEEL_DELAY 0 + +// compile time macro string, see functions/hardware planck script (undefine otherwise) +#define PRIVATE_STRING + +// compile time macro string, must be in quotes +#define PUBLIC_STRING ":%s/arch=(.*)/arch=('any')\n" + +// thumb key tap-shift() double tap: one shot shift (0) off (1) on +#define DT_SHIFT 1 + +// number layer 0 position KEYPAD_0, THUMB_0 +#define THUMB_0 + +// home block shift symbol clustes defined (no overlays required for extended symbols, undefine otherwise) +#define SHIFT_SYMBOLS + +// center column TT assignments (undefine for OSM chords) +#define CENTER_TT +#define TAPPING_TOGGLE 1 + +// home row modifiers +#define HOME_MODS +// fix dual function timing +#define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT + +// layout ADNW*, BEAKL*, COLEKA*, QWERTY (default) +#define DEFAULT + +// sync app with window manager keybind hook defined in plover_keybind.h +#define PLOVER_KEYBIND + +#endif diff --git a/keyboards/planck/keymaps/hieax/hiea.h b/keyboards/planck/keymaps/hieax/hiea.h new file mode 100644 index 00000000000..64541d633e7 --- /dev/null +++ b/keyboards/planck/keymaps/hieax/hiea.h @@ -0,0 +1,99 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// .................................................................. BEAKL HIEA +#ifdef DEFAULT + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Shift| Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | A | . |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | K | , | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Ins | Left | Ent | Bksp | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_Z, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_N, KC_M, KC_X }, + {HOME_H, HOME_I, HOME_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, HOME_T, HOME_R, HOME_S, HOME_W }, + {KC_J, KC_SCLN, TD_QUOT, KC_K, KC_COMM, CNTR_BL, CNTR_BR, KC_B, KC_P, KC_L, KC_F, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_INS, SP_LEFT, TD_ENT, SP_BSPC, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_H), S(KC_I), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), KC_SCLN, TD_QUOT, S(KC_K), KC_COMM, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_INS, SP_LEFT, TD_ENT, SP_BSPC, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Shift| Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | A | ? |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | K | / | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | ↑Tab | f() | Ins | Left | _ | Del | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_H), S(KC_I), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_K), KC_SLSH, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, S_TAB, ___fn__, LT_INS, S_LEFT, KC_UNDS, SP_DEL, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Shift| Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | A | ? |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | K | / | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Tab | - | Ins | Left | f() | Bksp | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_H), S(KC_I), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_K), KC_SLSH, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_TAB, KC_MINS, LT_INS, S_LEFT, ___fn__, SP_BSPC, S_DOWN, S_UP, S_RGHT }, + }, +#ifdef HOME_MODS + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Fn | Caps | ` | [ | ] | ^ | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | f() | ? |Cursor| Mouse| | | ( | ) | $ | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | K | / | Num | Regex| \ | { | } | # | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Ins | Left | + | Space| Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSYMBOL] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, TD_GRV, KC_LBRC, KC_RBRC, KC_CIRC, S(KC_X)}, + {HOME_H, HOME_I, HOME_E, ___fn__, KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, S(KC_W)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_K), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_LCBR, KC_RCBR, KC_HASH, S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_INS, SP_LEFT, KC_PLUS, SL_SPC, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | . | * | & | ~ | Fn | Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | < | % | > | ? |Cursor| Mouse| C | f() | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | @ | ! | / | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | ↑Tab | = | Ins | Left | Ent | Bksp | Down | Up | Right| + // | | ↑Tab | = | Ent | Bksp | | + // `-----------------------------------------------------------------------------------' + + [_RSYMBOL] = { + {S(KC_Q), KC_DOT, KC_ASTR, KC_AMPR, TD_TILD, CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_H), TD_LT, KC_PERC, TD_GT, KC_QUES, CNTR_HL, CNTR_HR, S(KC_C), ___fn__, HOME_R, HOME_S, HOME_W }, + {S(KC_J), TD_COLN, KC_AT, KC_EXLM, KC_SLSH, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, S_TAB, TD_EQL, LT_INS, SP_LEFT, TD_ENT, LT_BSPC, AT_DOWN, GT_UP, CT_RGHT}, + }, +#endif +#endif diff --git a/keyboards/planck/keymaps/hieax/hiea.sync-conflict-20180501-144403-SMV4TP4.h b/keyboards/planck/keymaps/hieax/hiea.sync-conflict-20180501-144403-SMV4TP4.h new file mode 100644 index 00000000000..53ffb886128 --- /dev/null +++ b/keyboards/planck/keymaps/hieax/hiea.sync-conflict-20180501-144403-SMV4TP4.h @@ -0,0 +1,97 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// .................................................................. BEAKL HIEA +#ifdef DEFAULT + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Shift| Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | A | . |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | K | , | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Ins | Left | Ent | Bksp | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_Z, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_N, KC_M, KC_X }, + {HOME_H, HOME_I, HOME_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, HOME_T, HOME_R, HOME_S, HOME_W }, + {KC_J, KC_SCLN, TD_QUOT, KC_K, KC_COMM, CNTR_BL, CNTR_BR, KC_B, KC_P, KC_L, KC_F, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_INS, SP_LEFT, TD_ENT, SP_BSPC, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_H), S(KC_I), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), KC_SCLN, TD_QUOT, S(KC_K), KC_COMM, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_INS, SP_LEFT, TD_ENT, SP_BSPC, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Shift| Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | A | ? |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | K | / | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | ↑Tab | f() | Ins | Left | _ | Del | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_H), S(KC_I), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_K), KC_SLSH, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, S_TAB, ___fn__, LT_INS, S_LEFT, KC_UNDS, SP_DEL, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Shift| Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | A | ? |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | K | / | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Tab | - | Ins | Left | f() | Bksp | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_H), S(KC_I), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_K), KC_SLSH, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_TAB, KC_MINS, LT_INS, S_LEFT, ___fn__, SP_BSPC, S_DOWN, S_UP, S_RGHT }, + }, +#endif + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Fn | Caps | ` | [ | ] | ^ | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | f() | ? |Cursor| Mouse| | | ( | ) | $ | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | K | / | Num | Regex| \ | { | } | # | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | Esc | Space| + | Space| | + // `-----------------------------------------------------------------------------------' + + [_LSYMBOL] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, TD_GRV, KC_LBRC, KC_RBRC, KC_CIRC, S(KC_X)}, + {HOME_H, HOME_I, HOME_E, ___fn__, KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, S(KC_W)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_K), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_LCBR, KC_RCBR, KC_HASH, S(KC_V)}, + {_______, _______, _______, _______, LT_ESC, TD_SPC, KC_PLUS, KC_SPC, _______, _______, _______, _______}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | . | * | & | ~ | Fn | Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | < | % | > | ? |Cursor| Mouse| C | f() | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | @ | ! | / | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | ↑Tab | = | Ent | Bksp | | + // `-----------------------------------------------------------------------------------' + + [_RSYMBOL] = { + {S(KC_Q), KC_DOT, KC_ASTR, KC_AMPR, TD_TILD, CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_H), TD_LT, KC_PERC, TD_GT, KC_QUES, CNTR_HL, CNTR_HR, S(KC_C), ___fn__, HOME_R, HOME_S, HOME_W }, + {S(KC_J), TD_COLN, KC_AT, KC_EXLM, KC_SLSH, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {_______, _______, _______, _______, S_TAB, TD_EQL, TD_ENT, LT_BSPC, _______, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/hieax/keymap.c b/keyboards/planck/keymaps/hieax/keymap.c new file mode 100644 index 00000000000..d761ee6777c --- /dev/null +++ b/keyboards/planck/keymaps/hieax/keymap.c @@ -0,0 +1,446 @@ +// 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. +// +// To flash planck firmware +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// Reset keyboard or press hw reset button on base (hole) +// +// cd qmk_firmware/keyboards/planck +// sudo make KEYMAP=sdothum dfu +// +// sudo make clean (good practice before flashing) +// sudo make KEYMAP=sdothum (to compile check) +// +// Package requirements (for arch linux) +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// avr-gcc-atmel +// avr-libc-atmel +// dfu-programmer +// +// Notes +// ▔▔▔▔▔ +// ** E R G O W I D E S P L I T ** Layout +// +// Autocompletion tap dance key pairs (),[],{} are available from the +// number/symbol layer, as well as, numerous (un)shift key values +// +// The navigation pad provides a single hand right thumb activated cluster +// with left hand modifiers +// +// #define PRIVATE_STRING includes private_string.h, a user defined code +// block for the PRIV tap dance e.g. SEND_STRING("secret messape"), +// see function private() +// +// Modifier clusters +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// The num and sym keys together access the navigation pad layer +// +// ,-----------------------------------------------------------------------------------. +// | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| +// `-----------------------------------------------------------------------------------' +// +// Hint +// ▔▔▔▔ +// For sculpted keycaps such as Cherry or OEM profile, reverse the Alt, Num, +// Shift, Shift, Nav, Sym keycaps for more ergonomic thumb orientation and +// actuation +// +// Code +// ▔▔▔▔ +// This source is shamelessly based on the "default" planck layout +// +// #ifdef/#endif block structures are not indented, as syntax highlighting +// in vim is sufficient for identification +// +// c++ commenting style is used throughout +// +// Change history +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// See http://thedarnedestthing.com/planck%20constant +// See http://thedarnedestthing.com/planck%20done + + + +// === N O T E === +// +// sudo CPATH=/common make ... + + +#include "config.h" +#include "planck.h" +#include "action_layer.h" +#ifdef STENO_ENABLE +#include "keymap_steno.h" +#endif +#ifdef AUDIO_ENABLE +#include "audio.h" +#endif +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +enum planck_layers { + _BASE = 0 + ,_SHIFT + ,_LSHIFT + ,_RSHIFT + ,_LSYMBOL + ,_RSYMBOL + ,_PLOVER + ,_NUMBER + ,_SYMBOL + ,_FNCKEY + ,_MOUSE + ,_EDIT + ,_ADJUST +#ifdef CENTER_TT + ,_TTNUMBER + ,_TTREGEX + ,_TTFNCKEY + ,_TTCURSOR + ,_TTMOUSE +#endif + ,_END_LAYERS +}; + +enum planck_keycodes { + BASE = SAFE_RANGE + ,BASE1 + ,BASE2 + ,PLOVER + ,SM_CIRC // pseudo GUI_T(S(KC_6)) for shifted key-codes, see process_record_user() + ,SM_DLR // pseudo SFT_T(S(KC_4)) for shifted key-codes, see process_record_user() + ,SM_G // pseudo MT (MOD_LALT | MOD_LSFT, S(KC_G)) for shifted key-codes, see process_record_user() + ,SM_H // pseudo MT (MOD_LCTL | MOD_LSFT, S(KC_H)) for shifted key-codes, see process_record_user() + ,SM_PERC // pseudo ALT_T(S(KC_5)) for shifted key-codes, see process_record_user() + ,SM_W // pseudo MT (MOD_LGUI | MOD_LSFT, S(KC_W)) for shifted key-codes, see process_record_user() + ,SL_LEFT // pseudo LT (_MOUSE, S(KC_LEFT)) for shifted key-codes, see process_record_user() + ,SP_DEL // pseudo LT (_MOUSE, KC_DEL) for shifted key-codes, see process_record_user() + ,SL_TAB // pseudo LT (_FNCKEY, S(KC_TAB)) for shifted key-codes, see process_record_user() + ,SL_SPC // pseudo LT (S(_SYMBOL), KC_SPC) for home row shifted GUIFN +#ifdef HOME_MODS + ,HOME_A // pseudo SFT_T(KC_A) + ,HOME_T // pseudo SFT_T(KC_T) +#endif +#ifdef CENTER_TT + ,TT_ESC +#endif +#ifdef STENO_ENABLE + ,PS_STNA = STN_A + ,PS_STNO = STN_O + ,PS_STNE = STN_E + ,PS_STNU = STN_U +#else + ,LT_C = LT (_NUMBER, KC_C) + ,LT_V = LT (_FNCKEY, KC_V) + ,LT_N = LT (_EDIT, KC_N) + ,LT_M = LT (_SYMBOL, KC_M) +#endif +}; + +// modifier keys +#define AT_B ALT_T(KC_B) +#define AT_DOWN ALT_T(KC_DOWN) +#define CT_RGHT CTL_T(KC_RGHT) +#define GT_C GUI_T(KC_C) +#define GT_UP GUI_T(KC_UP) +#define MT_E MT (MOD_LCTL | MOD_LALT, KC_E) +#define ST_A SFT_T(KC_A) +#ifdef HOME_MODS +#define HOME_H GUI_T(KC_H) +#define HOME_I CTL_T(KC_I) +#define HOME_E ALT_T(KC_E) +#define HOME_R ALT_T(KC_R) +#define HOME_S CTL_T(KC_S) +#define HOME_W GUI_T(KC_W) +#else +#define HOME_H KC_H +#define HOME_I KC_I +#define HOME_E KC_E +#define HOME_A KC_A +#define HOME_T KC_T +#define HOME_R KC_R +#define HOME_S KC_S +#define HOME_W KC_W +#endif + +#define S_DOWN S (KC_DOWN) +#define S_LEFT S (KC_LEFT) +#define S_RGHT S (KC_RGHT) +#define S_TAB S (KC_TAB) +#define S_UP S (KC_UP) + +#include "tapdance.h" + +// keycodes +#define ___x___ KC_TRNS +#define ___fn__ KC_TRNS +#ifdef _______ +#undef _______ +#endif +#define _______ KC_NO + +#define COPY LCTL(KC_C) +#define CUT LCTL(KC_X) +#define EOT LCTL(KC_D) +#define NAK LCTL(KC_U) +#define PASTE LCTL(KC_V) +#define UNDO LCTL(KC_Z) +#define TMCOPY LALT(LCTL(KC_C)) +#define TMPASTE LALT(LCTL(KC_V)) +#define LT_BSLS LT (_MOUSE, KC_BSLS) // see process_record_user() for extended handling +#define LT_BSPC LT (_EDIT, KC_BSPC) +#define SP_LEFT LT (_EDIT, KC_LEFT) +#define LT_ESC LT (_NUMBER, KC_ESC) +#define LT_LEFT LT (_SYMBOL, KC_LEFT) // see process_record_user() for extended handling +#define SP_BSPC LT (_SYMBOL, KC_BSPC) // see process_record_user() for extended handling +#define LT_TAB LT (_FNCKEY, KC_TAB) +#define LT_INS LT (_FNCKEY, KC_INS) +#define ADJUST MO (_ADJUST) +#define OS_ALT OSM (MOD_LALT) +#define OS_CTL OSM (MOD_LCTL) +#define OS_GUI OSM (MOD_LGUI) +#define OS_SFT OSM (MOD_LSFT) + +#ifdef CENTER_TT +#define CNTR_TL TT (_TTFNCKEY) +#define CNTR_TR KC_CAPS +#define CNTR_HL TT (_TTCURSOR) +#define CNTR_HR TT (_TTMOUSE) +#define CNTR_BL TT (_TTNUMBER) +#define CNTR_BR TT (_TTREGEX) +#else +#define CNTR_TL OSM (MOD_LALT | MOD_LCTL) +#define CNTR_TR OSM (MOD_LGUI | MOD_LCTL) +#define CNTR_HL OSM (MOD_LALT | MOD_LSFT) +#define CNTR_HR OSM (MOD_LGUI | MOD_LSFT) +#define CNTR_BL TD (_CAPS) +#define CNTR_BR OSM (MOD_LSFT | MOD_LCTL) +#endif + +// LT can only reference layers 0-15 +#ifdef THUMB_0 +#define LT_EQL LT (_ADJUST, KC_EQL) +#else +#define LT_0 LT (_ADJUST, KC_0) +#endif + +// ........................................................ Default Alpha Layout + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +#include "hiea.h" +#include "steno_layout.h" + +// ...................................................... Number / Function Keys + +#include "number_fkey_layout.h" + +// ......................................................... Symbol / Navigation + +#include "symbol_guifn_layout.h" + +// ............................................................... Toggle Layers + +#ifdef CENTER_TT +#include "toggle_layout.h" +#endif + +// ......................................................... Short Cuts / Adjust + +#include "chord_layout.h" + +}; + +// ...................................................................... Sounds + +#include "sounds.h" + +// ........................................................... User Keycode Trap + +#include "keycode_functions.h" + +#define BASE_1 1 +#define BASE_2 2 +#define BASE_12 3 +static uint8_t base_n = 0; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) +{ + switch (keycode) { + case BASE1: + if (record->event.pressed) { + base_n = base_n | BASE_1; + if (base_n == BASE_12) { + base_layer(); + } + } + else { + base_n = base_n & ~BASE_1; + } + return false; + case BASE2: + if (record->event.pressed) { + base_n = base_n | BASE_2; + if (base_n == BASE_12) { + base_layer(); + } + } + else { + base_n = base_n & ~BASE_2; + } + return false; +#ifdef HOME_MODS + case HOME_E: + case HOME_R: + tap_mods(record, KC_LALT); + symbol_shift(record, 0); + break; + case HOME_H: + case HOME_W: + tap_mods(record, KC_LGUI); + symbol_shift(record, 0); + break; + case HOME_I: + case HOME_S: + tap_mods(record, KC_LCTL); + symbol_shift(record, 0); + break; + case HOME_A: + tap_mods(record, KC_LSFT); + symbol_shift(record, KC_A); + break; + case HOME_T: + tap_mods(record, KC_RSFT); + symbol_shift(record, KC_T); + break; +#else + case AT_DOWN: + tap_mods(record, KC_LALT); + break; + case CT_RGHT: + tap_mods(record, KC_LGUI); + break; + case GT_UP: + tap_mods(record, KC_LCTL); + break; +#endif + case SL_SPC: + lt(record, NOSHIFT, KC_SPC, KC_LSFT, _SYMBOL); + break; +#ifdef CENTER_TT + case TT_ESC: + clear_tt(); // exit TT layer + return false; +#endif + case LT_ESC: +#ifdef CENTER_TT + if (tt_keycode != 0) { + clear_tt(); // exit TT layer + return false; + } +#endif + tap_layer(record, _NUMBER); + break; + case LT_LEFT: + case SP_BSPC: + tap_layer(record, _SYMBOL); + // LT (_SYMBOL, KC_LEFT) left right combination layer + thumb_layer(record, RIGHT, 0, 0, _SYMBOL, _LSHIFT); + break; + case OS_ALT: + tap_mods(record, KC_LALT); + break; + case OS_CTL: + tap_mods(record, KC_LCTL); + break; + case OS_GUI: + tap_mods(record, KC_LGUI); + break; + case SM_CIRC: + // GUI_T(S(KC_6)) + mt_shift(record, KC_LGUI, 0, KC_6); + break; + case SM_DLR: + // SFT_T(S(KC_4)) + mt_shift(record, KC_LSFT, 0, KC_4); + break; + case SM_G: + // MT(MOD_LALT | MOD_LSFT, S(KC_G)) + mt_shift(record, KC_LALT, KC_LSFT, KC_G); + break; + case SM_H: + // MT(MOD_LCTL | MOD_LSFT, S(KC_K)) + mt_shift(record, KC_LCTL, KC_LSFT, KC_H); + break; + case SM_W: + // MT(MOD_LGUI | MOD_LSFT, S(KC_W)) + mt_shift(record, KC_LGUI, KC_LSFT, KC_W); + break; + case SM_PERC: + // ALT_T(S(KC_5)) + mt_shift(record, KC_LALT, 0, KC_5); + break; + case LT_BSLS: + tap_layer(record, _MOUSE); + // LT (_MOUSE, KC_BSLS) left right combination layer, see #define LT_BSLS + thumb_layer(record, LEFT, 0, 0, _MOUSE, _SYMBOL); + break; + case SL_LEFT: + tap_layer(record, _MOUSE); + // LT (_MOUSE, S(KC_LEFT)) left right combination layer + thumb_layer(record, RIGHT, SHIFT, KC_LEFT, _MOUSE, _LSHIFT); + break; + case SP_DEL: + tap_layer(record, _MOUSE); + // LT (_MOUSE, S(KC_LEFT)) left right combination layer + thumb_layer(record, RIGHT, NOSHIFT, KC_DEL, _MOUSE, _LSHIFT); + break; + case SL_TAB: + // LT (_FNCKEY, S(KC_TAB)) emulation + lt_shift(record, KC_TAB, _FNCKEY); + break; + case TD_ENT: + tap_layer(record, _RSHIFT); + // LT (_RSHIFT, KC_ENT) emulation, see tap dance enter + break; + case TD_SPC: + tap_layer(record, _LSHIFT); + // LT (_LSHIFT, KC_SPC) left right combination layer, see tap dance TD_SPC + thumb_layer(record, LEFT, 0, 0, _LSHIFT, _SYMBOL); + break; +#ifdef CENTER_TT + case CNTR_TL: + case CNTR_TR: + case CNTR_HL: + case CNTR_HR: + case CNTR_BL: + case CNTR_BR: + if (tt_keycode != keycode && tt_keycode != 0) { + clear_tt(); // return to base layer first if different TT layer selected + } + tt_keycode = keycode; + break; +#endif +// #ifdef STENO_ENABLE +// case PS_STNA: +// stn_layer(record, STN_A, _NUMBER); +// break; +// case PS_STNO: +// stn_layer(record, STN_O, _FNCKEY); +// break; +// case PS_STNE: +// stn_layer(record, STN_E, _EDIT); +// break; +// case PS_STNU: +// stn_layer(record, STN_U, _SYMBOL); +// break; +// #endif + case PLOVER: + steno(record); + return false; + } + return true; +} + +#include "init.h" diff --git a/keyboards/planck/keymaps/hieax/readme.md b/keyboards/planck/keymaps/hieax/readme.md new file mode 100644 index 00000000000..58f73e3b445 --- /dev/null +++ b/keyboards/planck/keymaps/hieax/readme.md @@ -0,0 +1,10 @@ +# The sdothum extended Default Planck Layout + +- Colemak-DH layout layer with shift/tab key overlays +- Number and symbol/function key layer +- Hexadecimal keypad layer +- Navigation keypad layer +- Dynamic macro layer +- Autocompletion tap key pairs (),[],{} +- Normalized enter and esc key position across keyboard layers +- Extensive use of tap keys diff --git a/keyboards/planck/keymaps/hieax/rules.mk b/keyboards/planck/keymaps/hieax/rules.mk new file mode 100644 index 00000000000..40f153844c1 --- /dev/null +++ b/keyboards/planck/keymaps/hieax/rules.mk @@ -0,0 +1,26 @@ +# 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 = no # 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 +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. +STENO_ENABLE = yes # enable TX Bolt protocol, requires VIRTSER and may not work with mouse keys + +# do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # breathing sleep LED during USB suspend + +TAP_DANCE_ENABLE = yes # enable double tap completion of (),[],{} + +ifndef QUANTUM_DIR +include ../../../../Makefile +endif diff --git a/keyboards/planck/keymaps/sascha/keymap.c b/keyboards/planck/keymaps/sascha/keymap.c new file mode 100644 index 00000000000..0ec7c01b5c7 --- /dev/null +++ b/keyboards/planck/keymaps/sascha/keymap.c @@ -0,0 +1,37 @@ +#include "backlight.h" +#include "planck.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = { + /* ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐ + * │ Esc │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Bksp │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤ + * │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; : │ Entr │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤ + * │ Shft │ Z │ X │ C │ V │ B │ N │ M │ , < │ . > │ / ? │ ' " │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤ + * │ Alt │ GUI │ \ | │ - _ │ = + │ Spce │ Spce │ ( │ ) │ [ { │ ] } │ Lr 1 │ + * └──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘ + */ + { 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_LCTL , 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_QUOT } , + { KC_LALT , KC_LGUI , KC_BSLS , KC_MINS , KC_EQL , KC_SPC , KC_SPC , KC_LPRN , KC_RPRN , KC_LBRC , KC_RBRC , MO(1) } + }, +[1] = { + /* ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐ + * │ ~ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ DEL │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤ + * │ ` │ ! │ @ │ # │ $ │ % │ * │ & │ BL+ │ BL- │ BLTg │ BLBr │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤ + * │ Caps │ Home │ End │ PgUp │ PgDn │ F1 │ F2 │ F3 │ Left │ Down │ Up │ Rght │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤ + * │ Powr │ Rset │ VoUp │ VoDn │ Play │ Stop │ Prev │ Next │ Alt │ Ctrl │ GUI │ │ + * └──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘ + */ + { KC_TILD , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL } , + { KC_GRV , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , BL_INC , BL_DEC , BL_TOGG , BL_BRTG } , + { KC_CAPS , KC_HOME , KC_END , KC_PGUP , KC_PGDN , KC_F1 , KC_F2 , KC_F3 , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT } , + { KC_PWR , RESET , KC_VOLU , KC_VOLD , KC_MPLY , KC_MSTP , KC_MPRV , KC_MNXT , KC_RALT , KC_RCTL , KC_RGUI , KC_TRNS } + } +}; diff --git a/keyboards/planck/keymaps/sascha/rules.mk b/keyboards/planck/keymaps/sascha/rules.mk new file mode 100644 index 00000000000..e69de29bb2d diff --git a/keyboards/planck/keymaps/sdothum/beakl.h b/keyboards/planck/keymaps/sdothum/beakl.h new file mode 100644 index 00000000000..de3da34a5d3 --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/beakl.h @@ -0,0 +1,551 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// .................................................................... BEAKL EZ +#ifdef BEAKLEZ + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | K | ^Alt | ^GUI | F | G | R | C | V | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | A | " | ↑Alt | ↑GUI | L | S | T | N | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | ; | , | J | . | X | Caps |^Shift| B | D | M | P | Z | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_K, CNTR_TL, CNTR_TR, KC_F, KC_G, KC_R, KC_C, KC_V }, + {KC_H, KC_I, KC_E, HOME_A, TD_QUOT, CNTR_HL, CNTR_HR, KC_L, KC_S, KC_T, KC_N, KC_W }, + {KC_SCLN, KC_COMM, KC_J, KC_DOT, KC_X, CNTR_BL, CNTR_BR, KC_B, KC_D, KC_M, KC_P, KC_Z }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_K), CNTR_TL, CNTR_TR, S(KC_F), S(KC_G), S(KC_R), S(KC_C), S(KC_V)}, + {S(KC_H), S(KC_I), S(KC_E), S(KC_A), TD_QUOT, CNTR_HL, CNTR_HR, S(KC_L), S(KC_S), S(KC_T), S(KC_N), S(KC_W)}, + {KC_SCLN, KC_COMM, S(KC_J), KC_DOT, S(KC_X), CNTR_BL, CNTR_BR, S(KC_B), S(KC_D), S(KC_M), S(KC_P), S(KC_Z)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | K | ^Alt | ^GUI | F | G | R | C | V | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | A | " | ↑Alt | ↑GUI | L | S | T | N | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | : | ~ | J | ` | X | Caps |^Shift| B | D | M | P | Z | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_K), CNTR_TL, CNTR_TR, S(KC_F), S(KC_G), S(KC_R), S(KC_C), S(KC_V)}, + {S(KC_H), S(KC_I), S(KC_E), S(KC_A), TD_DQOT, CNTR_HL, CNTR_HR, S(KC_L), S(KC_S), S(KC_T), S(KC_N), S(KC_W)}, + {TD_COLN, TD_TILD, S(KC_J), TD_GRV, S(KC_X), CNTR_BL, CNTR_BR, S(KC_B), S(KC_D), S(KC_M), S(KC_P), S(KC_Z)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | K | ^Alt | ^GUI | F | G | R | C | V | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | H | I | E | A | " | ↑Alt | ↑GUI | L | S | T | N | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | : | / | J | ? | X | Caps |^Shift| B | D | M | P | Z | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_K), CNTR_TL, CNTR_TR, S(KC_F), S(KC_G), S(KC_R), S(KC_C), S(KC_V)}, + {S(KC_H), S(KC_I), S(KC_E), S(KC_A), TD_DQOT, CNTR_HL, CNTR_HR, S(KC_L), S(KC_S), S(KC_T), S(KC_N), S(KC_W)}, + {TD_COLN, KC_SLSH, S(KC_J), KC_QUES, S(KC_X), CNTR_BL, CNTR_BR, S(KC_B), S(KC_D), S(KC_M), S(KC_P), S(KC_Z)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// ..................................................................... BEAKL 8 +#ifdef BEAKL8 + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | X | ^Alt | ^GUI | G | C | R | F | Z | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | . | ↑Alt | ↑GUI | D | S | T | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | I | , | Caps |^Shift| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_X, CNTR_TL, CNTR_TR, KC_G, KC_C, KC_R, KC_F, KC_Z }, + {KC_K, KC_H, KC_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_D, KC_S, KC_T, KC_N, KC_B }, + {KC_J, KC_SCLN, TD_QUOT, KC_I, KC_COMM, CNTR_BL, CNTR_BR, KC_W, KC_M, KC_L, KC_P, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_X), CNTR_TL, CNTR_TR, S(KC_G), S(KC_C), S(KC_R), S(KC_F), S(KC_Z)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_D), S(KC_S), S(KC_T), S(KC_N), S(KC_B)}, + {S(KC_J), KC_SCLN, TD_QUOT, S(KC_I), KC_COMM, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | X | ^Alt | ^GUI | G | C | R | F | Z | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ~ | ↑Alt | ↑GUI | D | S | T | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | I | ` | Caps |^Shift| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_X), CNTR_TL, CNTR_TR, S(KC_G), S(KC_C), S(KC_R), S(KC_F), S(KC_Z)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), TD_TILD, CNTR_HL, CNTR_HR, S(KC_D), S(KC_S), S(KC_T), S(KC_N), S(KC_B)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_I), TD_GRV, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | X | ^Alt | ^GUI | G | C | R | F | Z | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ? | ↑Alt | ↑GUI | D | S | T | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | I | / | Caps |^Shift| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_X), CNTR_TL, CNTR_TR, S(KC_G), S(KC_C), S(KC_R), S(KC_F), S(KC_Z)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, S(KC_D), S(KC_S), S(KC_T), S(KC_N), S(KC_B)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_I), KC_SLSH, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// .................................................................... BEAKL 8P +#ifdef BEAKL8P + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | ^Alt | ^GUI | G | D | R | F | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | . | ↑Alt | ↑GUI | C | T | S | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | I | , | Caps |^Shift| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_Z, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_R, KC_F, KC_X }, + {KC_K, KC_H, KC_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, KC_T, KC_S, KC_N, KC_B }, + {KC_J, KC_SCLN, TD_QUOT, KC_I, KC_COMM, CNTR_BL, CNTR_BR, KC_W, KC_M, KC_L, KC_P, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_R), S(KC_F), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_S), S(KC_N), S(KC_B)}, + {S(KC_J), KC_SCLN, TD_QUOT, S(KC_I), KC_COMM, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | { | } | $ | ^Alt | ^GUI | G | D | R | F | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | < | > | ~ | ↑Alt | ↑GUI | C | T | S | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | ! | = | ` | Caps |^Shift| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_Y), KC_LCBR, KC_RCBR, KC_DLR, CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_R), S(KC_F), S(KC_X)}, + {S(KC_K), S(KC_H), TD_LT, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_S), S(KC_N), S(KC_B)}, + {S(KC_J), KC_COLN, KC_EXLM, KC_EQL, TD_GRV, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | ^Alt | ^GUI | ^ | [ | ] | F | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ? | ↑Alt | ↑GUI | | | ( | ) | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | I | / | Caps |^Shift| \ | $ | * | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, KC_CIRC, KC_LBRC, KC_RBRC, S(KC_F), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, S(KC_N), S(KC_B)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_I), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_DLR, KC_ASTR, S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// ................................................................... BEAKL 8TX +#ifdef BEAKL8TX + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | J | ^Alt | ^GUI | G | D | R | F | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | . | ↑Alt | ↑GUI | C | T | S | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | ; | " | I | , | Caps |^Shift| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_J, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_R, KC_F, KC_X }, + {HOME_K, HOME_H, HOME_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, HOME_T, HOME_S, HOME_N, HOME_B }, + {KC_Z, KC_SCLN, TD_QUOT, KC_I, KC_COMM, CNTR_BL, CNTR_BR, KC_W, KC_M, KC_L, KC_P, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_J), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_R), S(KC_F), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_S), S(KC_N), S(KC_B)}, + {S(KC_Z), KC_SCLN, TD_QUOT, S(KC_I), KC_COMM, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | $ | { | } | J | ^Alt | ^GUI | G | D | R | F | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | / | < | > | ~ | ↑Alt | ↑GUI | C | T | S | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | : | ! | = | ` | Caps |^Shift| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), KC_DLR, KC_LCBR, KC_RCBR, S(KC_J), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_R), S(KC_F), S(KC_X)}, + {S(KC_K), KC_SLSH, TD_LT, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_S), S(KC_N), S(KC_B)}, + {S(KC_Z), KC_COLN, KC_EXLM, KC_EQL, TD_GRV, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | J | ^Alt | ^GUI | G | [ | ] | ^ | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ? | ↑Alt | ↑GUI | | | ( | ) | $ | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | : | " | I | / | Caps |^Shift| \ | * | . | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_J), CNTR_TL, CNTR_TR, S(KC_G), KC_LBRC, KC_RBRC, KC_CIRC, S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, S(KC_B)}, + {S(KC_Z), TD_COLN, TD_DQOT, S(KC_I), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_ASTR, KC_DOT, S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// ................................................................... BEAKL 8TT +#ifdef BEAKL8TT + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | J | Fn | Caps | G | D | R | F | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | . |Cursor| Mouse| C | T | S | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | ; | " | I | , | Num | Regex| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_J, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_R, KC_F, KC_X }, + {HOME_K, HOME_H, HOME_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, HOME_T, HOME_S, HOME_N, HOME_B }, + {KC_Z, KC_SCLN, TD_QUOT, KC_I, KC_COMM, CNTR_BL, CNTR_BR, KC_W, KC_M, KC_L, KC_P, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_J), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_R), S(KC_F), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_S), S(KC_N), S(KC_B)}, + {S(KC_Z), KC_SCLN, TD_QUOT, S(KC_I), KC_COMM, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | $ | { | } | J | Fn | Caps | G | D | R | F | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | / | < | > | ~ |Cursor| Mouse| C | T | S | N | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | : | ! | = | ` | Num | Regex| W | M | L | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), KC_DLR, KC_LCBR, KC_RCBR, S(KC_J), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_R), S(KC_F), S(KC_X)}, + {S(KC_K), KC_SLSH, TD_LT, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_S), S(KC_N), S(KC_B)}, + {S(KC_Z), KC_COLN, KC_EXLM, KC_EQL, TD_GRV, CNTR_BL, CNTR_BR, S(KC_W), S(KC_M), S(KC_L), S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | J | Fn | Caps | G | [ | ] | ^ | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ? |Cursor| Mouse| | | ( | ) | $ | B | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | : | " | I | / | Num | Regex| \ | * | . | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_J), CNTR_TL, CNTR_TR, S(KC_G), KC_LBRC, KC_RBRC, KC_CIRC, S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, S(KC_B)}, + {S(KC_Z), TD_COLN, TD_DQOT, S(KC_I), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_ASTR, KC_DOT, S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// .................................................................... BEAKL 10 +#ifdef BEAKL10 + // ,-----------------------------------------------------------------------------------. + // | Q | H | O | U | X | ^Alt | ^GUI | G | D | N | M | V | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | Y | I | E | A | . | ↑Alt | ↑GUI | C | S | R | T | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | , | Z | Caps |^Shift| B | P | L | F | K | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_H, KC_O, KC_U, KC_X, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_N, KC_M, KC_V }, + {KC_Y, KC_I, KC_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, KC_S, KC_R, KC_T, KC_W }, + {KC_J, KC_SCLN, TD_QUOT, KC_COMM, KC_Z, CNTR_BL, CNTR_BR, KC_B, KC_P, KC_L, KC_F, KC_K }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_H), S(KC_O), S(KC_U), S(KC_X), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_V)}, + {S(KC_Y), S(KC_I), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_S), S(KC_R), S(KC_T), S(KC_W)}, + {S(KC_J), KC_SCLN, TD_QUOT, KC_COMM, S(KC_Z), CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_K)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | [ | ! | ] | X | ^Alt | ^GUI | G | D | N | M | V | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | Y | < | = | > | ~ | ↑Alt | ↑GUI | C | S | R | T | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | ` | Z | Caps |^Shift| B | P | L | F | K | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), TD_LBRC, KC_EXLM, TD_RBRC, S(KC_X), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_V)}, + {S(KC_Y), TD_LT, KC_EQL, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_S), S(KC_R), S(KC_T), S(KC_W)}, + {S(KC_J), KC_COLN, TD_DQOT, TD_GRV, S(KC_Z), CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_K)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | H | O | U | X | ^Alt | ^GUI | G | { | + | } | V | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | Y | I | E | A | ? | ↑Alt | ↑GUI | C | ( | * | ) | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | / | Z | Caps |^Shift| B | P | L | F | K | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_H), S(KC_O), S(KC_U), S(KC_X), CNTR_TL, CNTR_TR, S(KC_G), TD_LCBR, KC_PLUS, TD_RCBR, S(KC_V)}, + {S(KC_Y), S(KC_I), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, S(KC_C), TD_LPRN, KC_ASTR, TD_RPRN, S(KC_W)}, + {S(KC_J), TD_COLN, TD_DQOT, KC_SLSH, S(KC_Z), CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_K)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// ............................................................... BEAKL Mash Up +#ifdef BEAKL810 + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | ^Alt | ^GUI | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | . | ↑Alt | ↑GUI | C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | I | , | Caps |^Shift| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_Z, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_N, KC_M, KC_X }, + {KC_K, KC_H, KC_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, KC_T, KC_R, KC_S, KC_W }, + {KC_J, KC_SCLN, TD_QUOT, KC_I, KC_COMM, CNTR_BL, CNTR_BR, KC_B, KC_P, KC_L, KC_F, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), KC_SCLN, TD_QUOT, S(KC_I), KC_COMM, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | { | } | $ | ^Alt | ^GUI | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | < | > | ~ | ↑Alt | ↑GUI | C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | ! | = | ` | Caps |^Shift| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_Y), KC_LCBR, KC_RCBR, KC_DLR, CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_K), S(KC_H), TD_LT, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), KC_COLN, KC_EXLM, KC_EQL, TD_GRV, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | ^Alt | ^GUI | ^ | [ | ] | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ? | ↑Alt | ↑GUI | | | ( | ) | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | I | / | Caps |^Shift| \ | $ | * | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, KC_CIRC, KC_LBRC, KC_RBRC, S(KC_M), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, S(KC_S), S(KC_W)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_I), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_DLR, KC_ASTR, S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// .................................................................... BEAKL MU +#ifdef BEAKLMU + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Fn | Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | . |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | I | , | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_Z, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_N, KC_M, KC_X }, + {HOME_K, HOME_H, HOME_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, HOME_T, HOME_R, HOME_S, HOME_W }, + {KC_J, KC_SCLN, TD_QUOT, KC_I, KC_COMM, CNTR_BL, CNTR_BR, KC_B, KC_P, KC_L, KC_F, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), KC_SCLN, TD_QUOT, S(KC_I), KC_COMM, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | $ | { | } | Z | Fn | Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | / | < | > | ~ |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | ! | = | ` | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | _ | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), KC_DLR, KC_LCBR, KC_RCBR, S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_K), KC_SLSH, TD_LT, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_Z), KC_COLN, KC_EXLM, KC_EQL, TD_GRV, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_UNDS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Fn | Caps | G | [ | ] | ^ | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ? |Cursor| Mouse| | | ( | ) | $ | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | I | / | Num | Regex| \ | * | . | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | - | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), KC_LBRC, KC_RBRC, KC_CIRC, S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, S(KC_W)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_I), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_ASTR, KC_DOT, S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_MINS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// .................................................................... BEAKL SP +#ifdef BEAKLSP + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Shift| Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | . |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | ; | " | I | , | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Ins | Left | Ent | Bksp | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_Y, KC_O, KC_U, KC_Z, CNTR_TL, CNTR_TR, KC_G, KC_D, KC_N, KC_M, KC_X }, + {HOME_K, HOME_H, HOME_E, HOME_A, KC_DOT, CNTR_HL, CNTR_HR, KC_C, HOME_T, HOME_R, HOME_S, HOME_W }, + {KC_J, KC_SCLN, TD_QUOT, KC_I, KC_COMM, CNTR_BL, CNTR_BR, KC_B, KC_P, KC_L, KC_F, KC_V }, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_INS, SP_LEFT, TD_ENT, SP_BSPC, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_DOT, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_J), KC_SCLN, TD_QUOT, S(KC_I), KC_COMM, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_INS, SP_LEFT, TD_ENT, SP_BSPC, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | [ | ] | Z | Shift| Caps | G | D | N | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | ^ | < | > | ~ |Cursor| Mouse| C | T | R | S | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | ! | = | ` | Num | Regex| B | P | L | F | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | ↑Tab | f() | Ins | Left | _ | Del | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_Y), KC_LBRC, KC_RBRC, S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), S(KC_D), S(KC_N), S(KC_M), S(KC_X)}, + {S(KC_K), KC_CIRC, TD_LT, TD_GT, TD_TILD, CNTR_HL, CNTR_HR, S(KC_C), S(KC_T), S(KC_R), S(KC_S), S(KC_W)}, + {S(KC_Z), KC_COLN, KC_EXLM, KC_EQL, TD_GRV, CNTR_BL, CNTR_BR, S(KC_B), S(KC_P), S(KC_L), S(KC_F), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, S_TAB, ___fn__, LT_INS, S_LEFT, KC_UNDS, SP_DEL, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | Y | O | U | Z | Shift| Caps | G | { | } | M | X | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | K | H | E | A | ? |Cursor| Mouse| | | ( | ) | $ | W | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | J | : | " | I | / | Num | Regex| \ | * | . | P | V | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Tab | - | Ins | Left | f() | Bksp | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_Y), S(KC_O), S(KC_U), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_G), KC_LCBR, KC_RCBR, S(KC_M), S(KC_X)}, + {S(KC_K), S(KC_H), S(KC_E), S(KC_A), KC_QUES, CNTR_HL, CNTR_HR, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, S(KC_W)}, + {S(KC_J), TD_COLN, TD_DQOT, S(KC_I), KC_SLSH, CNTR_BL, CNTR_BR, KC_BSLS, KC_ASTR, KC_DOT, S(KC_P), S(KC_V)}, + {OS_CTL, OS_GUI, OS_ALT, KC_TAB, KC_MINS, LT_INS, S_LEFT, ___fn__, SP_BSPC, S_DOWN, S_UP, S_RGHT }, + }, +#endif diff --git a/keyboards/planck/keymaps/sdothum/colemak.h b/keyboards/planck/keymaps/sdothum/colemak.h new file mode 100644 index 00000000000..b7e9df22c15 --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/colemak.h @@ -0,0 +1,125 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// .............................................................. Colemak Mod-DH +#ifdef COLEMAK + // ,-----------------------------------------------------------------------------------. + // | Q | W | F | P | B | ^Alt | ^GUI | J | L | U | Y | ; | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | R | S | T | G | ↑Alt | ↑GUI | M | N | E | I | O | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | X | C | D | V | Caps |^Shift| K | H | , | . | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_W, KC_F, KC_P, KC_B, CNTR_TL, CNTR_TR, KC_J, KC_L, KC_U, KC_Y, KC_SCLN}, + {KC_A, KC_R, KC_S, KC_T, KC_G, CNTR_HL, CNTR_HR, KC_M, KC_N, KC_E, KC_I, KC_O }, + {KC_Z, KC_X, KC_C, KC_D, KC_V, CNTR_BL, CNTR_BR, KC_K, KC_H, KC_COMM, KC_DOT, TD_QUOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_W), S(KC_F), S(KC_P), S(KC_B), CNTR_TL, CNTR_TR, S(KC_J), S(KC_L), S(KC_U), S(KC_Y), KC_SCLN}, + {S(KC_A), S(KC_R), S(KC_S), S(KC_T), S(KC_G), CNTR_HL, CNTR_HR, S(KC_M), S(KC_N), S(KC_E), S(KC_I), S(KC_O)}, + {S(KC_Z), S(KC_X), S(KC_C), S(KC_D), S(KC_V), CNTR_BL, CNTR_BR, S(KC_K), S(KC_H), KC_COMM, KC_DOT, TD_QUOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | W | F | P | B | ^Alt | ^GUI | J | L | U | Y | : | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | R | S | T | G | ↑Alt | ↑GUI | M | N | E | I | O | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | X | C | D | V | Caps |^Shift| K | H | / | ? | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | - | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_W), S(KC_F), S(KC_P), S(KC_B), CNTR_TL, CNTR_TR, S(KC_J), S(KC_L), S(KC_U), S(KC_Y), TD_COLN}, + {S(KC_A), S(KC_R), S(KC_S), S(KC_T), S(KC_G), CNTR_HL, CNTR_HR, S(KC_M), S(KC_N), S(KC_E), S(KC_I), S(KC_O)}, + {S(KC_Z), S(KC_X), S(KC_C), S(KC_D), S(KC_V), CNTR_BL, CNTR_BR, S(KC_K), S(KC_H), KC_SLSH, KC_QUES, TD_DQOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_MINS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | W | F | P | B | ^Alt | ^GUI | J | L | U | Y | : | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | R | S | T | G | ↑Alt | ↑GUI | M | N | E | I | O | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | X | C | D | V | Caps |^Shift| K | H | ~ | ` | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | _ | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_W), S(KC_F), S(KC_P), S(KC_B), CNTR_TL, CNTR_TR, S(KC_J), S(KC_L), S(KC_U), S(KC_Y), TD_COLN}, + {S(KC_A), S(KC_R), S(KC_S), S(KC_T), S(KC_G), CNTR_HL, CNTR_HR, S(KC_M), S(KC_N), S(KC_E), S(KC_I), S(KC_O)}, + {S(KC_Z), S(KC_X), S(KC_C), S(KC_D), S(KC_V), CNTR_BL, CNTR_BR, S(KC_K), S(KC_H), TD_TILD, TD_GRV, TD_DQOT}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_UNDS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + +// ..................................................................... ColemaX +#ifdef COLEMAX + // ,-----------------------------------------------------------------------------------. + // | Q | W | C | G | Z | ^Alt | ^GUI | J | L | U | Y | ; | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | R | S | T | B | ↑Alt | ↑GUI | K | N | E | I | O | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | X | V | F | D | P | Caps |^Shift| M | H | , | . | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_W, KC_C, KC_G, KC_Z, CNTR_TL, CNTR_TR, KC_J, KC_L, KC_U, KC_Y, KC_SCLN}, + {KC_A, KC_R, KC_S, KC_T, KC_B, CNTR_HL, CNTR_HR, KC_K, KC_N, KC_E, KC_I, KC_O }, + {KC_X, KC_V, KC_F, KC_D, KC_P, CNTR_BL, CNTR_BR, KC_M, KC_H, KC_COMM, KC_DOT, TD_QUOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_W), S(KC_C), S(KC_G), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_J), S(KC_L), S(KC_U), S(KC_Y), KC_SCLN}, + {S(KC_A), S(KC_R), S(KC_S), S(KC_T), S(KC_B), CNTR_HL, CNTR_HR, S(KC_K), S(KC_N), S(KC_E), S(KC_I), S(KC_O)}, + {S(KC_X), S(KC_V), S(KC_F), S(KC_D), S(KC_P), CNTR_BL, CNTR_BR, S(KC_M), S(KC_H), KC_COMM, KC_DOT, TD_QUOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | W | C | G | Z | ^Alt | ^GUI | J | L | U | Y | : | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | R | S | T | B | ↑Alt | ↑GUI | K | N | E | I | O | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | X | V | F | D | P | Caps |^Shift| M | H | / | ? | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | - | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_W), S(KC_C), S(KC_G), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_J), S(KC_L), S(KC_U), S(KC_Y), TD_COLN}, + {S(KC_A), S(KC_R), S(KC_S), S(KC_T), S(KC_B), CNTR_HL, CNTR_HR, S(KC_K), S(KC_N), S(KC_E), S(KC_I), S(KC_O)}, + {S(KC_X), S(KC_V), S(KC_F), S(KC_D), S(KC_P), CNTR_BL, CNTR_BR, S(KC_M), S(KC_H), KC_SLSH, KC_QUES, TD_DQOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_MINS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | W | C | G | Z | ^Alt | ^GUI | J | L | U | Y | : | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | R | S | T | B | ↑Alt | ↑GUI | K | N | E | I | O | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | X | V | F | D | P | Caps |^Shift| M | H | ~ | ` | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | _ | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_W), S(KC_C), S(KC_G), S(KC_Z), CNTR_TL, CNTR_TR, S(KC_J), S(KC_L), S(KC_U), S(KC_Y), TD_COLN}, + {S(KC_A), S(KC_R), S(KC_S), S(KC_T), S(KC_B), CNTR_HL, CNTR_HR, S(KC_K), S(KC_N), S(KC_E), S(KC_I), S(KC_O)}, + {S(KC_X), S(KC_V), S(KC_F), S(KC_D), S(KC_P), CNTR_BL, CNTR_BR, S(KC_M), S(KC_H), TD_TILD, TD_GRV, TD_DQOT}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_UNDS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + diff --git a/keyboards/planck/keymaps/sdothum/common/chord_layout.h b/keyboards/planck/keymaps/sdothum/common/chord_layout.h new file mode 100644 index 00000000000..2c785d56ca7 --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/common/chord_layout.h @@ -0,0 +1,41 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// .................................................................. Short Cuts + + // .-----------------------------------------------------------------------------------. + // | | | Copy | Paste| | | | | | | | | + // |--------------------------------------------------------------+------+------+------| + // | Undo | Cut | Copy | Paste| | | | | PRIV | PUB | | | + // |-----------------------------------------------------------------------------------| + // | | | Nak | Eot | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | | | | | f() | | | | | | + // | | | | | | | | f() | | | | | see _PLOVER + // '-----------------------------------------------------------------------------------' + + [_EDIT] = { + {_______, _______, TMCOPY, TMPASTE, _______, _______, _______, _______, _______, _______, _______, _______}, + {UNDO, CUT, COPY, PASTE, _______, _______, _______, _______, TD_PRIV, TD_SEND, _______, _______}, + {_______, _______, NAK, EOT, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______, ___fn__, ___fn__, _______, _______, _______, _______}, + }, + +// ................................................................ Adjust Layer + + // ,-----------------------------------------------------------------------------------. + // |Plover| | | | | | | | | | | | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // |Aud on| | | | | | | | | | | | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Reset| | | | | | | | | | | | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | | | f() | | | | | f() | | | | + // `-----------------------------------------------------------------------------------' + + [_ADJUST] = { + {PLOVER, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {AU_ON, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, + {_______, _______, _______, ___fn__, _______, _______, _______, _______, ___fn__, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/sdothum/common/init.h b/keyboards/planck/keymaps/sdothum/common/init.h new file mode 100644 index 00000000000..6366a19f65e --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/common/init.h @@ -0,0 +1,56 @@ + +// ....................................................................... Audio + +void matrix_init_user(void) +{ +#ifdef STENO_ENABLE + steno_set_mode(STENO_MODE_BOLT); // or STENO_MODE_GEMINI +#endif +#ifdef AUDIO_ENABLE + startup_user(); +#endif +} + +#ifdef AUDIO_ENABLE +#ifdef BACKLIGHT_ENABLE +void led_set_user(uint8_t usb_led) +{ + static uint8_t old_usb_led = 0; + _delay_ms(10); // gets rid of tick + if (!is_playing_notes()) { + if ((usb_led & (1<event.pressed) { + key_timer = timer_read(); + register_code(modifier); + if (modifier2) { + register_code(modifier2); + } + } + else { + unregister_code(modifier); + if (modifier2) { + unregister_code(modifier2); + } + if (timer_elapsed(key_timer) < TAPPING_TERM) { + shift_key(keycode); + } + key_timer = 0; + } +} + +// ................................................................... Mod Masks + +// tap dance persistant mods, see process_record_user() +// keyboard_report->mods (?) appears to be cleared by tap dance +static uint8_t mods = 0; + +void tap_mods(keyrecord_t *record, uint16_t keycode) +{ + if (record->event.pressed) { + mods |= MOD_BIT(keycode); + } + else { + mods &= ~(MOD_BIT(keycode)); + } +} + +// (un)register modifiers +void modifier(void (*f)(uint8_t)) +{ + if (mods & MOD_BIT(KC_LCTL)) { + (*f)(KC_LCTL); + } + if (mods & MOD_BIT(KC_LGUI)) { + (*f)(KC_LGUI); + } + if (mods & MOD_BIT(KC_LALT)) { + (*f)(KC_LALT); + } +} + +// .................................................... Triple Dance Shift/Layer + +static uint8_t dt_shift = 0; + +void double_shift(uint16_t keycode, uint8_t layer) +{ + tap_key (keycode); + if (DT_SHIFT) { + // set_oneshot_mods(MOD_LSFT); + // layer_on(layer); + layer_on (_SHIFT); + set_oneshot_layer(_SHIFT, ONESHOT_START); + dt_shift = 1; + } + else { + layer_on(layer); + } +} + +// tap dance LT (LAYER, KEY) emulation with -> and auto-repeat extensions! +void tap_shift(qk_tap_dance_state_t *state, uint16_t keycode, uint8_t layer) +{ + // double tap plus down + if (state->count > 2) { + // double enter shift + if (keycode == KC_ENT) { + tap_key (keycode); + double_shift(keycode, layer); + } + // repeating keycode + else { + register_code(keycode); + } + } + // tap plus down (or double tap): keycode (one shot) shift + else if (state->count > 1) { + double_shift(keycode, layer); + } + // down: shift + else if (state->pressed) { + layer_on(layer); + } + // tap: keycode + else { + modifier(register_code); + tap_key (keycode); + modifier(unregister_code); + } +} + +void tap_reset(uint16_t keycode, uint8_t layer) +{ + unregister_code(keycode); + if (DT_SHIFT && dt_shift) { + clear_oneshot_layer_state(ONESHOT_PRESSED); + dt_shift = 0; + } + else { + layer_off(layer); + } +} + +// augment pseudo LT (_RSHIFT, KC_ENT) handling below for rapid sequences +void enter(qk_tap_dance_state_t *state, void *user_data) +{ + tap_shift(state, KC_ENT, _RSHIFT); +} + +void enter_reset(qk_tap_dance_state_t *state, void *user_data) +{ + tap_reset(KC_ENT, _RSHIFT); +} + +// augment pseudo LT (_LSHIFT, KC_SPC) handling below for rapid sequences +void space(qk_tap_dance_state_t *state, void *user_data) +{ + tap_shift(state, KC_SPC, _LSHIFT); +} + +void space_reset(qk_tap_dance_state_t *state, void *user_data) +{ + tap_reset(KC_SPC, _LSHIFT); +} + +// ......................................................... Triple Dance Insert + +void double_max(uint8_t count, uint8_t shift, uint16_t keycode) +{ + if (shift) { + shift_key(keycode); + if (count > 1) { + shift_key(keycode); + } + } + else { + tap_key(keycode); + if (count > 1) { + tap_key(keycode); + } + } +} + +void colon(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key (KC_SPC); + shift_key(KC_SCLN); + shift_key(KC_SCLN); + tap_key (KC_SPC); + } + else { + double_max(state->count, SHIFT, KC_SCLN); + } + reset_tap_dance(state); +} + +void eql(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key(KC_SPC); + tap_key(KC_SLSH); + tap_key(KC_EQL); + tap_key(KC_SPC); + } + else { + double_max(state->count, NOSHIFT, KC_EQL); + } + reset_tap_dance(state); +} + +void greater(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key (KC_SPC); + tap_key (KC_MINS); + shift_key(KC_DOT); + tap_key (KC_SPC); + } + else { + double_max(state->count, SHIFT, KC_DOT); + } + reset_tap_dance(state); +} + +void lesser(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 2) { + tap_key (KC_SPC); + shift_key(KC_COMM); + tap_key (KC_MINS); + tap_key (KC_SPC); + } + else { + double_max(state->count, SHIFT, KC_COMM); + } + reset_tap_dance(state); +} + +void tilde(qk_tap_dance_state_t *state, void *user_data) +{ + // double tap plus down: repeating keycode + if (state->count > 2) { + register_code(KC_LSFT); + register_code(KC_GRV); + } + // tap: keycode + else { + shift_key(KC_GRV); + // double tap: unix home directory + if (state->count > 1) { + tap_key(KC_SLSH); + } + } +} + +void tilde_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_GRV); + unregister_code(KC_LSFT); +} + +// ............................................................. Tap Dance Pairs + +// tap dance shift rules +#define S_NEVER 0 +#define S_SINGLE 1 +#define S_DOUBLE 2 +#define S_ALWAYS S_SINGLE | S_DOUBLE + +void symbol_pair(uint8_t shift, uint16_t left, uint16_t right) +{ + if (shift & S_DOUBLE) { + shift_key(left); + shift_key(right); + } + else { + tap_key(left); + tap_key(right); + } +} + +#define CLOSE 1 + +// tap dance symbol pairs +void tap_pair(qk_tap_dance_state_t *state, uint8_t shift, uint16_t left, uint16_t right, uint16_t modifier, uint8_t close) +{ + // triple tap: left right with cursor between symbol pair a la vim :-) + if (state->count > 2) { + symbol_pair(shift, left, right); + tap_key (KC_LEFT); + } + // double tap: left right + else if (state->count > 1) { + symbol_pair(shift, left, right); + } + // down: modifier + else if (state->pressed) { + if (modifier) { + register_code(modifier); + } + } + // tap: left (close: right) + else { + if (shift & S_SINGLE) { + shift_key(close ? right : left); + } + else { + tap_key(close ? right : left); + } + } + if (!modifier) { + reset_tap_dance(state); + } +} + +void doublequote(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_QUOT, KC_QUOT, 0, 0); +} + +void grave(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_GRV, KC_GRV, 0, 0); +} + +void lbrace(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, 0); +} + +void lcurly(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, 0); +} + +void lparen(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_9, KC_0, KC_LCTL, 0); +} + +void lparen_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_LCTL); +} + +void quote(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_QUOT, KC_QUOT, 0, 0); +} + +void rangle(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_COMM, KC_DOT, 0, CLOSE); +} + +void rbrace(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_NEVER, KC_LBRC, KC_RBRC, 0, CLOSE); +} + +void rcurly(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_LBRC, KC_RBRC, 0, CLOSE); +} + +void rparen(qk_tap_dance_state_t *state, void *user_data) +{ + tap_pair(state, S_ALWAYS, KC_9, KC_0, 0, CLOSE); +} + +void rparen_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_LCTL); +} + +// ............................................................ Tap Dance Insert + +void comma(qk_tap_dance_state_t *state, void *user_data) +{ + tap_key(KC_COMM); + if (state->count > 1) { + tap_key(KC_SPC); + } + reset_tap_dance(state); +} + +void dot(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { + shift_key(KC_COLN); + } + else { + tap_key(KC_DOT); + } + reset_tap_dance(state); +} + +// compile time macro string, see functions/hardware planck script +void private(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { +#ifdef PRIVATE_STRING +#include "private_string.h" +#endif + } + reset_tap_dance(state); +} + +// config.h defined string +void send(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { + SEND_STRING(PUBLIC_STRING); + } + reset_tap_dance(state); +} + +// .......................................................... Tap Dance One Shot + +void caps(qk_tap_dance_state_t *state, void *user_data) +{ + if (state->count > 1) { + tap_key(KC_CAPS); + } + else { + set_oneshot_mods(MOD_LSFT); + register_code (KC_LSFT); // on hold down + } +} + +void caps_reset(qk_tap_dance_state_t *state, void *user_data) +{ + unregister_code(KC_LSFT); +} + +// ................................................................... Tap Dance + +qk_tap_dance_action_t tap_dance_actions[] = { + [_CAPS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, caps, caps_reset) + ,[_COLN] = ACTION_TAP_DANCE_FN (colon) + ,[_COMM] = ACTION_TAP_DANCE_FN (comma) + ,[_DOT] = ACTION_TAP_DANCE_FN (dot) + ,[_DQOT] = ACTION_TAP_DANCE_FN (doublequote) + ,[_ENT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, enter, enter_reset) + ,[_EQL] = ACTION_TAP_DANCE_FN (eql) + ,[_GRV] = ACTION_TAP_DANCE_FN (grave) + ,[_GT] = ACTION_TAP_DANCE_FN (greater) + ,[_LBRC] = ACTION_TAP_DANCE_FN (lbrace) + ,[_LCBR] = ACTION_TAP_DANCE_FN (lcurly) + ,[_LPRN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lparen, lparen_reset) + ,[_LT] = ACTION_TAP_DANCE_FN (lesser) + ,[_PRIV] = ACTION_TAP_DANCE_FN (private) + ,[_QUOT] = ACTION_TAP_DANCE_FN (quote) + ,[_RBRC] = ACTION_TAP_DANCE_FN (rbrace) + ,[_RCBR] = ACTION_TAP_DANCE_FN (rcurly) + ,[_RNGL] = ACTION_TAP_DANCE_FN (rangle) + ,[_RPRN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rparen, rparen_reset) + ,[_SEND] = ACTION_TAP_DANCE_FN (send) + ,[_SPC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, space, space_reset) + ,[_TILD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tilde, tilde_reset) +}; + +// .............................................................. Dynamic Layers + +#define LEFT 1 +#define RIGHT 2 +static uint8_t thumb = 0; + +// LEFT (KC_SPC, S(KC_BSLS)), RIGHT (KC_LEFT, S(KC_LEFT)) opposite thumb combinations, see process_record_user() +// up, up -> _BASE +// up, down -> _SYMBOL +// down, up -> _NUMBER +// down, down -> _MOUSE // see layer keycodes that raise mouse layer +#define THUMBS_DOWN _MOUSE // layer + +static uint8_t overlayer = 0; + +// left right thumb layer combinations +void thumb_layer(keyrecord_t *record, uint8_t side, uint8_t shift, uint16_t keycode, uint8_t thumb_dn_layer, uint8_t thumb_up_layer) +{ + if (record->event.pressed) { + // layer_on via tap_layer(), see process_record_user() + key_timer = timer_read(); + thumb = thumb | side; + } + else { + layer_off(thumb_dn_layer); + // opposite thumb_layer() thumb may have switched effective layer! + if (overlayer) { + layer_off(overlayer); + overlayer = 0; + } + if (!key_press(shift, keycode)) { + layer_off(THUMBS_DOWN); // both thumbs needed + // opposite thumb down? see left right combination layer table above + if (thumb & (side == LEFT ? RIGHT : LEFT)) { + layer_on(thumb_up_layer); + overlayer = thumb_up_layer; + } + } + clear_mods(); + thumb = thumb & ~side; + key_timer = 0; + } +} + +// #ifdef STENO_ENABLE +// // LT for steno keycode +// void stn_layer(keyrecord_t *record, uint16_t keycode, uint8_t layer) +// { +// if (record->event.pressed) { +// key_timer = timer_read(); +// if (keycode) { +// process_steno(keycode, record); +// } +// layer_on(layer); +// } +// else { +// layer_off(layer); +// if (keycode) { +// if (timer_elapsed(key_timer) < TAPPING_TERM) { +// process_steno(keycode, record); +// } +// else { +// // clear pressed state (request push of updated) process_steno.c and .h +// // steno_clear_state(); +// } +// } +// key_timer = 0; +// } +// } +// #endif + +// LT for S(keycode) +void lt_shift(keyrecord_t *record, uint16_t keycode, uint8_t layer) +{ + if (record->event.pressed) { + key_timer = timer_read(); + layer_on(layer); + } + else { + layer_off(layer); + // for shifted keycodes, hence, LT_SHIFT + key_press(SHIFT, keycode); + clear_mods(); + key_timer = 0; + } +} + +// set layer asap to overcome macro latency errors, notably tap dance and LT usage +// this routine inexplicably (?) sets layer_on() faster than can be done in thumb_layer() +void tap_layer(keyrecord_t *record, uint8_t layer) +{ + if (record->event.pressed) { + layer_on(layer); + } + else { + layer_off(layer); + } +} + +// ..................................................................... Keymaps + +// void persistant_default_layer_set(uint16_t default_layer) +// { +// eeconfig_update_default_layer(default_layer); +// default_layer_set (default_layer); +// } + +void clear_layers(void) +{ + uint8_t layer; + for (layer = 0; layer < _END_LAYERS; layer++) { + layer_off(layer); + } +} + +#ifdef CENTER_TT +static uint16_t tt_keycode = 0; // current TT keycode + +void clear_tt(void) +{ + if (tt_keycode == KC_CAPS) { + tap_key(KC_CAPS); // clear capslock + } + tt_keycode = 0; + clear_layers(); + set_single_persistent_default_layer(_BASE); +} +#endif + +// txbolt plover run state +static uint8_t plover = 0; + +void base_layer(void) +{ +#ifdef AUDIO_ENABLE + if (plover) { + PLAY_SONG(song_plover_gb); + } + else { + PLAY_SONG(song_qwerty); + } +#endif + clear_layers(); + set_single_persistent_default_layer(_BASE); +} + +void toggle_plover(uint8_t state) +{ + if (plover != state) { +#ifdef PLOVER_KEYBIND +#include "plover_keybind.h" +#endif + plover = state; + } +} + +void steno(keyrecord_t *record) +{ + if (record->event.pressed) { +#ifdef AUDIO_ENABLE + PLAY_SONG(song_plover); +#endif + clear_layers(); + layer_on(_PLOVER); + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + keymap_config.raw = eeconfig_read_keymap(); + keymap_config.nkro = 1; + eeconfig_update_keymap(keymap_config.raw); + if (!plover) { + toggle_plover(1); + } + } +} + +void steno_exit(keyrecord_t *record) +{ + if (record->event.pressed) { + base_layer(); + toggle_plover(0); + } +} diff --git a/keyboards/planck/keymaps/sdothum/common/number_fkey_layout.h b/keyboards/planck/keymaps/sdothum/common/number_fkey_layout.h new file mode 100644 index 00000000000..4824b82a070 --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/common/number_fkey_layout.h @@ -0,0 +1,87 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ......................................................... Number Keypad Layer +#ifdef SHIFT_SYMBOLS + // .-----------------------------------------------------------------------------------. + // | | F | E | D | | | | / | 7 | 8 | 9 | * | + // |-----------------------------------------------------------------------------------| + // | Ctrl | C | B | A | | | | . | 4 | 5 | 6 | - | + // |-----------------------------------------------------------------------------------| + // | | # | G | \ | | | | , | 1 | 2 | 3 | + | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | 0 | = | | | | + // | | | | f() | | | | = | 0 | | | | + // '-----------------------------------------------------------------------------------' + + [_NUMBER] = { + {_______, KC_F, MT_E, KC_D, _______, ___x___, ___x___, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR}, + {OS_CTL, GT_C, AT_B, ST_A, _______, ___x___, ___x___, TD_DOT, KC_4, KC_5, KC_6, KC_MINS}, + {_______, KC_HASH, SM_G, KC_BSLS, _______, ___x___, ___x___, TD_COMM, KC_1, KC_2, KC_3, KC_PLUS}, +#ifdef THUMB_0 + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_0, LT_EQL, ___x___, ___x___, ___x___}, +#else + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_EQL, LT_0, ___x___, ___x___, ___x___}, +#endif + }, +#else + // .-----------------------------------------------------------------------------------. + // | | F | E | D | | | | / | 7 | 8 | 9 | * | + // |-----------------------------------------------------------------------------------| + // | Ctrl | C | B | A | | | | . | 4 | 5 | 6 | - | + // |-----------------------------------------------------------------------------------| + // | | # | X | G | | | | , | 1 | 2 | 3 | + | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | 0 | = | | | | + // | | | | f() | | | | = | 0 | | | | + // '-----------------------------------------------------------------------------------' + + [_NUMBER] = { + {_______, KC_F, MT_E, KC_D, _______, _______, _______, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR}, + {OS_CTL, GT_C, AT_B, LT_A, _______, _______, _______, KC_DOT, KC_4, KC_5, KC_6, KC_MINS}, + {_______, KC_HASH, MT_X, S(KC_G), _______, _______, _______, TD_COMM, KC_1, KC_2, KC_3, KC_PLUS}, +#ifdef THUMB_0 + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_0, LT_EQL, ___x___, ___x___, ___x___}, +#else + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_EQL, LT_0, ___x___, ___x___, ___x___}, +#endif + }, + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | { | & | ? | : | } | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | ( | $ | % | ^ | ) | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | [ | < | ~ | > | ] | + // |-----------------------------------------------------------------------------------| + // | | | | f() | | | | \ | | | | | | + // '-----------------------------------------------------------------------------------' + + [_NUMSYM] = { + {_______, _______, _______, ___x___, _______, _______, _______, TD_LCBR, KC_AMPR, KC_QUES, KC_COLN, KC_RCBR}, + {___x___, ___x___, ___x___, ___fn__, _______, _______, _______, TD_LPRN, KC_DLR, KC_PERC, KC_CIRC, KC_RPRN}, + {_______, _______, _______, ___x___, _______, _______, _______, TD_LBRC, KC_LT, KC_TILD, KC_GT, KC_RBRC}, + {___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___, KC_BSLS, KC_PIPE, ___x___, ___x___, ___x___}, + }, +#endif + +// ............ .................................................. Function Keys + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | F7 | F8 | F9 | F12 | + // |-----------------------------------------------------------------------------------| + // | Ctrl | GUI | Alt | Shift| | | | | F4 | F5 | F6 | F11 | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | F1 | F2 | F3 | F10 | + // |-----------------------------------------------------------------------------------| + // | | | | | | f() | | + | | | | | + // | | | | | f() | | | + | | | | | see _PLOVER + // '-----------------------------------------------------------------------------------' + + [_FNCKEY] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F7, KC_F8, KC_F9, KC_F12 }, + {OS_CTL, OS_GUI, OS_ALT, OS_SFT, _______, ___x___, ___x___, _______, KC_F4, KC_F5, KC_F6, KC_F11 }, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F1, KC_F2, KC_F3, KC_F10 }, + {_______, _______, _______, _______, ___fn__, ___fn__, _______, KC_PLUS, _______, _______, _______, _______}, + }, + diff --git a/keyboards/planck/keymaps/sdothum/common/plover_keybind.h b/keyboards/planck/keymaps/sdothum/common/plover_keybind.h new file mode 100644 index 00000000000..88ec727bfd6 --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/common/plover_keybind.h @@ -0,0 +1,7 @@ + +// simple window manager specific plover keybind hook + +// toggle plover application, see herbstluftwm/config/appbinds +register_code (KC_LGUI); +shift_key (KC_RGHT); +unregister_code(KC_LGUI); diff --git a/keyboards/planck/keymaps/sdothum/common/sounds.h b/keyboards/planck/keymaps/sdothum/common/sounds.h new file mode 100644 index 00000000000..1bfc7a6da0c --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/common/sounds.h @@ -0,0 +1,14 @@ + +// ................................................................ Audio Sounds + +#ifdef AUDIO_ENABLE +float song_startup [][2] = SONG(STARTUP_SOUND); +float song_colemak [][2] = SONG(COLEMAK_SOUND); +float song_qwerty [][2] = SONG(QWERTY_SOUND); +float song_plover [][2] = SONG(PLOVER_SOUND); +float song_plover_gb[][2] = SONG(PLOVER_GOODBYE_SOUND); +float song_caps_on [][2] = SONG(CAPS_LOCK_ON_SOUND); +float song_caps_off [][2] = SONG(CAPS_LOCK_OFF_SOUND); +float music_scale [][2] = SONG(MUSIC_SCALE_SOUND); +float song_goodbye [][2] = SONG(GOODBYE_SOUND); +#endif diff --git a/keyboards/planck/keymaps/sdothum/common/steno_layout.h b/keyboards/planck/keymaps/sdothum/common/steno_layout.h new file mode 100644 index 00000000000..ab4a6fe011c --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/common/steno_layout.h @@ -0,0 +1,39 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ...................................................................... Plover +#ifdef STENO_ENABLE + // ,-----------------------------------------------------------------------------------. + // | # | # | # | # | # | # | # | # | # | # | # | # | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | Base | S | T | P | H | * | * | F | P | L | T | D | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Base | S | K | W | R | * | * | R | B | G | S | Z | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | A | O | E | U | | + // `-----------------------------------------------------------------------------------' + + [_PLOVER] = { + {STN_N1, STN_N2, STN_N3, STN_N4, STN_N5, STN_N6, STN_N7, STN_N8, STN_N9, STN_NA, STN_NB, STN_NC }, + {BASE1, STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_ST3, STN_FR, STN_PR, STN_LR, STN_TR, STN_DR }, + {BASE2, STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ST4, STN_RR, STN_BR, STN_GR, STN_SR, STN_ZR }, + {_______, _______, _______, PS_STNA, PS_STNO, _______, _______, PS_STNE, PS_STNU, _______, _______, _______}, + }, +#else + // ,-----------------------------------------------------------------------------------. + // | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | Base | S | T | P | H | * | * | F | P | L | T | D | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Base | S | K | W | R | * | * | R | B | G | S | Z | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | A | O | E | U | | + // `-----------------------------------------------------------------------------------' + + [_PLOVER] = { + {KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 }, + {BASE1, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC}, + {BASE2, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {_______, _______, _______, LT_C, LT_V, _______, _______, LT_N, LT_M, _______, _______, _______}, + }, +#endif diff --git a/keyboards/planck/keymaps/sdothum/common/symbol_guifn_layout.h b/keyboards/planck/keymaps/sdothum/common/symbol_guifn_layout.h new file mode 100644 index 00000000000..2edfe1a04a5 --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/common/symbol_guifn_layout.h @@ -0,0 +1,75 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ..................................................... Symbol Navigation Layer +#ifdef SHIFT_SYMBOLS + // .-----------------------------------------------------------------------------------. + // | | ~ | * | & | | | | | Home | Up | End | PgUp | + // |-----------------------------------------------------------------------------------| + // | Ctrl | ^ | % | $ | | | | | Left | Down | Right| PgDn | + // |-----------------------------------------------------------------------------------| + // | | # | @ | ! | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | |Adjust| \ | | | | f() | | | | + // '-----------------------------------------------------------------------------------' + + [_SYMBOL] = { + {_______, KC_TILD, KC_ASTR, KC_AMPR, _______, ___x___, ___x___, _______, KC_HOME, KC_UP, KC_END, KC_PGUP}, + {OS_CTL, SM_CIRC, SM_PERC, SM_DLR, _______, ___x___, ___x___, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN}, + {_______, KC_HASH, KC_AT, KC_EXLM, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {___x___, ___x___, ___x___, ADJUST, LT_BSLS, ___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___}, + }, +#else + // .-----------------------------------------------------------------------------------. + // | { | . | * | & | } | | | | Home | Up | End | PgUp | + // |-----------------------------------------------------------------------------------| + // | ( | ^ | % | $ | ) | | | | Left | Down | Right| PgDn | + // |-----------------------------------------------------------------------------------| + // | [ | # | @ | ! | ] | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | | | | \ | | | | f() | | | | + // '-----------------------------------------------------------------------------------' + + [_SYMBOL] = { + {KC_LCBR, KC_DOT, KC_ASTR, KC_AMPR, TD_RCBR, _______, _______, _______, KC_HOME, KC_UP, KC_END, KC_PGUP}, + {SM_LPRN, SM_CIRC, SM_PERC, SM_DLR, TD_RPRN, _______, _______, _______, LT_LFTX, KC_DOWN, KC_RGHT, KC_PGDN}, + {KC_LBRC, KC_HASH, KC_AT, KC_EXLM, TD_RBRC, _______, _______, _______, _______, _______, _______, _______}, + {___x___, ___x___, ___x___, SL_PIPE, LT_BSLS, ___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___}, + }, + + // .-----------------------------------------------------------------------------------. + // | | ? | + | ~ | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | < | = | > | | | | | f() | | | | + // |-----------------------------------------------------------------------------------| + // | | 3 | 2 | 1 | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | f() | | | | + // '-----------------------------------------------------------------------------------' + + [_SYMREG] = { + {___x___, KC_QUES, KC_PLUS, KC_TILD, ___x___, _______, _______, _______, ___x___, ___x___, ___x___, ___x___}, + {___x___, KC_LT, KC_EQL, TD_RNGL, ___x___, _______, _______, _______, ___fn__, ___x___, ___x___, ___x___}, + {___x___, KC_3, KC_2, KC_1, ___x___, _______, _______, _______, _______, _______, _______, _______}, + {___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___fn__, ___x___, ___x___, ___x___}, + }, +#endif + +// ............................................................... Mouse Actions + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | Left | Up | Right| Up | + // |-----------------------------------------------------------------------------------| + // | | Btn3 | Btn2 | Btn1 | | | | | Left | Down | Right| Down | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | | | | f() | | | | f() | | | | + // '-----------------------------------------------------------------------------------' + + [_MOUSE] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U}, + {_______, KC_BTN3, KC_BTN2, KC_BTN1, _______, ___x___, ___x___, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D}, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, ___fn__, _______, _______, _______, ___fn__, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/sdothum/common/tapdance.h b/keyboards/planck/keymaps/sdothum/common/tapdance.h new file mode 100644 index 00000000000..d778286bf1e --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/common/tapdance.h @@ -0,0 +1,49 @@ + +// tap dance keys +enum tap_dance { + _CAPS = 0 + ,_COLN + ,_COMM + ,_DOT + ,_DQOT + ,_ENT + ,_EQL + ,_GRV + ,_GT + ,_LBRC + ,_LCBR + ,_LPRN + ,_LT + ,_PRIV + ,_QUOT + ,_RBRC + ,_RCBR + ,_RNGL + ,_RPRN + ,_SEND + ,_SPC + ,_TILD +}; + +#define TD_CAPS TD(_CAPS) +#define TD_COLN TD(_COLN) +#define TD_COMM TD(_COMM) +#define TD_DOT TD(_DOT) +#define TD_DQOT TD(_DQOT) +#define TD_ENT TD(_ENT) +#define TD_EQL TD(_EQL) +#define TD_GRV TD(_GRV) +#define TD_GT TD(_GT) +#define TD_LBRC TD(_LBRC) +#define TD_LCBR TD(_LCBR) +#define TD_LPRN TD(_LPRN) +#define TD_LT TD(_LT) +#define TD_PRIV TD(_PRIV) // compile time macro string, provided in private_string.h +#define TD_QUOT TD(_QUOT) +#define TD_RBRC TD(_RBRC) +#define TD_RCBR TD(_RCBR) +#define TD_RNGL TD(_RNGL) +#define TD_RPRN TD(_RPRN) +#define TD_SEND TD(_SEND) // config.h defined macro string +#define TD_SPC TD(_SPC) // see process_record_user() for extended handling of Spc +#define TD_TILD TD(_TILD) diff --git a/keyboards/planck/keymaps/sdothum/common/toggle_layout.h b/keyboards/planck/keymaps/sdothum/common/toggle_layout.h new file mode 100644 index 00000000000..504a1ff579e --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/common/toggle_layout.h @@ -0,0 +1,102 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ......................................................... Number Keypad Layer + + // .-----------------------------------------------------------------------------------. + // | | F | E | D | | | | / | 7 | 8 | 9 | * | + // |-----------------------------------------------------------------------------------| + // | Ctrl | C | B | A | | | | . | 4 | 5 | 6 | - | + // |-----------------------------------------------------------------------------------| + // | | # | G | \ | | | | , | 1 | 2 | 3 | + | + // |-----------------------------------------------------------------------------------| + // | | f() | Space| 0 | = | | + // | | f() | Space| = | 0 | | + // '-----------------------------------------------------------------------------------' + + [_TTNUMBER] = { + {_______, KC_F, MT_E, KC_D, _______, ___x___, ___x___, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR}, + {OS_CTL, GT_C, AT_B, ST_A, _______, ___x___, ___x___, TD_DOT, KC_4, KC_5, KC_6, KC_MINS}, + {_______, KC_HASH, SM_G, KC_BSLS, _______, ___x___, ___x___, TD_COMM, KC_1, KC_2, KC_3, KC_PLUS}, +#ifdef THUMB_0 + {_______, _______, _______, _______, TT_ESC, KC_SPC, KC_0, LT_EQL, _______, _______, _______, _______}, +#else + {_______, _______, _______, _______, TT_ESC, KC_SPC, KC_EQL, LT_0, _______, _______, _______, _______}, +#endif + }, + +// ............ .................................................. Function Keys + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | F7 | F8 | F9 | F12 | + // |-----------------------------------------------------------------------------------| + // | Ctrl | GUI | Alt | Shift| | | | | F4 | F5 | F6 | F11 | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | F1 | F2 | F3 | F10 | + // |-----------------------------------------------------------------------------------| + // | | f() | | + | | | + // '-----------------------------------------------------------------------------------' + + [_TTFNCKEY] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F7, KC_F8, KC_F9, KC_F12 }, + {OS_CTL, OS_GUI, OS_ALT, OS_SFT, _______, ___x___, ___x___, _______, KC_F4, KC_F5, KC_F6, KC_F11 }, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_F1, KC_F2, KC_F3, KC_F10 }, + {_______, _______, _______, _______, TT_ESC, _______, KC_PLUS, _______, _______, _______, _______, _______}, + }, + +// ....................................................................... Regex + + // ,-----------------------------------------------------------------------------------. + // | | ~ | { | } | & | | | % | [ | ] | @ | | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | | ^ | < | > | ? | | | | | ( | ) | $ | | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | | : | ! | = | / | | | \ | * | . | # | | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | | f() | - | + | Space| | + // `-----------------------------------------------------------------------------------' + + [_TTREGEX] = { + {___x___, KC_TILD, KC_LCBR, KC_RCBR, KC_AMPR, ___x___, ___x___, KC_PERC, KC_LBRC, KC_RBRC, KC_AT, ___x___}, + {___x___, KC_CIRC, KC_LT, KC_GT, KC_QUES, ___x___, ___x___, KC_PIPE, KC_LPRN, KC_RPRN, KC_DLR, ___x___}, + {___x___, KC_COLN, KC_EXLM, KC_EQL, KC_SLSH, ___x___, ___x___, KC_BSLS, KC_ASTR, KC_DOT, KC_HASH, ___x___}, + {_______, _______, _______, _______, TT_ESC, KC_MINS, KC_PLUS, KC_SPC, _______, _______, _______, _______}, + }, + +// ............................................................ Navigation Layer + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | Home | Up | End | PgUp | + // |-----------------------------------------------------------------------------------| + // | Ctrl | GUI | Alt | Shift| | | | | Left | Down | Right| PgDn | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | f() | | | | | + // '-----------------------------------------------------------------------------------' + + [_TTCURSOR] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_HOME, KC_UP, KC_END, KC_PGUP}, + {OS_CTL, OS_GUI, OS_ALT, OS_SFT, _______, ___x___, ___x___, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN}, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, TT_ESC, _______, _______, _______, _______, _______, _______, _______}, + }, + +// ............................................................... Mouse Actions + + // .-----------------------------------------------------------------------------------. + // | | | | | | | | | Left | Up | Right| Up | + // |-----------------------------------------------------------------------------------| + // | | Btn3 | Btn2 | Btn1 | | | | | Left | Down | Right| Down | + // |-----------------------------------------------------------------------------------| + // | | | | | | | | | | | | | + // |-----------------------------------------------------------------------------------| + // | | f() | | | | | + // '-----------------------------------------------------------------------------------' + + [_TTMOUSE] = { + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U}, + {_______, KC_BTN3, KC_BTN2, KC_BTN1, _______, ___x___, ___x___, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D}, + {_______, _______, _______, _______, _______, ___x___, ___x___, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, TT_ESC, _______, _______, _______, _______, _______, _______, _______}, + }, diff --git a/keyboards/planck/keymaps/sdothum/config.h b/keyboards/planck/keymaps/sdothum/config.h new file mode 100644 index 00000000000..4b2cdeece17 --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/config.h @@ -0,0 +1,50 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +// required because lower/raise modifiers are redefined by colemak-dh +#define PREVENT_STUCK_MODIFIERS + +// tap dance key press termination interval +#define TAPPING_TERM 250 + +// smooth mouse motion +// #define MOUSEKEY_INTERVAL 20 +// #define MOUSEKEY_DELAY 0 +// #define MOUSEKEY_TIME_TO_MAX 60 +// #define MOUSEKEY_MAX_SPEED 7 +// #define MOUSEKEY_WHEEL_DELAY 0 + +// compile time macro string, see functions/hardware planck script (undefine otherwise) +#define PRIVATE_STRING + +// compile time macro string, must be in quotes +#define PUBLIC_STRING ":%s/arch=(.*)/arch=('any')\n" + +// thumb key tap-shift() double tap: one shot shift (0) off (1) on +#define DT_SHIFT 1 + +// number layer 0 position KEYPAD_0, THUMB_0 +#define THUMB_0 + +// home block shift symbol clustes defined (no overlays required for extended symbols, undefine otherwise) +#define SHIFT_SYMBOLS + +// center column TT assignments (undefine for OSM chords) +#define CENTER_TT +#define TAPPING_TOGGLE 1 + +// home row modifiers +#define HOME_MODS +// fix dual function timing +#define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT + +// layout ADNW*, BEAKL*, COLEKA*, QWERTY (default) +#define BEAKLSP + +// sync app with window manager keybind hook defined in plover_keybind.h +#define PLOVER_KEYBIND + +#endif diff --git a/keyboards/planck/keymaps/sdothum/keymap.c b/keyboards/planck/keymaps/sdothum/keymap.c new file mode 100644 index 00000000000..ac509c41dc9 --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/keymap.c @@ -0,0 +1,480 @@ +// 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. +// +// To flash planck firmware +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// Reset keyboard or press hw reset button on base (hole) +// +// cd qmk_firmware/keyboards/planck +// sudo make KEYMAP=sdothum dfu +// +// sudo make clean (good practice before flashing) +// sudo make KEYMAP=sdothum (to compile check) +// +// Package requirements (for arch linux) +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// avr-gcc-atmel +// avr-libc-atmel +// dfu-programmer +// +// Notes +// ▔▔▔▔▔ +// ** E R G O W I D E S P L I T ** Layout +// +// Autocompletion tap dance key pairs (),[],{} are available from the +// number/symbol layer, as well as, numerous (un)shift key values +// +// The navigation pad provides a single hand right thumb activated cluster +// with left hand modifiers +// +// #define PRIVATE_STRING includes private_string.h, a user defined code +// block for the PRIV tap dance e.g. SEND_STRING("secret messape"), +// see function private() +// +// Modifier clusters +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// The num and sym keys together access the navigation pad layer +// +// ,-----------------------------------------------------------------------------------. +// | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| +// `-----------------------------------------------------------------------------------' +// +// Hint +// ▔▔▔▔ +// For sculpted keycaps such as Cherry or OEM profile, reverse the Alt, Num, +// Shift, Shift, Nav, Sym keycaps for more ergonomic thumb orientation and +// actuation +// +// Code +// ▔▔▔▔ +// This source is shamelessly based on the "default" planck layout +// +// #ifdef/#endif block structures are not indented, as syntax highlighting +// in vim is sufficient for identification +// +// c++ commenting style is used throughout +// +// Change history +// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔ +// See http://thedarnedestthing.com/planck%20constant +// See http://thedarnedestthing.com/planck%20done + + + +// === N O T E === +// +// sudo CPATH=/common make ... + + +#include "config.h" +#include "planck.h" +#include "action_layer.h" +#ifdef STENO_ENABLE +#include "keymap_steno.h" +#endif +#ifdef AUDIO_ENABLE +#include "audio.h" +#endif +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +enum planck_layers { + _BASE = 0 + ,_SHIFT + ,_LSHIFT + ,_RSHIFT + ,_PLOVER + ,_NUMBER + ,_SYMBOL + ,_FNCKEY + ,_MOUSE +#ifdef CENTER_TT + ,_TTNUMBER + ,_TTREGEX + ,_TTFNCKEY + ,_TTCURSOR + ,_TTMOUSE +#endif +#ifndef SHIFT_SYMBOLS + ,_NUMSYM + ,_SYMREG +#endif + ,_EDIT + ,_QWERTY + ,_ADJUST + ,_END_LAYERS +}; + +enum planck_keycodes { + BASE = SAFE_RANGE + ,BASE1 + ,BASE2 + ,PLOVER + ,PLOEXIT + ,SM_CIRC // pseudo GUI_T(S(KC_6)) for shifted key-codes, see process_record_user() + ,SM_DLR // pseudo SFT_T(S(KC_4)) for shifted key-codes, see process_record_user() + ,SM_G // pseudo MT (MOD_LALT | MOD_LSFT, S(KC_G)) for shifted key-codes, see process_record_user() + ,SM_PERC // pseudo ALT_T(S(KC_5)) for shifted key-codes, see process_record_user() + ,SM_LPRN // pseudo CTL_T(S(KC_9)) for shifted key-codes, see process_record_user() + ,SL_LEFT // pseudo LT (_MOUSE, S(KC_LEFT)) for shifted key-codes, see process_record_user() + ,SP_DEL // pseudo LT (_MOUSE, KC_DEL) for shifted key-codes, see process_record_user() + ,SL_PIPE // pseudo LT (_ADJUST, S(KC_BSLS)) for shifted key-codes, see process_record_user() + ,SL_TAB // pseudo LT (_FNCKEY, S(KC_TAB)) for shifted key-codes, see process_record_user() +#ifdef CENTER_TT + ,TT_ESC +#endif +#ifdef STENO_ENABLE + ,PS_STNA = STN_A + ,PS_STNO = STN_O + ,PS_STNE = STN_E + ,PS_STNU = STN_U +#else + ,LT_C = LT (_NUMBER, KC_C) + ,LT_V = LT (_FNCKEY, KC_V) + ,LT_N = LT (_EDIT, KC_N) + ,LT_M = LT (_SYMBOL, KC_M) +#endif + ,PS_BASE +}; + +// modifier keys +#define AT_B ALT_T(KC_B) +#define AT_DOWN ALT_T(KC_DOWN) +#define CT_RGHT CTL_T(KC_RGHT) +#define GT_C GUI_T(KC_C) +#define GT_UP GUI_T(KC_UP) +#define MT_E MT (MOD_LCTL | MOD_LALT, KC_E) +#define MT_X MT (MOD_LALT | MOD_LSFT, KC_X) +#define ST_A SFT_T(KC_A) +#ifdef HOME_MODS +#define HOME_K CTL_T(KC_K) +#define HOME_H GUI_T(KC_H) +#define HOME_E ALT_T(KC_E) +#define HOME_A SFT_T(KC_A) +#if defined(BEAKLMU) || defined(BEAKLSP) +#define HOME_T SFT_T(KC_T) +#define HOME_R ALT_T(KC_R) +#define HOME_S GUI_T(KC_S) +#define HOME_W CTL_T(KC_W) +#else +#define HOME_T SFT_T(KC_T) +#define HOME_S ALT_T(KC_S) +#define HOME_N GUI_T(KC_N) +#define HOME_B CTL_T(KC_B) +#endif +#else +#define HOME_K KC_K +#define HOME_H KC_H +#define HOME_E KC_E +#define HOME_A KC_A +#define HOME_T KC_T +#define HOME_S KC_S +#define HOME_N KC_N +#define HOME_B KC_B +#endif + +#define S_DOWN S (KC_DOWN) +#define S_LEFT S (KC_LEFT) +#define S_RGHT S (KC_RGHT) +#define S_TAB S (KC_TAB) +#define S_UP S (KC_UP) + +#include "tapdance.h" + +// keycodes +#define ___x___ KC_TRNS +#define ___fn__ KC_TRNS +#ifdef _______ +#undef _______ +#endif +#define _______ KC_NO + +#define COPY LCTL(KC_C) +#define CUT LCTL(KC_X) +#define EOT LCTL(KC_D) +#define NAK LCTL(KC_U) +#define PASTE LCTL(KC_V) +#define UNDO LCTL(KC_Z) +#define TMCOPY LALT(LCTL(KC_C)) +#define TMPASTE LALT(LCTL(KC_V)) +#define LT_BSLS LT (_MOUSE, KC_BSLS) // see process_record_user() for extended handling +#define LT_BSPC LT (_EDIT, KC_BSPC) +#define SP_LEFT LT (_EDIT, KC_LEFT) +#define LT_ESC LT (_NUMBER, KC_ESC) +#define LT_LEFT LT (_SYMBOL, KC_LEFT) // see process_record_user() for extended handling +#define SP_BSPC LT (_SYMBOL, KC_BSPC) // see process_record_user() for extended handling +#define LT_TAB LT (_FNCKEY, KC_TAB) +#define LT_INS LT (_FNCKEY, KC_INS) +#define LT_ALTG LT (_FNCKEY, KC_RALT) +#define ADJUST MO (_ADJUST) +#define OS_ALT OSM (MOD_LALT) +#define OS_CTL OSM (MOD_LCTL) +#define OS_GUI OSM (MOD_LGUI) +#define OS_SFT OSM (MOD_LSFT) +#define OS_CALT OSM (MOD_LALT | MOD_LCTL) +#define OS_CGUI OSM (MOD_LGUI | MOD_LCTL) +#define OS_CSFT OSM (MOD_LSFT | MOD_LCTL) +#define OS_SALT OSM (MOD_LALT | MOD_LSFT) +#define OS_SGUI OSM (MOD_LGUI | MOD_LSFT) + +#ifdef CENTER_TT +#ifdef BEAKLSP +#define CNTR_TL OSM (MOD_LSFT) +#else +#define CNTR_TL TT (_TTFNCKEY) +#endif +#define CNTR_TR KC_CAPS +#define CNTR_HL TT (_TTCURSOR) +#define CNTR_HR TT (_TTMOUSE) +#define CNTR_BL TT (_TTNUMBER) +#define CNTR_BR TT (_TTREGEX) +#else +#define CNTR_TL OSM (MOD_LALT | MOD_LCTL) +#define CNTR_TR OSM (MOD_LGUI | MOD_LCTL) +#define CNTR_HL OSM (MOD_LALT | MOD_LSFT) +#define CNTR_HR OSM (MOD_LGUI | MOD_LSFT) +#define CNTR_BL TD (_CAPS) +#define CNTR_BR OSM (MOD_LSFT | MOD_LCTL) +#endif + +#ifdef THUMB_0 +#define LT_EQL LT (_ADJUST, KC_EQL) +#else +#define LT_0 LT (_ADJUST, KC_0) +#endif +#ifndef SHIFT_SYMBOLS +#define LT_A LT (_NUMSYM, KC_A) +#define LT_LFTX LT (_SYMREG, KC_LEFT) +#endif + +// ........................................................ Default Alpha Layout + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +#include "beakl.h" +#include "colemak.h" +#include "qwerty.h" +#include "steno_layout.h" + +// ...................................................... Number / Function Keys + +#include "number_fkey_layout.h" + +// ......................................................... Symbol / Navigation + +#include "symbol_guifn_layout.h" + +// ............................................................... Toggle Layers + +#ifdef CENTER_TT +#include "toggle_layout.h" +#endif + +// ......................................................... Short Cuts / Adjust + +#include "chord_layout.h" + +}; + +// ...................................................................... Sounds + +#include "sounds.h" + +// ........................................................... User Keycode Trap + +#include "keycode_functions.h" + +#define BASE_1 1 +#define BASE_2 2 +#define BASE_12 3 +static uint8_t base_n = 0; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) +{ + switch (keycode) { + case BASE1: + if (record->event.pressed) { + base_n = base_n | BASE_1; + if (base_n == BASE_12) { + base_layer(); + } + } + else { + base_n = base_n & ~BASE_1; + } + return false; + case BASE2: + if (record->event.pressed) { + base_n = base_n | BASE_2; + if (base_n == BASE_12) { + base_layer(); + } + } + else { + base_n = base_n & ~BASE_2; + } + return false; + case AT_DOWN: +#ifdef HOME_MODS + case HOME_E: +#if defined(BEAKLMU) || defined(BEAKLSP) + case HOME_R: +#else + case HOME_S: +#endif +#endif + tap_mods(record, KC_LALT); + break; + case CT_RGHT: +#ifdef HOME_MODS + case HOME_K: +#if defined(BEAKLMU) || defined(BEAKLSP) + case HOME_W: +#else + case HOME_B: +#endif +#endif + tap_mods(record, KC_LCTL); + break; + case GT_UP: +#ifdef HOME_MODS + case HOME_H: +#if defined(BEAKLMU) || defined(BEAKLSP) + case HOME_S: +#else + case HOME_N: +#endif +#endif + tap_mods(record, KC_LGUI); + break; +#ifdef HOME_MODS + case HOME_A: + case HOME_T: + tap_mods(record, KC_LSFT); + break; +#endif +#ifdef CENTER_TT + case TT_ESC: + clear_tt(); // exit TT layer + return false; +#endif + case LT_ESC: +#ifdef CENTER_TT + if (tt_keycode != 0) { + clear_tt(); // exit TT layer + return false; + } +#endif + tap_layer(record, _NUMBER); + break; + case LT_LEFT: + case SP_BSPC: + tap_layer(record, _SYMBOL); + // LT (_SYMBOL, KC_LEFT) left right combination layer + thumb_layer(record, RIGHT, 0, 0, _SYMBOL, _LSHIFT); + break; + case OS_ALT: + tap_mods(record, KC_LALT); + break; + case OS_CTL: + tap_mods(record, KC_LCTL); + break; + case OS_GUI: + tap_mods(record, KC_LGUI); + break; + case SM_CIRC: + // GUI_T(S(KC_6)) + mt_shift(record, KC_LGUI, 0, KC_6); + break; + case SM_DLR: + // SFT_T(S(KC_4)) + mt_shift(record, KC_LSFT, 0, KC_4); + break; + case SM_G: + // MT(MOD_LALT | MOD_LSFT, S(KC_G)) + mt_shift(record, KC_LALT, KC_LSFT, KC_G); + break; + case SM_LPRN: + // CTL_T(S(KC_9)) + mt_shift(record, KC_LCTL, 0, KC_9); + break; + case SM_PERC: + // ALT_T(S(KC_5)) + mt_shift(record, KC_LALT, 0, KC_5); + break; + case LT_BSLS: + tap_layer(record, _MOUSE); + // LT (_MOUSE, KC_BSLS) left right combination layer, see #define LT_BSLS + thumb_layer(record, LEFT, 0, 0, _MOUSE, _SYMBOL); + break; + case SL_LEFT: + tap_layer(record, _MOUSE); + // LT (_MOUSE, S(KC_LEFT)) left right combination layer + thumb_layer(record, RIGHT, SHIFT, KC_LEFT, _MOUSE, _LSHIFT); + break; + case SP_DEL: + tap_layer(record, _MOUSE); + // LT (_MOUSE, S(KC_LEFT)) left right combination layer + thumb_layer(record, RIGHT, NOSHIFT, KC_DEL, _MOUSE, _LSHIFT); + break; + case SL_PIPE: + // LT (_ADJUST, S(KC_BSLS)) emulation + lt_shift(record, KC_BSLS, _ADJUST); + break; + case SL_TAB: + // LT (_FNCKEY, S(KC_TAB)) emulation + lt_shift(record, KC_TAB, _FNCKEY); + break; + case TD_ENT: + tap_layer(record, _RSHIFT); + // LT (_RSHIFT, KC_ENT) emulation, see tap dance enter + break; + case TD_SPC: + tap_layer(record, _LSHIFT); + // LT (_LSHIFT, KC_SPC) left right combination layer, see tap dance TD_SPC + thumb_layer(record, LEFT, 0, 0, _LSHIFT, _SYMBOL); + break; +#ifdef CENTER_TT + case CNTR_TL: + case CNTR_TR: + case CNTR_HL: + case CNTR_HR: + case CNTR_BL: + case CNTR_BR: + if (tt_keycode != keycode && tt_keycode != 0) { + clear_tt(); // return to base layer first if different TT layer selected + } + tt_keycode = keycode; + break; +#endif +// #ifdef STENO_ENABLE +// case PS_STNA: +// stn_layer(record, STN_A, _NUMBER); +// break; +// case PS_STNO: +// stn_layer(record, STN_O, _FNCKEY); +// break; +// case PS_STNE: +// stn_layer(record, STN_E, _EDIT); +// break; +// case PS_STNU: +// stn_layer(record, STN_U, _SYMBOL); +// break; +// #endif + case PS_BASE: + if (record->event.pressed) { + base_layer(); + } + return false; + case PLOVER: + steno(record); + return false; + case PLOEXIT: + steno_exit(record); + return false; + } + return true; +} + +#include "init.h" diff --git a/keyboards/planck/keymaps/sdothum/qwerty.h b/keyboards/planck/keymaps/sdothum/qwerty.h new file mode 100644 index 00000000000..d11d0478b3f --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/qwerty.h @@ -0,0 +1,64 @@ + +// const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// ...................................................................... Qwerty +#ifdef QWERTY + // ,-----------------------------------------------------------------------------------. + // | Q | W | E | R | T | ^Alt | ^GUI | Y | U | I | O | P | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | S | D | F | G | ↑Alt | ↑GUI | H | J | K | L | ; | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | X | C | V | B | Caps |^Shift| N | M | , | . | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_BASE] = { + {KC_Q, KC_W, KC_E, KC_R, KC_T, CNTR_TL, CNTR_TR, KC_Y, KC_U, KC_I, KC_O, KC_P }, + {KC_A, KC_S, KC_D, KC_F, KC_G, CNTR_HL, CNTR_HR, KC_H, KC_J, KC_K, KC_L, KC_SCLN}, + {KC_Z, KC_X, KC_C, KC_V, KC_B, CNTR_BL, CNTR_BR, KC_N, KC_M, KC_COMM, KC_DOT, TD_QUOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + [_SHIFT] = { + {S(KC_Q), S(KC_W), S(KC_E), S(KC_R), S(KC_T), CNTR_TL, CNTR_TR, S(KC_Y), S(KC_U), S(KC_I), S(KC_O), S(KC_P)}, + {S(KC_A), S(KC_S), S(KC_D), S(KC_F), S(KC_G), CNTR_HL, CNTR_HR, S(KC_H), S(KC_J), S(KC_K), S(KC_L), KC_SCLN}, + {S(KC_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), CNTR_BL, CNTR_BR, S(KC_N), S(KC_M), KC_COMM, KC_DOT, TD_QUOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, TD_SPC, LT_TAB, LT_BSPC, TD_ENT, LT_LEFT, AT_DOWN, GT_UP, CT_RGHT}, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | W | E | R | T | ^Alt | ^GUI | Y | U | I | O | P | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | S | D | F | G | ↑Alt | ↑GUI | H | J | K | L | : | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | X | C | V | B | Caps |^Shift| N | M | / | ? | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Esc | f() | Tab | Del | - | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_LSHIFT] = { + {S(KC_Q), S(KC_W), S(KC_E), S(KC_R), S(KC_T), CNTR_TL, CNTR_TR, S(KC_Y), S(KC_U), S(KC_I), S(KC_O), S(KC_P)}, + {S(KC_A), S(KC_S), S(KC_D), S(KC_F), S(KC_G), CNTR_HL, CNTR_HR, S(KC_H), S(KC_J), S(KC_K), S(KC_L), TD_COLN}, + {S(KC_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), CNTR_BL, CNTR_BR, S(KC_N), S(KC_M), KC_SLSH, KC_QUES, TD_DQOT}, + {OS_CTL, OS_GUI, OS_ALT, LT_ESC, ___fn__, LT_TAB, KC_DEL, KC_MINS, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, + + // ,-----------------------------------------------------------------------------------. + // | Q | W | E | R | T | ^Alt | ^GUI | Y | U | I | O | P | + // |------+------+------+------+------+-------------+------+------+------+------+------| + // | A | S | D | F | G | ↑Alt | ↑GUI | H | J | K | L | : | + // |------+------+------+------+------+------|------+------+------+------+------+------| + // | Z | X | C | V | B | Caps |^Shift| N | M | ~ | ` | " | + // |------+------+------+------+------+------+------+------+------+------+------+------| + // | Ctrl | GUI | Alt | Caps | _ | ↑Tab | Bksp | f() | Left | Down | Up | Right| + // `-----------------------------------------------------------------------------------' + + [_RSHIFT] = { + {S(KC_Q), S(KC_W), S(KC_E), S(KC_R), S(KC_T), CNTR_TL, CNTR_TR, S(KC_Y), S(KC_U), S(KC_I), S(KC_O), S(KC_P)}, + {S(KC_A), S(KC_S), S(KC_D), S(KC_F), S(KC_G), CNTR_HL, CNTR_HR, S(KC_H), S(KC_J), S(KC_K), S(KC_L), TD_COLN}, + {S(KC_Z), S(KC_X), S(KC_C), S(KC_V), S(KC_B), CNTR_BL, CNTR_BR, S(KC_N), S(KC_M), TD_TILD, TD_GRV, TD_DQOT}, + {OS_CTL, OS_GUI, OS_ALT, KC_CAPS, KC_UNDS, SL_TAB, LT_BSPC, ___fn__, SL_LEFT, S_DOWN, S_UP, S_RGHT }, + }, +#endif + diff --git a/keyboards/planck/keymaps/sdothum/readme.md b/keyboards/planck/keymaps/sdothum/readme.md new file mode 100644 index 00000000000..58f73e3b445 --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/readme.md @@ -0,0 +1,10 @@ +# The sdothum extended Default Planck Layout + +- Colemak-DH layout layer with shift/tab key overlays +- Number and symbol/function key layer +- Hexadecimal keypad layer +- Navigation keypad layer +- Dynamic macro layer +- Autocompletion tap key pairs (),[],{} +- Normalized enter and esc key position across keyboard layers +- Extensive use of tap keys diff --git a/keyboards/planck/keymaps/sdothum/rules.mk b/keyboards/planck/keymaps/sdothum/rules.mk new file mode 100644 index 00000000000..40f153844c1 --- /dev/null +++ b/keyboards/planck/keymaps/sdothum/rules.mk @@ -0,0 +1,26 @@ +# 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 = no # 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 +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. +STENO_ENABLE = yes # enable TX Bolt protocol, requires VIRTSER and may not work with mouse keys + +# do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # breathing sleep LED during USB suspend + +TAP_DANCE_ENABLE = yes # enable double tap completion of (),[],{} + +ifndef QUANTUM_DIR +include ../../../../Makefile +endif diff --git a/keyboards/s60_x/default/default.h b/keyboards/s60_x/default/default.h index 027bf39f04e..f0797835e27 100644 --- a/keyboards/s60_x/default/default.h +++ b/keyboards/s60_x/default/default.h @@ -39,13 +39,13 @@ along with this program. If not, see . 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, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, 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 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E }, \ { K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, KC_NO } \ } diff --git a/keyboards/s60_x/default/info.json b/keyboards/s60_x/default/info.json new file mode 100644 index 00000000000..d4473a515f6 --- /dev/null +++ b/keyboards/s60_x/default/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "S60-X", + "url": "", + "maintainer": "qmk", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}] + } + } +} diff --git a/keyboards/s60_x/keymaps/amnesia0287/keymap.c b/keyboards/s60_x/keymaps/amnesia0287/keymap.c index 8cbbb7bf94b..c17c9e74492 100644 --- a/keyboards/s60_x/keymaps/amnesia0287/keymap.c +++ b/keyboards/s60_x/keymaps/amnesia0287/keymap.c @@ -1,4 +1,4 @@ -#include "s60_x.h" +#include QMK_KEYBOARD_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. @@ -21,28 +21,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NO, KC_BSPC, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ 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_NO, KC_ENT , \ - KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, FN_HLb, \ + KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, FN_HLb, \ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NO, KC_RALT, FN_HLa, KC_RCTL ), [_HLa] = LAYOUT( 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_TRNS, KC_DEL, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [_HLb] = LAYOUT( 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_TRNS, KC_DEL, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), [_HL] = LAYOUT( RGB_TOG, RGB_M_P, RGB_RMOD, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, BL_BRTG, BL_OFF, BL_STEP, BL_ON, BL_DEC, BL_INC, KC_TRNS, LALT(KC_F4), RESET, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), }; diff --git a/keyboards/s60_x/keymaps/ansi_qwertz/keymap.c b/keyboards/s60_x/keymaps/ansi_qwertz/keymap.c index c8ad8ae3344..e4660e66887 100644 --- a/keyboards/s60_x/keymaps/ansi_qwertz/keymap.c +++ b/keyboards/s60_x/keymaps/ansi_qwertz/keymap.c @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "s60_x.h" +#include QMK_KEYBOARD_H //make keymap a little easier to read #define _______ KC_TRNS @@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_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_LSFT, KC_NUBS, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, \ KC_FUNC, KC_LGUI, KC_LALT, KC_SPACEFN, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), @@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GMLK, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GMLK, \ _______, KC_RSFT, _______, KC_SPC, _______, _______, _______, _______ ), @@ -147,7 +147,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_CM_Y, _______, KC_CM_C, MICMUTE, KC_CALC, KC_CM_N, KC_CM_M, _______, _______, _______, KC_PGUP, KC_GMLK, \ _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END ), }; diff --git a/keyboards/s60_x/keymaps/bluebear/keymap.c b/keyboards/s60_x/keymaps/bluebear/keymap.c index ebb5382c9a4..2ba29b09eee 100644 --- a/keyboards/s60_x/keymaps/bluebear/keymap.c +++ b/keyboards/s60_x/keymaps/bluebear/keymap.c @@ -1,4 +1,4 @@ -#include "s60_x.h" +#include QMK_KEYBOARD_H // Keyboard Layers @@ -176,7 +176,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, \ 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_EQL, KC_BSPC, \ CTL_T(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_NO, MT(MOD_RCTL, KC_ENT), \ - KC_LSPO, KC_NO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_NO, KC_RSPC, KC_NO, \ + KC_LSPO, KC_NO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSPC, KC_NO, \ MO(2), KC_LGUI, KC_LALT, LT(1, KC_SPACE), ALGR_T(KC_APP), KC_RGUI, OSM(MOD_LCTL | MOD_LSFT), OSM(MOD_LCTL | MOD_LALT) ), @@ -198,7 +198,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [ARROWFN] = LAYOUT( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TO(3), TO(5), \ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_UP, KC_NO, KC_NO, KC_NO, KC_INS, KC_DEL, \ - KC_CAPS, KC_HOME, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, KC_NO, KC_NO, KC_TRNS, \ + KC_CAPS, KC_HOME, KC_NO, KC_END, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, KC_NO, KC_TRNS, \ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_SPACE, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_NO, KC_TRNS, KC_NO, \ KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), @@ -223,7 +223,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RESET, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_NO, KC_NO, \ DEBUG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_MS_UP, KC_BTN2, KC_WH_U, KC_NO, KC_NO, KC_NO, \ TFS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_WH_D, KC_BTN3, KC_NO, KC_TRNS, \ - MAGSYS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, \ + MAGSYS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_POWER, KC_TRNS, KC_TRNS, KC_NO, KC_NO ), @@ -246,7 +246,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TO(0), MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Gb, MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, KC_NO, TO(4), \ MI_OCTU, KC_NO, MI_Cs, MI_Ds, KC_NO, MI_Fs, MI_Gs, MI_As, KC_NO, MI_Cs_1, MI_Ds_1, KC_NO, KC_NO, KC_NO, \ MI_OCTD, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C_1, MI_D_1, MI_E_1, MI_F_1, KC_NO, KC_NO, \ - MI_CH_Cm, KC_NO, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Gbm, MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, KC_NO, MI_CH_Fm, KC_NO, \ + MI_CH_Cm, KC_NO, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Gbm, MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, KC_NO, \ KC_NO, KC_NO, KC_NO, MI_ALLOFF, KC_NO, KC_NO, KC_NO, KC_NO ), @@ -269,7 +269,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TO(0), MI_CH_C, MI_CH_G, MI_CH_D, MI_CH_A, MI_CH_E, MI_CH_B, MI_CH_Gb, MI_CH_Db, MI_CH_Ab, MI_CH_Eb, MI_CH_Bb, MI_CH_F, TO(3), KC_NO, \ MI_OCTU, MI_CH_Cm, MI_CH_Gm, MI_CH_Dm, MI_CH_Am, MI_CH_Em, MI_CH_Bm, MI_CH_Gbm, MI_CH_Dbm, MI_CH_Abm, MI_CH_Ebm, MI_CH_Bbm, MI_CH_Fm, KC_NO, \ MI_OCTD, MI_CH_CDom7, MI_CH_GDom7, MI_CH_DDom7, MI_CH_ADom7, MI_CH_EDom7, MI_CH_BDom7, MI_CH_GbDom7, MI_CH_DbDom7, MI_CH_AbDom7, MI_CH_EbDom7, MI_CH_BbDom7, KC_NO, MI_CH_FDom7, \ - MI_CH_CDim7, KC_NO, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_GbDim7, MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, KC_NO, MI_CH_FDim7, KC_NO, \ + MI_CH_CDim7, KC_NO, MI_CH_GDim7, MI_CH_DDim7, MI_CH_ADim7, MI_CH_EDim7, MI_CH_BDim7, MI_CH_GbDim7, MI_CH_DbDim7, MI_CH_AbDim7, MI_CH_EbDim7, MI_CH_BbDim7, MI_CH_FDim7, KC_NO, \ KC_NO, KC_NO, KC_NO, MI_ALLOFF, KC_NO, KC_NO, KC_NO, KC_NO ), @@ -292,7 +292,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { TO(0), MC_1, MC_2, MC_3, MC_4, MC_5, MC_6, MC_7, MC_8, MC_9, MC_0, KC_NO, KC_NO, KC_NO, KC_NO, \ KC_TAB, MC_APOS, MC_COMM, MC_DOT, MC_P, MC_Y, MC_F, MC_G, MC_C, MC_R, MC_L, MC_SLSH, MC_EQL, KC_BSPC, \ KC_NO, MC_A, MC_O, MC_E, MC_U, MC_I, MC_D, MC_H, MC_T, MC_N, MC_S, MC_MINS, KC_NO, KC_ENT, \ - MC_LSFT, KC_NO, MC_SCLN, MC_Q, MC_J, MC_K, MC_X, MC_B, MC_M, MC_W, MC_V, MC_Z, KC_NO, MC_RSFT, KC_NO, \ + MC_LSFT, KC_NO, MC_SCLN, MC_Q, MC_J, MC_K, MC_X, MC_B, MC_M, MC_W, MC_V, MC_Z, MC_RSFT, KC_NO, \ KC_NO, KC_NO, KC_NO, MC_SPACE, KC_NO, KC_NO, KC_NO, KC_NO ), diff --git a/keyboards/s60_x/keymaps/custom/keymap.c b/keyboards/s60_x/keymaps/custom/keymap.c index bb32837cf8b..1130a04f24e 100644 --- a/keyboards/s60_x/keymaps/custom/keymap.c +++ b/keyboards/s60_x/keymaps/custom/keymap.c @@ -1,4 +1,4 @@ -#include "s60_x.h" +#include QMK_KEYBOARD_H /* Main layer: Test layout, using all keys. diff --git a/keyboards/s60_x/keymaps/dbroqua/keymap.c b/keyboards/s60_x/keymaps/dbroqua/keymap.c index 6f9d33aae92..71cf93f0048 100644 --- a/keyboards/s60_x/keymaps/dbroqua/keymap.c +++ b/keyboards/s60_x/keymaps/dbroqua/keymap.c @@ -1,4 +1,4 @@ -#include "s60_x.h" +#include QMK_KEYBOARD_H #define _DEFAULT 0 #define _FN 1 @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \ KC_LCTL, 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_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, ______, ______ \ ), @@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_MPRV, KC_MPLY, KC_MNXT,______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, ______, ______, \ ______, ______, ______, ______, KC_MSTP, ______, ______, ______ \ ), @@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ ______, BL_TOGG,BL_STEP,BL_DEC, BL_INC, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ ______, F(0), F(1), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \ - ______, ______, F(2), F(3), F(4), F(5), F(6), F(7), ______, ______, ______, ______, ______, ______, ______, \ + ______, ______, F(2), F(3), F(4), F(5), F(6), F(7), ______, ______, ______, ______, ______, ______, \ ______, ______, ______, ______, ______, ______, ______, ______ \ ) }; diff --git a/keyboards/s60_x/keymaps/default/keymap.c b/keyboards/s60_x/keymaps/default/keymap.c index 47ea2a4c183..8fbe0044e9b 100644 --- a/keyboards/s60_x/keymaps/default/keymap.c +++ b/keyboards/s60_x/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -#include "s60_x.h" +#include QMK_KEYBOARD_H /* 0: Main layer ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ diff --git a/keyboards/s60_x/keymaps/default_rgb/keymap.c b/keyboards/s60_x/keymaps/default_rgb/keymap.c index 7eefd7d7cd7..288104282e0 100644 --- a/keyboards/s60_x/keymaps/default_rgb/keymap.c +++ b/keyboards/s60_x/keymaps/default_rgb/keymap.c @@ -1,4 +1,4 @@ -#include "s60_x.h" +#include QMK_KEYBOARD_H /* 0: Main layer ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT(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_NO, KC_BSPC, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \ 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_NO, KC_ENT , \ - KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_NO, \ + KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO, \ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_FN0, KC_APP, KC_RCTL), /* 1: Fn layer @@ -41,7 +41,7 @@ BL = Backlighting = In-Switch LED 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_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, \ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; diff --git a/keyboards/s60_x/keymaps/hasu/keymap.c b/keyboards/s60_x/keymaps/hasu/keymap.c index 6afdf5fd4ae..624de48cca3 100644 --- a/keyboards/s60_x/keymaps/hasu/keymap.c +++ b/keyboards/s60_x/keymaps/hasu/keymap.c @@ -1,4 +1,4 @@ -#include "s60_x.h" +#include QMK_KEYBOARD_H /* * Hasu diff --git a/keyboards/s60_x/keymaps/hhkb/keymap.c b/keyboards/s60_x/keymaps/hhkb/keymap.c index 4807324d151..60225db068a 100644 --- a/keyboards/s60_x/keymaps/hhkb/keymap.c +++ b/keyboards/s60_x/keymaps/hhkb/keymap.c @@ -1,4 +1,4 @@ -#include "s60_x.h" +#include QMK_KEYBOARD_H /* * HHKB Layout diff --git a/keyboards/s60_x/keymaps/iso/keymap.c b/keyboards/s60_x/keymaps/iso/keymap.c index 5b34ded70ef..46e5a450d54 100644 --- a/keyboards/s60_x/keymaps/iso/keymap.c +++ b/keyboards/s60_x/keymaps/iso/keymap.c @@ -1,4 +1,4 @@ -#include "s60_x.h" +#include QMK_KEYBOARD_H /* 0: Main layer ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ diff --git a/keyboards/s60_x/keymaps/iso_rgb/keymap.c b/keyboards/s60_x/keymaps/iso_rgb/keymap.c index 00b197c9e7e..d76055a82e7 100644 --- a/keyboards/s60_x/keymaps/iso_rgb/keymap.c +++ b/keyboards/s60_x/keymaps/iso_rgb/keymap.c @@ -1,4 +1,4 @@ -#include "s60_x.h" +#include QMK_KEYBOARD_H /* 0: Main layer ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LAYOUT(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_NO, KC_BSPC, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NO, \ 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_NO, KC_RSFT, KC_NO, \ + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO, \ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_FN0, KC_APP, KC_RCTL), /* 1: Fn layer @@ -41,7 +41,7 @@ BL = Backlighting = In-Switch LED 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_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, \ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ - KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, KC_TRNS, KC_TRNS, \ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), }; diff --git a/keyboards/s60_x/keymaps/jpec/keymap.c b/keyboards/s60_x/keymaps/jpec/keymap.c index 85ad20e4e12..2bee19d1581 100644 --- a/keyboards/s60_x/keymaps/jpec/keymap.c +++ b/keyboards/s60_x/keymaps/jpec/keymap.c @@ -14,7 +14,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include "s60_x.h" +#include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Layout 0: Default Layer diff --git a/keyboards/s60_x/keymaps/plain/keymap.c b/keyboards/s60_x/keymaps/plain/keymap.c index f5d075f2434..7ca1fe60f29 100644 --- a/keyboards/s60_x/keymaps/plain/keymap.c +++ b/keyboards/s60_x/keymaps/plain/keymap.c @@ -1,4 +1,4 @@ -#include "s60_x.h" +#include QMK_KEYBOARD_H /* Main layer: ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ diff --git a/keyboards/s60_x/keymaps/poker/keymap.c b/keyboards/s60_x/keymaps/poker/keymap.c index 4c13f269bda..3044d621b9a 100644 --- a/keyboards/s60_x/keymaps/poker/keymap.c +++ b/keyboards/s60_x/keymaps/poker/keymap.c @@ -1,4 +1,4 @@ -#include "s60_x.h" +#include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 0: qwerty diff --git a/keyboards/s60_x/keymaps/poker_bit/keymap.c b/keyboards/s60_x/keymaps/poker_bit/keymap.c index de3f597bae5..9aa4831cce5 100644 --- a/keyboards/s60_x/keymaps/poker_bit/keymap.c +++ b/keyboards/s60_x/keymaps/poker_bit/keymap.c @@ -1,4 +1,4 @@ -#include "s60_x.h" +#include QMK_KEYBOARD_H // Poker fix with toggle and bit operation // Fn + Esc = ` diff --git a/keyboards/s60_x/keymaps/poker_set/keymap.c b/keyboards/s60_x/keymaps/poker_set/keymap.c index e6c0f90b4e5..dbd361511fc 100644 --- a/keyboards/s60_x/keymaps/poker_set/keymap.c +++ b/keyboards/s60_x/keymaps/poker_set/keymap.c @@ -1,4 +1,4 @@ -#include "s60_x.h" +#include QMK_KEYBOARD_H // Poker fix with set(state transition) // Fn + Esc = ` diff --git a/keyboards/s60_x/keymaps/spacefn/keymap.c b/keyboards/s60_x/keymaps/spacefn/keymap.c index 3d65bf1faad..4031417d9e3 100644 --- a/keyboards/s60_x/keymaps/spacefn/keymap.c +++ b/keyboards/s60_x/keymaps/spacefn/keymap.c @@ -1,4 +1,4 @@ -#include "s60_x.h" +#include QMK_KEYBOARD_H /* * SpaceFN diff --git a/keyboards/s60_x/rgb/info.json b/keyboards/s60_x/rgb/info.json new file mode 100644 index 00000000000..b9f268cbf6a --- /dev/null +++ b/keyboards/s60_x/rgb/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "S60-X RGB", + "url": "", + "maintainer": "qmk", + "width": 15, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}] + } + } +} diff --git a/keyboards/s60_x/rgb/rgb.h b/keyboards/s60_x/rgb/rgb.h index f3318d91ed0..bded16ff640 100644 --- a/keyboards/s60_x/rgb/rgb.h +++ b/keyboards/s60_x/rgb/rgb.h @@ -7,13 +7,13 @@ 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, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, 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 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \ { K400, K401, K402, KC_NO, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, K412, K413, KC_NO } \ } diff --git a/keyboards/satan/keymaps/fakb/config.h b/keyboards/satan/keymaps/fakb/config.h new file mode 100644 index 00000000000..a8df7ecef93 --- /dev/null +++ b/keyboards/satan/keymaps/fakb/config.h @@ -0,0 +1,92 @@ +#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 0x0003 +#define MANUFACTURER SATAN +#define PRODUCT GH60 +#define DESCRIPTION QMK keyboard firmware for Satan GH60 with WS2812 support + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +// ROWS: Top to bottom, COLS: Left to right + +#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 } +#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3 } +#define UNUSED_PINS + +#define BACKLIGHT_PIN B6 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* 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)) \ +) +*/ +/* Backlight configuration + */ +#define BACKLIGHT_LEVELS 8 + +/* Underlight configuration + */ + +#define RGB_DI_PIN E2 +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 8 // Number of LEDs +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 + +/* + * 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 + +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#define MOUSEKEY_DELAY 0 +#define MOUSEKEY_INTERVAL 1 +#define MOUSEKEY_MAX_SPEED 4 +#define MOUSEKEY_TIME_TO_MAX 77 +#define MOUSEKEY_WHEEL_MAX_SPEED 1 +#define MOUSEKEY_WHEEL_TIME_TO_MAX 255 + +// only change +#undef RGB_DI_PIN +#define RGB_DI_PIN B2 + +#endif diff --git a/keyboards/satan/keymaps/fakb/keymap.c b/keyboards/satan/keymaps/fakb/keymap.c new file mode 100644 index 00000000000..f6a9461957d --- /dev/null +++ b/keyboards/satan/keymaps/fakb/keymap.c @@ -0,0 +1,35 @@ +#include "satan.h" + +#define _______ KC_TRNS +#define XXXXXXX KC_NO +#define LCTL_MA LCTL_T(KC_UP) +#define LSFT_MA LSFT_T(KC_DOWN) +#define RSFT_MA SFT_T(KC_DOWN) +#define TABS_MA LT(1,KC_TAB) +#define SPCE_MA LT(2,KC_SPC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0] = KEYMAP( + KC_GESC,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_NUBS,\ + TABS_MA,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,\ + LCTL_MA,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT,XXXXXXX,KC_ENT ,\ + LSFT_MA,KC_NUBS,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,RSFT_MA,MO(1) ,\ + XXXXXXX,KC_LALT,KC_LGUI, SPCE_MA, KC_RGUI,KC_RALT,XXXXXXX,XXXXXXX), + +[1] = KEYMAP( + 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_INS ,_______,\ + _______,_______,_______,KC_PGUP,KC_PGDN,KC_HOME,KC_END ,KC_PGDN,KC_PGUP,_______,_______,_______,_______,KC_DEL ,\ + KC_CAPS,KC_NUBS,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LEFT,KC_DOWN,KC_UP ,KC_RGHT,_______,_______,_______,_______,\ + _______,_______,BL_TOGG,BL_INC ,BL_DEC ,_______,_______,KC_VOLD,KC_VOLU,KC_MUTE,_______,_______,_______,_______,\ + _______,_______,_______, _______, _______,_______,_______,_______), + +[2] = KEYMAP( + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,RESET ,\ + KC_BTN5,KC_BTN4,KC_BTN3,KC_BTN2,KC_BTN1,KC_HOME,KC_END ,_______,_______,_______,_______,_______,_______,_______,\ + _______,_______,KC_WH_L,KC_WH_U,KC_WH_D,KC_WH_R,KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R,_______,_______,_______,_______,\ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,\ + _______,_______,_______, _______, _______,_______,_______,_______), + + +}; diff --git a/keyboards/satan/keymaps/fakb/readme.md b/keyboards/satan/keymaps/fakb/readme.md new file mode 100644 index 00000000000..b02b41816c7 --- /dev/null +++ b/keyboards/satan/keymaps/fakb/readme.md @@ -0,0 +1,58 @@ +# FabulousAnomalyKeyBoard + +This layout features an efficient layout for people without +a mouse. + +## layers + +Layer Base: complete basic keyboard +Layer Fn-Tab: F1-F12, Arrow Keys, Home, End, Backlight, Media +Layer Fn-Space: mouse keys in a vim like manner + +For detailed info check out keymap.c + +## the CTRL key + +It is where you would suspect CAPSLOCK to be. +WHO NEEDS CAPSLOCK ANYWAYS? +For those rare cases you need to shout at somebody in a comment +section you can still do a capslock by using TABCTRL + +## the SUPER key + +There are two super keys. They are next to the space bar. +The intention is easing the use of tiling window mangers + +## emergency mouse + +Without a mouse you will find yourself in a situation where all +your tiling goodness will just not be able to click onto that +"close ads" button. +This keymap integrates a basic mouse pointer directly into the keyboard. +Mouse is accessible via holding SPACE and tapping keys: +``` +SPACE +h Move cursor left +j Move cursor down +k Move cursor up +l Move cursor right + +w Middle Mouse Click +r Right click +e Left click + +s Scroll wheel left +d Scroll wheel down +f Scroll wheel up +g Scroll wheel right +``` + +## shell focused + +Working in a shell the up and down arrow keys are often needed to +look at old commands or reuse some. +When held, the left ctrl and left shift will act as expected, +but when tapped they will become UP and DOWN arrow-keys. + +## krautfriend +The keys <|> are accessible even without a 102nd key diff --git a/keyboards/satan/keymaps/fakb/rules.mk b/keyboards/satan/keymaps/fakb/rules.mk new file mode 100644 index 00000000000..c2b5df6cdd9 --- /dev/null +++ b/keyboards/satan/keymaps/fakb/rules.mk @@ -0,0 +1,16 @@ +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 # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality (+4870) +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality (+1150) +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif diff --git a/keyboards/tanuki/config.h b/keyboards/tanuki/config.h new file mode 100644 index 00000000000..1e42f13d4ff --- /dev/null +++ b/keyboards/tanuki/config.h @@ -0,0 +1,82 @@ +/* +Copyright 2015 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 0x6464 +#define DEVICE_VER 0x0001 +#define MANUFACTURER Seth +#define PRODUCT Tanuki PCB version +#define DESCRIPTION Handwired 40% keyboard + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 11 + +#define MATRIX_COL_PINS { B3 , B2 , B6 , B5 , B4 , E6 , D7 , C6 , F4 , F5 , F6 } +#define MATRIX_ROW_PINS { F7 , B1 , D4 , D0 } +#define UNUSED_PINS + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 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)) \ +) + +#define RGB_DI_PIN D1 +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 5 +#define RGBLIGHT_HUE_STEP 10 +#define RGBLIGHT_SAT_STEP 17 +#define RGBLIGHT_VAL_STEP 17 + + +#define TAPPING_TERM 200 +/* + * 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/tanuki/keymaps/default/keymap.c b/keyboards/tanuki/keymaps/default/keymap.c new file mode 100644 index 00000000000..607b197f50a --- /dev/null +++ b/keyboards/tanuki/keymaps/default/keymap.c @@ -0,0 +1,141 @@ +#include QMK_KEYBOARD_H +#include "rgblight.h" + +//Layer definitions +#define _BL 0 +#define _DL 1 +#define _UL 2 +#define _GL 3 +#define _BK 4 + + +//other variables +int mCalled = 0; +bool blockToggle = false; +bool lRGB = true; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_BL] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \ + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, TG(_GL), \ + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_QUOT, KC_SLSH, KC_ENT, \ + KC_TAB, KC_ESC, KC_LCTL, KC_LALT, KC_COMMA, LT(_DL,KC_SPC), LT(_UL,KC_SPC), KC_DOT, KC_LGUI), + +[_DL] = LAYOUT( + KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,\ + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,\ + KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_F1, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + +[_UL] = LAYOUT( + KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, KC_PIPE, KC_BSLS, KC_PLUS, KC_UNDS, KC_MINS, KC_EQL, KC_DEL,\ + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, \ + KC_TRNS, KC_FN0, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_GRV, KC_TRNS, RGB_MOD, RGB_HUI, KC_TRNS, KC_TRNS, RGB_SAI, RGB_VAI), + +[_GL] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + +[_BK] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_FN1, KC_NO, KC_NO), + +}; + + +//KC_MPLY, KC_VOLU, KC_VOLD, KC_TRNS, KC_TRNS, KC_MNXT, KC_MPRV +//function to toggle the interactive rgb variable +bool toggleLayerRGB(void){ + if(lRGB == true){ + return false; + } + else{ + return true; + } +} + +void matrix_init_user(void){ + rgblight_enable(); + rgblight_mode(1); + rgblight_sethsv(0,10,255); +} + +//check for layer and if there was a keypress change underglow lighting +void matrix_scan_kb(void){ + if(lRGB == true) + { + + + + //base layer + if(layer_state == 0x00000000 && mCalled == 1 ){ + rgblight_sethsv(0,10,255); + mCalled = 0; + } + + //down layer + else if(layer_state == 0x00000002 && mCalled == 1){ + rgblight_sethsv(160,255,255); + mCalled = 0; + } + + + //up layer with rgb access blocked + else if(layer_state == 0x00000004 && mCalled == 1 && lRGB == true){ + //blockToggle = true; + layer_state = 0x00000014; + rgblight_sethsv(180,255,255); + mCalled = 0; + } + + //arrow cluster layer + else if(layer_state == 0x00000008 && mCalled == 1){ + rgblight_sethsv(0,180,255); + mCalled = 0; + } + + //if on blocked layer and the spacebar has been released reset to baselayer and set colours to white + else if(layer_state == 0x00000014 && blockToggle == true ) + { + blockToggle = false; + layer_state = 0x00000000; + rgblight_sethsv(0,10,255); + } + + } +} + +//set mCalled to 1 when a button is pressed to make sure the leds aren't continuesly updated. +bool process_record_user (uint16_t keycode, keyrecord_t *record) { + mCalled = 1; + + //uncommenting the line below causes the lights to flicker when typing on the keyboard. + //rgblight_sethsv(0,255,0); + + if(keycode == KC_FN0 && record->event.pressed){ + //set the toggle and make sure to set the colour back to white + lRGB = toggleLayerRGB(); + rgblight_enable(); + rgblight_mode(1); + rgblight_sethsv(0,255,255); + layer_state =0x00000000; + + return false; + } + + //check if spacebar is released when on a different layer + if(keycode == KC_FN1){ + if(record ->event.pressed){ + }else{ + blockToggle = true; + } + } + + return true; +} diff --git a/keyboards/tanuki/readme.md b/keyboards/tanuki/readme.md new file mode 100644 index 00000000000..331df5b2eac --- /dev/null +++ b/keyboards/tanuki/readme.md @@ -0,0 +1,15 @@ +# Tanuki + +![Tanuki](https://github.com/SethSenpai/Tanuki/blob/master/Img/glamour1.jpg?raw=true) + +The QMK firmware for the Tanuki 40% keyboard. The other files needed for construction can be found in the [Tanuki repo](https://github.com/SethSenpai/Tanuki). + +Keyboard Maintainer: [SethSenpai](https://github.com/SethSenpai) +Hardware Supported: Tanuki pcb, pro micro +Hardware Availability: [Tanuki repo](https://github.com/SethSenpai/Tanuki) + +Make example for this keyboard (after setting up your build environment): + + make tanuki:default + +See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. diff --git a/keyboards/tanuki/rules.mk b/keyboards/tanuki/rules.mk new file mode 100644 index 00000000000..cc3734152fb --- /dev/null +++ b/keyboards/tanuki/rules.mk @@ -0,0 +1,70 @@ + + +# 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* +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +BOOTLOADER=caterina + +# Build Options +# comment out to disable the options. +# +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 = 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 +RGBLIGHT_ENABLE =yes # Enable keyboard underlight functionality (+4870) +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality (+1150) +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +TAP_DANCE_ENABLE = no + +ifndef QUANTUM_DIR + include ../../Makefile +endif diff --git a/keyboards/tanuki/tanuki.c b/keyboards/tanuki/tanuki.c new file mode 100644 index 00000000000..573e2006111 --- /dev/null +++ b/keyboards/tanuki/tanuki.c @@ -0,0 +1,10 @@ +#include "tanuki.h" +#include "rgblight.h" +#include "config.h" +#include "rgblight.h" + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + +}; diff --git a/keyboards/tanuki/tanuki.h b/keyboards/tanuki/tanuki.h new file mode 100644 index 00000000000..6b686adafa8 --- /dev/null +++ b/keyboards/tanuki/tanuki.h @@ -0,0 +1,22 @@ +#include "quantum.h" + + +// readability +#define XXX KC_NO + +// The first section contains all of the arguments +// The second converts the arguments into a two-dimensional array +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, \ + k30, k31, k32, k33, k34, k35, k36, k38, k39 \ +) \ +{ \ + {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a}, \ + {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a}, \ + {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a}, \ + {k30, k31, k32, k33, k34, k35, k36, XXX, k38, k39, XXX} \ +} + + diff --git a/keyboards/ut47/keymaps/default/keymap.c b/keyboards/ut47/keymaps/default/keymap.c index 3f065b615f7..6b6bb025b19 100644 --- a/keyboards/ut47/keymaps/default/keymap.c +++ b/keyboards/ut47/keymaps/default/keymap.c @@ -69,9 +69,9 @@ LAYOUT( /* Right */ /* FN Layer 2 * ,-------------------------------------------------------------------------. - * | FN6 | FN7 | FN8 | FN9 | FN9 | FN10| FN11| FN12| FN13| FN14| FN15| Delete| + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) |Delete| * |-------------------------------------------------------------------------+ - * | | | | | | | | FN17| FN18| FN19| FN20| FN21| + * | | | | | | | | _ | + | { | } | | | * |-------------------------------------------------------------------------+ * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | | * |-------------------------------------------------------------------------+ @@ -80,8 +80,8 @@ LAYOUT( /* Right */ */ LAYOUT( /* Left */ - KC_FN6, KC_FN7, KC_FN8, KC_FN9, KC_FN10, KC_FN11, KC_FN12, KC_FN13, KC_FN14, KC_FN15, KC_FN16, KC_DELETE, - _______, _______, _______, _______, _______, _______, _______, KC_FN17, KC_FN18, KC_FN19, KC_FN20, KC_FN21, + KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_DELETE, + _______, _______, _______, _______, _______, _______, _______, KC_UNDERSCORE, KC_PLUS, KC_LEFT_CURLY_BRACE, KC_RIGHT_CURLY_BRACE, KC_PIPE, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, KC_CAPS, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END ), diff --git a/keyboards/ut47/keymaps/non-us/config.h b/keyboards/ut47/keymaps/non-us/config.h new file mode 100644 index 00000000000..46098a22fb2 --- /dev/null +++ b/keyboards/ut47/keymaps/non-us/config.h @@ -0,0 +1,24 @@ +/* Copyright 2018 Carlos Filoteo + * + * 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_USER_H +#define CONFIG_USER_H + +#include "config_common.h" + +// place overrides here + +#endif diff --git a/keyboards/ut47/keymaps/non-us/keymap.c b/keyboards/ut47/keymaps/non-us/keymap.c new file mode 100644 index 00000000000..1cb537b7d00 --- /dev/null +++ b/keyboards/ut47/keymaps/non-us/keymap.c @@ -0,0 +1,136 @@ +/* Copyright 2018 Carlos Filoteo + * + * 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 QMK_KEYBOARD_H +#ifdef LED_ENABLE + #include "protocol/serial.h" +#endif + +#define _______ KC_TRNS +#define LT3_TAB LT(3, KC_TAB) +#define MT_RSFT_ENT MT(MOD_RSFT, KC_ENT) + +enum custom_keycodes { + LED_TOG = SAFE_RANGE, + LED_CHG +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* Base Layer + * ,-------------------------------------------------------------------------. + * | Esc | Q | W | E | R | T | Y | U | I | O | P |Bspace | + * |-------------------------------------------------------------------------+ + * |Tab/L3| A | S | D | F | G | H | J | K | L | ; | ' | + * |-------------------------------------------------------------------------+ + * | Shift | Z | X | C | V | B | N | M | , | . | / |Sh/En| + * |-------------------------------------------------------------------------+ + * | Ctrl| Alt | Gui | App | L2 | Space | L1 | Left| Down| Up |Right| + * `-------------------------------------------------------------------------' + */ + +LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + LT3_TAB, 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, MT_RSFT_ENT, + KC_LCTL, KC_LALT, KC_LGUI, KC_APP, MO(2), KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + + /* FN Layer 1 + * ,-------------------------------------------------------------------------. + * | ` ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Delete| + * |-------------------------------------------------------------------------+ + * | | | | | | | # | - | = | [ | ] | \ | + * |-------------------------------------------------------------------------+ + * | | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | | + * |-------------------------------------------------------------------------+ + * | | | |Capsl| | | | Home| PgDn| PgUp| End | + * `-------------------------------------------------------------------------' + */ + +LAYOUT( /* Right */ + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELETE, + _______, _______, _______, _______, _______, _______, KC_NUHS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NUBS, + _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, _______, + _______, _______, _______, KC_CAPS, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END +), + + /* FN Layer 2 + * ,-------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) |Delete| + * |-------------------------------------------------------------------------+ + * | | | | | | | | _ | + | { | } | | | + * |-------------------------------------------------------------------------+ + * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | | + * |-------------------------------------------------------------------------+ + * | | | |Capsl| | | | Home| PgDn| PgUp| End | + * `-------------------------------------------------------------------------' + */ + +LAYOUT( /* Left */ + KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_LEFT_PAREN, KC_RIGHT_PAREN, KC_DELETE, + _______, _______, _______, _______, _______, _______, _______, KC_UNDERSCORE, KC_PLUS, KC_LEFT_CURLY_BRACE, KC_RIGHT_CURLY_BRACE, KC_PIPE, + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, _______, _______, KC_CAPS, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END +), + + /* FN Layer 2 + * ,-------------------------------------------------------------------------. + * | Esc | Calc|Webhm| Mail| Comp| | | | | |PrtSc| | + * |-------------------------------------------------------------------------+ + * | | | | | | | | | | | | | + * |-------------------------------------------------------------------------+ + * | |LEDtg|LEDch| | | | | | | | | | + * |-------------------------------------------------------------------------+ + * | | | | | | | |MousL|MousD|MousU|MousR| + * `-------------------------------------------------------------------------' + */ + +LAYOUT( /* Tab */ + KC_ESC, KC_CALC, KC_WHOM, KC_MAIL, KC_MYCM, _______, _______, _______, _______, _______, KC_PSCR, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, LED_TOG, LED_CHG, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R +), +}; + +//LED keymap functions + #ifdef LED_ENABLE +void led_chmode(void) { + serial_send(101); +} + +void led_toggle(void) { + serial_send(100); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + switch(keycode) { + case LED_TOG: + #ifdef LED_ENABLE + led_toggle(); + #endif + return false; + case LED_CHG: + #ifdef LED_ENABLE + led_chmode(); + #endif + return false; + } + } + return true; +}; +#endif diff --git a/keyboards/ut47/keymaps/non-us/readme.md b/keyboards/ut47/keymaps/non-us/readme.md new file mode 100644 index 00000000000..e09dc73fab8 --- /dev/null +++ b/keyboards/ut47/keymaps/non-us/readme.md @@ -0,0 +1,19 @@ +# UT47 default keymap + +![UT47 layout image](https://i.imgur.com/Tsz5qsF.png) + +[KLE](http://www.keyboard-layout-editor.com/##@@_y:0%3B&=Esc&=Q&=W&=E&=R&=T&=Y&=U&=I&=O&=P&_w:1.5%3B&=Back%20Space&_x:0.25&a:4&f:4&w:4&h:4&d:true%3B&=%3Cb%3EGNAP!%3C%2F%2Fb%3E%3Cp%3E%3Cp%3EMinimum%20stagger%3Cp%3E47%20key%20layout%3B&@_a:7&f:3&w:1.25%3B&=Tab&=A&=S&=D&=F&=G&=H&=J&=K&=L&=%2F%3B&_w:1.25%3B&=%27%3B&@_w:1.5%3B&=Shift&=Z&=X&=C&=V&=B&=N&=M&=,&=.&=%2F%2F&=Return%3B&@=Ctrl&=Alt&=Super&=Menu&_w:1.25%3B&=%2F&dArr%2F%3B&_w:2%3B&=&_w:1.25%3B&=%2F&uArr%2F%3B&=%2F&larr%2F%3B&=%2F&darr%2F%3B&=%2F&uarr%2F%3B&=%2F&rarr%2F%3B%3B&=undefined) + +### LED Controls + +Use TAB+Z to cycle through brightness (8 steps) + +Use TAB+X to cycle through the following LED modes: + +- solid +- breathing +- random +- rain +- reactive +- poptang +- off diff --git a/keyboards/v60_type_r/v60_type_r.c b/keyboards/v60_type_r/v60_type_r.c index 016348db9f7..86d87e12da2 100644 --- a/keyboards/v60_type_r/v60_type_r.c +++ b/keyboards/v60_type_r/v60_type_r.c @@ -15,25 +15,28 @@ */ #include "v60_type_r.h" +#include "quantum.h" + +// if we've got an RGB underglow! +#ifdef V60_POLESTAR + #include "rgblight.h" #include #include "action_layer.h" -#include "quantum.h" -// if we've got an RGB underglow! -#ifdef V60_POLESTAR #define SOFTPWM_LED_TIMER_TOP F_CPU/(256*64) extern rgblight_config_t rgblight_config; static uint8_t softpwm_buff[3] = {0}; -void matrix_init_user(void) { +void matrix_init_kb(void) { rgb_init(); + matrix_init_user(); } -bool process_record_user(uint16_t keycode, keyrecord_t *record) { +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { uint8_t r = led[0].r, g = led[0].g, b = led[0].b; switch(keycode) { case RGB_RI: @@ -98,7 +101,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; } - return true; + return process_record_user(keycode, record); } @@ -188,44 +191,4 @@ ISR(TIMER1_COMPA_vect) softpwm_buff[2] = led[0].b; } } -#else - -void matrix_init_user(void) { -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - return true; -} - #endif // V60_POLESTAR - -// we need these functions for both versions -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); -} - -void matrix_scan_user(void) { -} - -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); -} diff --git a/keyboards/v60_type_r/v60_type_r.h b/keyboards/v60_type_r/v60_type_r.h index d65df2b3fd1..3d7aef7eaf0 100644 --- a/keyboards/v60_type_r/v60_type_r.h +++ b/keyboards/v60_type_r/v60_type_r.h @@ -18,10 +18,10 @@ #include "quantum.h" -#include "rgblight.h" - #ifdef V60_POLESTAR +#include "rgblight.h" + void rgb_init(void); void set_rgb_color(uint8_t pin, uint8_t value, uint8_t timer_value); diff --git a/keyboards/viterbi/keymaps/drashna/keymap.c b/keyboards/viterbi/keymaps/drashna/keymap.c index 78c60d1a68c..09e8bc59987 100644 --- a/keyboards/viterbi/keymaps/drashna/keymap.c +++ b/keyboards/viterbi/keymaps/drashna/keymap.c @@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_MEDIA] = LAYOUT_ortho_5x7( - KC_MAKE, KC_RESET,MU_TOG, AUD_ON, AUD_OFF, CK_TOGG, RGB_SAD, + KC_MAKE, KC_RESET,MU_TOG, AU_ON, AU_OFF, CK_TOGG, RGB_SAD, MEDIA, EPRM, KC_RGB_T,RGB_M_P, RGB_M_B, RGB_M_R, RGB_SAI, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_M_SW,RGB_M_SN,RGB_M_K, RGB_HUD, KC_MPLY, KC_MPRV, KC_MNXT, RGB_M_X, RGB_M_G, RGB_M_P, RGB_HUI, diff --git a/keyboards/viterbi/keymaps/drashna/rules.mk b/keyboards/viterbi/keymaps/drashna/rules.mk index 4dc6bbdac7a..4b5596a53e6 100644 --- a/keyboards/viterbi/keymaps/drashna/rules.mk +++ b/keyboards/viterbi/keymaps/drashna/rules.mk @@ -8,5 +8,12 @@ RGBLIGHT_ENABLE = yes AUDIO_ENABLE = yes NKRO_ENABLE = yes -CUSTOM_MATRIX = no +CUSTOM_LAYOUT = no LAYOUTS = ortho_5x7 + +# SRC := $(filter-out serial.c matrix.c i2c.c split_util.c,$(SRC)) +# SRC := $(filter-out serial.c,$(SRC)) +# SRC := $(filter-out matrix.c,$(SRC)) +# SRC := $(filter-out i2c.c,$(SRC)) +# SRC := $(filter-out split_util.c,$(SRC)) +# SRC += quantum/matrix.c diff --git a/keyboards/xd60/keymaps/edulpn/keymap.c b/keyboards/xd60/keymaps/edulpn/keymap.c new file mode 100644 index 00000000000..4e9b97da53c --- /dev/null +++ b/keyboards/xd60/keymaps/edulpn/keymap.c @@ -0,0 +1,46 @@ +#include "xd60.h" +#include "action_layer.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + // 0: Base Layer + LAYOUT_ALL( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NO, \ + 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_NO, KC_ENT, \ + KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSHIFT, KC_NO, \ + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, F(0), KC_NO, KC_RGUI, KC_RCTL), + + // 1: Function Layer + LAYOUT_ALL( + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_NO, \ + KC_NO, KC_NO, KC_UP, KC_NO, KC_INSERT, KC_HOME, KC_PGUP, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_NO, KC_NO, KC_NO, \ + KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DEL, KC_END, KC_PGDN, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_NO, KC_NO, KC_ENT, \ + KC_LSFT, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_NO, KC_NO, \ + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, F(0), KC_NO, KC_RGUI, KC_RCTL), + +}; + +// Custom Actions +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay +}; + +// Macros +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; +}; + +// Loop +void matrix_scan_user(void) { + // Empty +}; diff --git a/keyboards/xd60/keymaps/edulpn/readme.md b/keyboards/xd60/keymaps/edulpn/readme.md new file mode 100644 index 00000000000..14f7da063d1 --- /dev/null +++ b/keyboards/xd60/keymaps/edulpn/readme.md @@ -0,0 +1,9 @@ +# Edulpn Keymap for the XD60 PCB + +## Additional Notes +60% Keymap for XD60 with GH60 ANSI layout (based on Supercoffe's keymap) + customized Fn layer. + +![Edulpn Keymap for the XD60 PCB](https://i.imgur.com/PoL5qcr.png) + +## Build +To build the default keymap, simply run `make xd60:edulpn`. diff --git a/keyboards/xd75/keymaps/tdl-jturner/config.h b/keyboards/xd75/keymaps/tdl-jturner/config.h new file mode 100644 index 00000000000..561a48d7eb8 --- /dev/null +++ b/keyboards/xd75/keymaps/tdl-jturner/config.h @@ -0,0 +1,38 @@ +/* Copyright 2018 Josh Turner (/u/tdl-jturner) + * + * 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 . + */ + + // additional config optoinsa vailable at https://docs.qmk.fm/reference/config-options#the-config.h-file + +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +// place overrides here +//#define TAPPING_TERM 200 +#define TAPPING_TOGGLE 2 +//#define PERMISSIVE_HOLD +//#define QMK_KEYS_PER_SCAN 4 +#define PREVENT_STUCK_MODIFIERS +#define FORCE_NKRO + +#define MOUSEKEY_INTERVAL 16 +#define MOUSEKEY_DELAY 0 +#define MOUSEKEY_TIME_TO_MAX 60 +#define MOUSEKEY_MAX_SPEED 7 +#define MOUSEKEY_WHEEL_DELAY 0 + +#endif diff --git a/keyboards/xd75/keymaps/tdl-jturner/keymap.c b/keyboards/xd75/keymaps/tdl-jturner/keymap.c new file mode 100644 index 00000000000..9789d9a8678 --- /dev/null +++ b/keyboards/xd75/keymaps/tdl-jturner/keymap.c @@ -0,0 +1,312 @@ +/* Copyright 2018 Josh Turner (/u/tdl-jturner) + * + * 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 "xd75.h" + +enum xd75_layers { + _QWERTY, + _COLEMAK, + _LYMD, + _LYFK, + _LYMED, + _LYNUM, + _LYNAV, + _LYMOS, + _LYSYS, + _LYLT +}; + +enum xd75_keycodes { + HELP = SAFE_RANGE, + KC_BSDEL, + KC_FBSLH, + KC_DOTQ, + KC_CPIPE, + COLEMAK, + QWERTY, + KC_LYDEF +}; + +//Tap Dance Declarations +enum { + TD_LOCK_SLEEP, + TD_ABK, + TD_BRC, + TD_CBR, +}; + +//Tap Dance Definitions +qk_tap_dance_action_t tap_dance_actions[] = { + //Tap once for Esc, twice for Caps Lock + [TD_LOCK_SLEEP] = ACTION_TAP_DANCE_DOUBLE(LGUI(KC_L), KC_SLEP), + [TD_ABK] = ACTION_TAP_DANCE_DOUBLE(KC_LABK,KC_RABK), + [TD_BRC] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC,KC_RBRC), + [TD_CBR] = ACTION_TAP_DANCE_DOUBLE(KC_LCBR,KC_RCBR) +// Other declarations would go here, separated by commas, if you have them +}; + +//remaps for pretty layouts +#define ________ KC_TRNS +#define ___XX___ KC_NO + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + //QWERY - Base Layer + [_QWERTY] = { + {KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 ,________ ,________,________, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_MINUS}, + {KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T ,________ ,________,________, KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_BSDEL}, //Custom shift Codes. Backspace ^ Delete +{LT(_LYMD,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_LSPO, KC_Z , KC_X , KC_C , KC_V , KC_B ,________ ,________,________, KC_N , KC_M ,KC_CPIPE,KC_DOTQ ,KC_FBSLH,KC_RSPC }, // Custom Shift Codes. ,^| .^? /^| + { KC_MEH ,KC_LCTL ,KC_LGUI ,KC_LALT ,MO(_LYNUM), KC_SPC ,________ ,________,________, KC_ENT ,MO(_LYNAV),TD(TD_CBR) ,TD(TD_BRC),TD(TD_ABK),TD(TD_LOCK_SLEEP)} + + }, + + //_COLEMAK - Colemak Layout - Identical to qwerty layer except for the layout changes + [_COLEMAK] = { + {KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 ,________ ,________,________, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_MINUS}, + {KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G ,________ ,________,________, KC_J , KC_L , KC_U , KC_Y ,KC_SCLN ,KC_BSDEL}, //Custom shift Codes. Backspace ^ Delete +{LT(_LYMD,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_LSPO, KC_Z , KC_X , KC_C , KC_V , KC_B ,________ ,________,________, KC_K , KC_M ,KC_CPIPE,KC_DOTQ ,KC_FBSLH,KC_RSPC }, // Custom Shift Codes. ,^| .^? /^| + { KC_MEH ,KC_LCTL ,KC_LGUI ,KC_LALT ,MO(_LYNUM), KC_SPC ,________ ,________,________, KC_ENT ,MO(_LYNAV),TD(TD_CBR) ,TD(TD_BRC),TD(TD_ABK),TD(TD_LOCK_SLEEP)} + + }, + + // Decision Layer + [_LYMD] = + { + {________,________ ,________ ,________ ,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___}, + {________,MO(_LYFK) ,MO(_LYMED),________ ,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,________}, + {________,MO(_LYNUM),MO(_LYNAV),________ ,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___}, + {________,MO(_LYMOS),MO(_LYSYS),MO(_LYLT) ,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___}, + {________,________ ,________ ,________ ,________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___} + }, + + //F Keys + [_LYFK] = + { + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___}, + {KC_LYDEF,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,KC_F7 ,KC_F8 ,KC_F9 ,KC_F12 ,________}, + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,KC_F4 ,KC_F5 ,KC_F6 ,KC_F11 ,___XX___}, + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,KC_F1 ,KC_F2 ,KC_F3 ,KC_F10 ,___XX___}, + {________,________,________,________,________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___} + }, +//Media Keys +[_LYMED] = + { + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___}, + {KC_LYDEF,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,KC_VOLU ,___XX___,___XX___,________}, + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,KC_MPRV ,KC_MUTE ,KC_MNXT ,___XX___,___XX___}, + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,KC_VOLD ,___XX___,KC_MSTP ,___XX___}, + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,KC_MPLY ,___XX___,___XX___,___XX___,___XX___} + }, +//Num Keys +[_LYNUM] = + { + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,KC_PEQL ,KC_PSLS ,KC_PAST ,KC_PMNS ,___XX___}, + {KC_LYDEF,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,KC_7 ,KC_8 ,KC_9 ,KC_MINUS,________}, + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,KC_4 ,KC_5 ,KC_6 ,KC_PPLS ,KC_PSLS }, + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,KC_1 ,KC_2 ,KC_3 ,KC_PENT ,KC_PAST }, + {________,________,________,________,________,________,________,________,________,________,KC_0 ,KC_0 ,KC_PDOT ,KC_PEQL ,___XX___} + }, +//Navigation Keys +[_LYNAV] = + { + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___}, + {KC_LYDEF,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,KC_HOME ,KC_UP ,KC_PGUP ,KC_PSCR ,________}, + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,KC_LEFT ,KC_F5 ,KC_RIGHT,KC_SLCK ,___XX___}, + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,KC_END ,KC_DOWN ,KC_PGDN ,KC_PAUS ,___XX___}, + {________,________,________,________,________,________,________,________,________,________,________,KC_INS ,KC_DEL ,___XX___,___XX___} + }, + //Mouse Keys + [_LYMOS] = + { + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___}, + {KC_LYDEF,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,KC_MS_U ,KC_WH_U ,KC_ACL2 ,________}, + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,KC_MS_L ,KC_ACL0 ,KC_MS_R ,KC_ACL1 ,___XX___}, + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,KC_MS_D ,KC_WH_D ,KC_BTN2 ,___XX___}, + {________,________,________,________,________,________,________,________,________,________,KC_BTN1 ,KC_BTN3 ,KC_BTN4 ,___XX___,___XX___} + }, + //Systen Keys + [_LYSYS] = + { + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___}, + {KC_LYDEF,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,________}, + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,QWERTY ,COLEMAK ,___XX___,RESET }, + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___}, + {________,________,________,________,________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___} + }, + +// Light Control +[_LYLT] = + { + {________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___,___XX___}, + {KC_LYDEF,________,________,________,________,________,___XX___,___XX___,___XX___,RGB_HUD ,RGB_HUI ,RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI }, + {________,________,________,________,________,________,___XX___,___XX___,___XX___,RGB_TOG ,RGB_RMOD,RGB_MOD ,___XX___,___XX___,___XX___}, + {________,________,________,________,________,________,___XX___,___XX___,___XX___,BL_TOGG ,BL_DEC ,BL_INC ,BL_BRTG ,___XX___,___XX___}, + {________,________,________,________,________,________,________,________,________,________,___XX___,___XX___,___XX___,___XX___,___XX___} + } +}; + +//Define layer colors +#define rgblight_setrgb_user_base() rgblight_sethsv(325,255,255) +#define rgblight_setrgb_user_LYFK() rgblight_sethsv_red() +#define rgblight_setrgb_user_LYMED() rgblight_sethsv_blue() +#define rgblight_setrgb_user_LYNUM() rgblight_sethsv_purple() +#define rgblight_setrgb_user_LYNAV() rgblight_sethsv_cyan() +#define rgblight_setrgb_user_LYMOS() rgblight_sethsv_orange() +#define rgblight_setrgb_user_LYSYS() rgblight_sethsv_green() +#define rgblight_setrgb_user_LYLT() rgblight_sethsv_yellow() +#define rgblight_setrgb_user_LYMD() rgblight_sethsv_white() + +//initialize rgb +void matrix_init_user(void) { + rgblight_enable(); + rgblight_mode(1); + rgblight_setrgb_user_base(); +} + +//Set a color based on the layer +uint32_t layer_state_set_user(uint32_t state) { + switch(biton32(state)) { + case _LYFK: + rgblight_setrgb_user_LYFK(); + break; + case _LYMED: + rgblight_setrgb_user_LYMED(); + break; + case _LYNUM: + rgblight_setrgb_user_LYNUM(); + break; + case _LYNAV: + rgblight_setrgb_user_LYNAV(); + break; + case _LYMOS: + rgblight_setrgb_user_LYMOS(); + break; + case _LYSYS: + rgblight_setrgb_user_LYSYS(); + break; + case _LYLT: + rgblight_setrgb_user_LYLT(); + break; + case _LYMD: + rgblight_setrgb_user_LYMD(); + break; + default: + rgblight_setrgb_user_base(); + break; + } + return state; +} + + +//Const for shift +const uint8_t shift = MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT); + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + switch(keycode) { + case KC_LYDEF: + layer_clear(); + return false; + break; + case QWERTY: + if (record->event.pressed) { + set_single_persistent_default_layer(_QWERTY); + } + return false; + break; + case COLEMAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_COLEMAK); + } + return false; + break; + case KC_BSDEL: + if (record->event.pressed) { + if (keyboard_report->mods & shift) { + if (keyboard_report->mods & MOD_BIT(KC_LSFT)) { + unregister_code(KC_LSHIFT); + } + else { + unregister_code(KC_RSHIFT); + } + register_code(KC_DEL); + } + else { + register_code(KC_BSPC); + } + } + else { + unregister_code(KC_DEL); + unregister_code (KC_BSPC); + } + return false; + break; + case KC_FBSLH: + if (record->event.pressed) { + if (keyboard_report->mods & shift) { + if (keyboard_report->mods & MOD_BIT(KC_LSFT)) { + unregister_code(KC_LSHIFT); + } + else { + unregister_code(KC_RSHIFT); + } + register_code(KC_BSLASH); + } + else { + register_code(KC_SLSH); + } + } + else { + unregister_code(KC_BSLASH); + unregister_code (KC_SLSH); + } + return false; + break; + case KC_DOTQ: + if (record->event.pressed) { + if (keyboard_report->mods & shift) { + register_code(KC_SLSH); // shifted slash = ? + } + else { + register_code(KC_DOT); + } + } + else { + unregister_code(KC_SLSH); // shifted slash = ? + unregister_code (KC_DOT); + } + return false; + break; + case KC_CPIPE: + if (record->event.pressed) { + if (keyboard_report->mods & shift) { + register_code(KC_BSLS); + } + else { + register_code(KC_COMM); + } + } + else { + unregister_code(KC_BSLS); + unregister_code (KC_COMM); + } + return false; + break; + } + return true; +}; diff --git a/keyboards/xd75/keymaps/tdl-jturner/readme.md b/keyboards/xd75/keymaps/tdl-jturner/readme.md new file mode 100644 index 00000000000..835ef09fb23 --- /dev/null +++ b/keyboards/xd75/keymaps/tdl-jturner/readme.md @@ -0,0 +1,12 @@ +/u/tdl-jturner - XD75 Layout +=== + +Keyboard Layout Editor: [Link](http://www.keyboard-layout-editor.com/#/gists/b2b23097ef70fd9170e266e4cbc06c02) + +Make Command: make xd75:tdl-jturner + +Notes: +* Based on Qwerty +* Tweaks for DBA & Programming including tap dance braces on lower right, custom shift codes, and F5 access on Nav layer +* Layers are all based on layer control on the left and the right is a 10 key pattern +* Layers include Functions, Media, Numpad, Navigation, Mouse, System, and Lighting diff --git a/keyboards/xd75/keymaps/tdl-jturner/rules.mk b/keyboards/xd75/keymaps/tdl-jturner/rules.mk new file mode 100644 index 00000000000..186b452fc63 --- /dev/null +++ b/keyboards/xd75/keymaps/tdl-jturner/rules.mk @@ -0,0 +1,23 @@ +# Copyright 2018 Josh Turner (/u/tdl-jturner) +# +# 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 QUANTUM_DIR + include ../../../../Makefile +endif + +TAP_DANCE_ENABLE = yes +MOUSEKEY_ENABLE = yes +BACKLIGHT_ENABLE = yes +RGBLIGHT_ENABLE = yes diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c index 7ff103ed6ac..03fa67a7d0c 100644 --- a/layouts/community/ergodox/drashna/keymap.c +++ b/layouts/community/ergodox/drashna/keymap.c @@ -17,18 +17,21 @@ along with this program. If not, see . #include QMK_KEYBOARD_H #include "drashna.h" +#ifdef UNICODEMAP_ENABLE +#include "drashna_unicode.h" +#endif // UNICODEMAP_ENABLE + //enum more_custom_keycodes { // KC_P00 = NEW_SAFE_RANGE //}; - //define layer change stuff for underglow indicator bool skip_leds = false; -#ifdef KEYBOARD_ergodox_ez + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: QWERTY Layer * @@ -54,9 +57,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_QWERTY] = LAYOUT_ergodox_pretty_wrapper( // left hand // right hand - KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, OSL(_MOUS), OSL(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_EQL, ________________NUMBER_LEFT________________, OSL(_MOUS), OSL(_MOUS), ________________NUMBER_RIGHT_______________, KC_MINS, KC_TAB, _________________QWERTY_L1_________________, TG(_DIABLO), TG(_DIABLO), _________________QWERTY_R1_________________, KC_BSLS, - SH_TT, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_QUOT, + KC_C1R3, _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, KC_QUOT, KC_MLSF, _________________QWERTY_L3_________________, TG(_GAMEPAD), TG(_GAMEPAD), _________________QWERTY_R3_________________, KC_MRSF, LT(_SYMB,KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________, ___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB), __________________ERGODOX_THUMB_CLUSTER_____________________ @@ -88,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // left hand // right hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, OSL(_MOUS), OSL(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_TAB, _________________COLEMAK_L1________________, TG(_DIABLO), TG(_DIABLO), _________________COLEMAK_R1________________, KC_BSLS, - SH_TT, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, KC_QUOT, + KC_C1R3, _________________COLEMAK_L2________________, _________________COLEMAK_R2________________, KC_QUOT, KC_MLSF, _________________COLEMAK_L3________________, TG(_GAMEPAD), TG(_GAMEPAD), _________________COLEMAK_R3________________, KC_MRSF, LT(_SYMB,KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________, ___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB), __________________ERGODOX_THUMB_CLUSTER_____________________ @@ -120,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // left hand // right hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, OSL(_MOUS), OSL(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, KC_TAB, _________________DVORAK_L1_________________, TG(_DIABLO), TG(_DIABLO), _________________DVORAK_R1_________________, KC_SLSH, - SH_TT, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, KC_MINS, + KC_C1R3, _________________DVORAK_L2_________________, _________________DVORAK_R2_________________, KC_MINS, KC_MLSF, _________________DVORAK_L3_________________, TG(_GAMEPAD), TG(_GAMEPAD), _________________DVORAK_R3_________________, KC_MRSF, LT(_SYMB,KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________, ___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB), __________________ERGODOX_THUMB_CLUSTER_____________________ @@ -152,7 +155,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // left hand KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, OSL(_MOUS), OSL(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_TAB, _________________WORKMAN_L1________________, TG(_DIABLO), TG(_DIABLO), _________________WORKMAN_R1________________, KC_BSLS, - SH_TT, _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, KC_QUOT, + KC_C1R3, _________________WORKMAN_L2________________, _________________WORKMAN_R2________________, KC_QUOT, KC_MLSF, _________________WORKMAN_L3________________, TG(_GAMEPAD), TG(_GAMEPAD), _________________WORKMAN_R3________________, KC_MRSF, LT(_SYMB,KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________, ___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB), __________________ERGODOX_THUMB_CLUSTER_____________________ @@ -299,19 +302,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -#else // KEYBOARD_ergodox_ez -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_ergodox_wrapper(KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, OSL(_MOUS), KC_TAB, _________________QWERTY_L1_________________, TG(_DIABLO), KC_BSPC, _________________QWERTY_L2_________________, KC_MLSF, _________________QWERTY_L3_________________, TG(_GAMEPAD), LT(_SYMB, KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________, ALT_T(KC_APP), KC_LGUI, KC_HOME, KC_SPACE, KC_BSPC, KC_END, OSL(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(_DIABLO), _________________QWERTY_R1_________________, KC_BSLS, _________________QWERTY_R2_________________, GUI_T(KC_QUOT), TG(_GAMEPAD), _________________QWERTY_R3_________________, KC_MRSF, ___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB), KC_RGUI, CTL_T(KC_ESCAPE), KC_PGUP, KC_PGDOWN, KC_DELETE, KC_ENTER), - [_COLEMAK] = LAYOUT_ergodox_wrapper(KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, OSL(_MOUS), KC_TAB, _________________COLEMAK_L1________________, TG(_DIABLO), KC_BSPC, _________________COLEMAK_L2________________, KC_MLSF, _________________COLEMAK_L3________________, TG(_GAMEPAD), LT(_SYMB, KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________, ALT_T(KC_APP), KC_LGUI, KC_HOME, KC_SPACE, KC_BSPC, KC_END, OSL(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(_DIABLO), _________________COLEMAK_R1________________, KC_BSLS, _________________COLEMAK_R2________________, GUI_T(KC_QUOT), TG(_GAMEPAD), _________________COLEMAK_R3________________, KC_MRSF, ___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB), KC_RGUI, CTL_T(KC_ESCAPE), KC_PGUP, KC_PGDOWN, KC_DELETE, KC_ENTER), - [_DVORAK] = LAYOUT_ergodox_wrapper(KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, OSL(_MOUS), KC_TAB, _________________DVORAK_L1_________________, TG(_DIABLO), KC_BSPC, _________________DVORAK_L2_________________, KC_MLSF, _________________DVORAK_L3_________________, TG(_GAMEPAD), LT(_SYMB, KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________, ALT_T(KC_APP), KC_LGUI, KC_HOME, KC_SPACE, KC_BSPC, KC_END, OSL(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, TG(_DIABLO), _________________DVORAK_R1_________________, KC_SLSH, _________________DVORAK_R2_________________, GUI_T(KC_MINS), TG(_GAMEPAD), _________________DVORAK_R3_________________, KC_MRSF, ___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB), KC_RGUI, CTL_T(KC_ESCAPE), KC_PGUP, KC_PGDOWN, KC_DELETE, KC_ENTER), - [_WORKMAN] = LAYOUT_ergodox_wrapper(KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, OSL(_MOUS), KC_TAB, _________________WORKMAN_L1________________, TG(_DIABLO), KC_BSPC, _________________WORKMAN_L2________________, KC_MLSF, _________________WORKMAN_L3________________, TG(_GAMEPAD), LT(_SYMB, KC_GRV), ___________ERGODOX_BOTTOM_LEFT_____________, ALT_T(KC_APP), KC_LGUI, KC_HOME, KC_SPACE, KC_BSPC, KC_END, OSL(_MOUS), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(_DIABLO), _________________WORKMAN_R1________________, KC_BSLS, _________________WORKMAN_R2________________, GUI_T(KC_QUOT), TG(_GAMEPAD), _________________WORKMAN_R3________________, KC_MRSF, ___________ERGODOX_BOTTOM_RIGHT____________, TT(_SYMB), KC_RGUI, CTL_T(KC_ESCAPE), KC_PGUP, KC_PGDOWN, KC_DELETE, KC_ENTER), - [_MODS] = LAYOUT_ergodox(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - [_SYMB] = LAYOUT_ergodox(EPRM, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, TG(_MODS), KC_RESET, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_WORKMAN, KC_MAKE, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRAVE, VRSN, KC_PERC, KC_CIRC, KC_LBRACKET, KC_RBRACKET, KC_TILD, KC_COLEMAK, KC_TRNS, KC_AMPR, KC_ASTR, KC_COLN, KC_SCOLON, RGB_SMOD, KC_RGB_T, RGB_HUI, RGB_M_R, RGB_M_SW, RGB_HUD, KC_QWERTY, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_DVORAK, KC_KP_PLUS, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_ASTERISK, KC_F12, KC_KP_MINUS, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_SLASH, KC_PSCREEN, KC_COLEMAK, KC_NUMLOCK, KC_KP_1, KC_KP_2, KC_KP_3, KC_EQUAL, KC_PAUSE, KC_KP_0, KC_KP_0, KC_KP_DOT, KC_KP_ENTER, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_DOT, KC_KP_0, KC_KP_ENTER), - [_GAMEPAD] = LAYOUT_ergodox(KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS, HYPR(KC_D), HYPR(KC_Q), HYPR(KC_GRV), KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, KC_I, KC_O, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_TRNS, TG(_GAMEPAD), KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO, KC_GRV, KC_U, KC_I, KC_Y, KC_T, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_O, KC_P, KC_HYPR, MAGIC_TOGGLE_NKRO, KC_LGUI, KC_NO, KC_V, KC_SPC, KC_H, KC_PGDN, KC_DEL, KC_ENTER), - [_DIABLO] = LAYOUT_ergodox(KC_ESC, KC_V, KC_D, KC_LALT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_TAB, KC_S, KC_I, KC_F, KC_M, KC_T, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LCTL, KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, KC_Z, KC_NO, KC_NO, KC_N, KC_M, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_L, KC_J, KC_NO, KC_NO, KC_F, KC_NO, SFT_T(KC_SPACE), ALT_T(KC_Q), KC_DIABLO_CLEAR, KC_PGDN, KC_DEL, KC_ENT), - [_MOUS] = LAYOUT_ergodox(KC_NO, KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_U, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_NO, KC_NO, KC_NO, KC_ACL0, KC_ACL1, KC_ACL2, KC_NO, KC_NO, KC_NO, KC_ACL0, KC_ACL1, KC_ACL2, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_U, KC_NO, KC_BTN1, KC_BTN2, KC_WH_D, KC_BTN3, KC_BTN4, KC_BTN5), -}; -#endif // KEYBOARD_ergodox_ez bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { diff --git a/layouts/community/ergodox/drashna/rules.mk b/layouts/community/ergodox/drashna/rules.mk index 536d5308af0..e5bf2d4b36a 100644 --- a/layouts/community/ergodox/drashna/rules.mk +++ b/layouts/community/ergodox/drashna/rules.mk @@ -7,3 +7,5 @@ endif CONSOLE_ENABLE = no BOOTMAGIC_ENABLE = yes +UNICODE_ENABLE = no +UNICDOEMAP_ENABLE = yes diff --git a/quantum/audio/song_list.h b/quantum/audio/song_list.h index a66c4d86445..1ddcfb345cd 100644 --- a/quantum/audio/song_list.h +++ b/quantum/audio/song_list.h @@ -20,6 +20,12 @@ #define NO_SOUND +#define LP_NUMB \ + H__NOTE(_CS5), H__NOTE(_E5), H__NOTE(_CS5), WD_NOTE(_FS5), \ + WD_NOTE(_A5), WD_NOTE(_GS5), WD_NOTE(_REST), H__NOTE(_CS5), H__NOTE(_E5), \ + H__NOTE(_CS5), WD_NOTE(_A5), WD_NOTE(_GS5), WD_NOTE(_E5), + + #define ODE_TO_JOY \ Q__NOTE(_E4), Q__NOTE(_E4), Q__NOTE(_F4), Q__NOTE(_G4), \ Q__NOTE(_G4), Q__NOTE(_F4), Q__NOTE(_E4), Q__NOTE(_D4), \ diff --git a/quantum/process_keycode/process_clicky.c b/quantum/process_keycode/process_clicky.c index f445751e0f1..1e950d11137 100644 --- a/quantum/process_keycode/process_clicky.c +++ b/quantum/process_keycode/process_clicky.c @@ -62,7 +62,6 @@ bool process_clicky(uint16_t keycode, keyrecord_t *record) { if ( clicky_enable ) { if (record->event.pressed) { - stop_all_notes(); clicky_play();; } } diff --git a/quantum/process_keycode/process_terminal.c b/quantum/process_keycode/process_terminal.c index deb1543e3da..bc365dddfa4 100644 --- a/quantum/process_keycode/process_terminal.c +++ b/quantum/process_keycode/process_terminal.c @@ -20,10 +20,20 @@ #include #include +#ifndef CMD_BUFF_SIZE + #define CMD_BUFF_SIZE 5 +#endif + + bool terminal_enabled = false; char buffer[80] = ""; +char cmd_buffer[CMD_BUFF_SIZE][80]; +bool cmd_buffer_enabled = true; //replace with ifdef? char newline[2] = "\n"; char arguments[6][20]; +bool firstTime = true; + +short int current_cmd_buffer_pos = 0; //used for up/down arrows - keeps track of where you are in the command buffer __attribute__ ((weak)) const char terminal_prompt[8] = "> "; @@ -34,36 +44,37 @@ const char terminal_prompt[8] = "> "; #endif float terminal_song[][2] = TERMINAL_SONG; #define TERMINAL_BELL() PLAY_SONG(terminal_song) -#else - #define TERMINAL_BELL() +#else + #define TERMINAL_BELL() #endif __attribute__ ((weak)) const char keycode_to_ascii_lut[58] = { 0, 0, 0, 0, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', - 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 0, 0, 0, '\t', ' ', '-', '=', '[', ']', '\\', 0, ';', '\'', '`', ',', '.', '/' -}; +}; __attribute__ ((weak)) const char shifted_keycode_to_ascii_lut[58] = { 0, 0, 0, 0, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', - 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', + 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', 0, 0, 0, '\t', ' ', '_', '+', '{', '}', '|', 0, ':', '\'', '~', '<', '>', '?' -}; +}; -struct stringcase { - char* string; - void (*func)(void); +struct stringcase { + char* string; + void (*func)(void); } typedef stringcase; void enable_terminal(void) { terminal_enabled = true; strcpy(buffer, ""); + memset(cmd_buffer,0,CMD_BUFF_SIZE * 80); for (int i = 0; i < 6; i++) strcpy(arguments[i], ""); // select all text to start over @@ -73,6 +84,29 @@ void enable_terminal(void) { void disable_terminal(void) { terminal_enabled = false; + SEND_STRING("\n"); +} + +void push_to_cmd_buffer(void) { +if (cmd_buffer_enabled) { + if (cmd_buffer == NULL) { + return; + } else { + if (firstTime) { + firstTime = false; + strcpy(cmd_buffer[0],buffer); + return; + } + + for (int i= CMD_BUFF_SIZE - 1;i > 0 ;--i) { + strncpy(cmd_buffer[i],cmd_buffer[i-1],80); + } + + strcpy(cmd_buffer[0],buffer); + + return; + } + } } void terminal_about(void) { @@ -136,11 +170,34 @@ void terminal_keymap(void) { } } -stringcase terminal_cases[] = { +void print_cmd_buff(void) { + /* without the below wait, a race condition can occur wherein the + buffer can be printed before it has been fully moved */ + wait_ms(250); + for(int i=0;istring, buffer ) ) { @@ -192,6 +250,16 @@ void process_terminal_command(void) { send_string(terminal_prompt); } } +void check_pos(void) { + if (current_cmd_buffer_pos >= CMD_BUFF_SIZE) { //if over the top, move it back down to the top of the buffer so you can climb back down... + current_cmd_buffer_pos = CMD_BUFF_SIZE - 1; + } else if (current_cmd_buffer_pos < 0) { //...and if you fall under the bottom of the buffer, reset back to 0 so you can climb back up + current_cmd_buffer_pos = 0; + } +} + + + bool process_terminal(uint16_t keycode, keyrecord_t *record) { @@ -210,6 +278,8 @@ bool process_terminal(uint16_t keycode, keyrecord_t *record) { char char_to_add; switch (keycode) { case KC_ENTER: + push_to_cmd_buffer(); + current_cmd_buffer_pos = 0; process_terminal_command(); return false; break; case KC_ESC: @@ -226,9 +296,36 @@ bool process_terminal(uint16_t keycode, keyrecord_t *record) { return false; } break; case KC_LEFT: + return false; break; case KC_RIGHT: - case KC_UP: + return false; break; + case KC_UP: // 0 = recent + check_pos(); //check our current buffer position is valid + if (current_cmd_buffer_pos <= CMD_BUFF_SIZE - 1) { //once we get to the top, dont do anything + str_len = strlen(buffer); + for(int i= 0;i < str_len ;++i) { + send_string(SS_TAP(X_BSPACE)); //clear w/e is on the line already + //process_terminal(KC_BSPC,record); + } + strncpy(buffer,cmd_buffer[current_cmd_buffer_pos],80); + + send_string(buffer); + ++current_cmd_buffer_pos; //get ready to access the above cmd if up/down is pressed again + } + return false; break; case KC_DOWN: + check_pos(); + if (current_cmd_buffer_pos >= 0) { //once we get to the bottom, dont do anything + str_len = strlen(buffer); + for(int i= 0;i < str_len ;++i) { + send_string(SS_TAP(X_BSPACE)); //clear w/e is on the line already + //process_terminal(KC_BSPC,record); + } + strncpy(buffer,cmd_buffer[current_cmd_buffer_pos],79); + + send_string(buffer); + --current_cmd_buffer_pos; //get ready to access the above cmd if down/up is pressed again + } return false; break; default: if (keycode <= 58) { @@ -240,7 +337,7 @@ bool process_terminal(uint16_t keycode, keyrecord_t *record) { } if (char_to_add != 0) { strncat(buffer, &char_to_add, 1); - } + } } break; } @@ -249,4 +346,4 @@ bool process_terminal(uint16_t keycode, keyrecord_t *record) { } } return true; -} \ No newline at end of file +} diff --git a/readme.md b/readme.md index 23773278e47..859e3ed12f1 100644 --- a/readme.md +++ b/readme.md @@ -2,7 +2,7 @@ [![Current Version](https://img.shields.io/github/tag/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/tags) [![Build Status](https://travis-ci.org/qmk/qmk_firmware.svg?branch=master)](https://travis-ci.org/qmk/qmk_firmware) -[![Gitter](https://img.shields.io/gitter/room/qmk/qmk_firmware.js.svg)](https://gitter.im/qmk/qmk_firmware) +[![Discord](https://img.shields.io/discord/440868230475677696.svg)](https://discord.gg/Uq7gcHh) [![Docs Status](https://img.shields.io/badge/docs-ready-orange.svg)](https://docs.qmk.fm) [![GitHub contributors](https://img.shields.io/github/contributors/qmk/qmk_firmware.svg)](https://github.com/qmk/qmk_firmware/pulse/monthly) [![GitHub forks](https://img.shields.io/github/forks/qmk/qmk_firmware.svg?style=social&label=Fork)](https://github.com/qmk/qmk_firmware/) diff --git a/users/drashna/config.h b/users/drashna/config.h index e48f72355b2..0a59ad02610 100644 --- a/users/drashna/config.h +++ b/users/drashna/config.h @@ -58,10 +58,16 @@ // Disable action_get_macro and fn_actions, since we don't use these // and it saves on space in the firmware. +#ifndef NO_DEBUG +#define NO_DEBUG +#endif // !NO_DEBUG +#ifndef NO_PRINT +#define NO_PRINT +#endif // !NO_PRINT #define NO_ACTION_MACRO #define NO_ACTION_FUNCTION - +#define DISABLE_LEADER #endif // !USERSPACE_CONFIG_H diff --git a/users/drashna/drashna.c b/users/drashna/drashna.c index d9d412b086d..86c16b826d3 100644 --- a/users/drashna/drashna.c +++ b/users/drashna/drashna.c @@ -33,35 +33,52 @@ PROGMEM const char secret[][64] = { #endif -#ifdef FAUXCLICKY_ENABLE -float fauxclicky_pressed_note[2] = MUSICAL_NOTE(_A6, 2); // (_D4, 0.25); -float fauxclicky_released_note[2] = MUSICAL_NOTE(_A6, 2); // (_C4, 0.125); -#else // FAUXCLICKY_ENABLE -float fauxclicky_pressed[][2] = SONG(S__NOTE(_A6)); // change to your tastes -float fauxclicky_released[][2] = SONG(S__NOTE(_A6)); // change to your tastes -#endif // FAUXCLICKY_ENABLE - float tone_copy[][2] = SONG(SCROLL_LOCK_ON_SOUND); float tone_paste[][2] = SONG(SCROLL_LOCK_OFF_SOUND); -bool faux_click_enabled = false; -bool is_overwatch = false; static uint16_t copy_paste_timer; #ifdef RGBLIGHT_ENABLE bool rgb_layer_change = true; #endif +userspace_config_t userspace_config; + +// Helper Functions +void tap(uint16_t keycode){ register_code(keycode); unregister_code(keycode); }; + +#ifdef RGBLIGHT_ENABLE +void rgblight_sethsv_default_helper(uint8_t index) { + uint8_t default_layer = eeconfig_read_default_layer(); + if (default_layer & (1UL << _COLEMAK)) { + rgblight_sethsv_at(300, 255, 255, index); + rgblight_sethsv_at(300, 255, 255, index); + } + else if (default_layer & (1UL << _DVORAK)) { + rgblight_sethsv_at(120, 255, 255, index); + rgblight_sethsv_at(120, 255, 255, index); + } + else if (default_layer & (1UL << _WORKMAN)) { + rgblight_sethsv_at(43, 255, 255, index); + rgblight_sethsv_at(43, 255, 255, index); + } + else { + rgblight_sethsv_at(180, 255, 255, index); + rgblight_sethsv_at(180, 255, 255, index); + } +} +#endif // RGBLIGHT_ENABLE + + +// ========================================= TAP DANCE ========================================= #ifdef TAP_DANCE_ENABLE //define diablo macro timer variables static uint16_t diablo_timer[4]; static uint8_t diablo_times[] = { 0, 1, 3, 5, 10, 30 }; static uint8_t diablo_key_time[4]; -bool check_dtimer(uint8_t dtimer) { - // has the correct number of seconds elapsed (as defined by diablo_times) - return (timer_elapsed(diablo_timer[dtimer]) < (diablo_key_time[dtimer] * 1000)) ? false : true; -}; +// has the correct number of seconds elapsed (as defined by diablo_times) +bool check_dtimer(uint8_t dtimer) { return (timer_elapsed(diablo_timer[dtimer]) < (diablo_key_time[dtimer] * 1000)) ? false : true; }; // Cycle through the times for the macro, starting at 0, for disabled. // Max of six values, so don't exceed @@ -69,25 +86,16 @@ void diablo_tapdance_master(qk_tap_dance_state_t *state, void *user_data, uint8_ if (state->count >= 7) { diablo_key_time[diablo_key] = diablo_times[0]; reset_tap_dance(state); - } - else { + } else { diablo_key_time[diablo_key] = diablo_times[state->count - 1]; } } // Would rather have one function for all of this, but no idea how to do that... -void diablo_tapdance1(qk_tap_dance_state_t *state, void *user_data) { - diablo_tapdance_master(state, user_data, 0); -} -void diablo_tapdance2(qk_tap_dance_state_t *state, void *user_data) { - diablo_tapdance_master(state, user_data, 1); -} -void diablo_tapdance3(qk_tap_dance_state_t *state, void *user_data) { - diablo_tapdance_master(state, user_data, 2); -} -void diablo_tapdance4(qk_tap_dance_state_t *state, void *user_data) { - diablo_tapdance_master(state, user_data, 3); -} +void diablo_tapdance1(qk_tap_dance_state_t *state, void *user_data) { diablo_tapdance_master(state, user_data, 0); } +void diablo_tapdance2(qk_tap_dance_state_t *state, void *user_data) { diablo_tapdance_master(state, user_data, 1); } +void diablo_tapdance3(qk_tap_dance_state_t *state, void *user_data) { diablo_tapdance_master(state, user_data, 2); } +void diablo_tapdance4(qk_tap_dance_state_t *state, void *user_data) { diablo_tapdance_master(state, user_data, 3); } //Tap Dance Definitions qk_tap_dance_action_t tap_dance_actions[] = { @@ -96,7 +104,6 @@ qk_tap_dance_action_t tap_dance_actions[] = { [TD_D3_2] = ACTION_TAP_DANCE_FN(diablo_tapdance2), [TD_D3_3] = ACTION_TAP_DANCE_FN(diablo_tapdance3), [TD_D3_4] = ACTION_TAP_DANCE_FN(diablo_tapdance4), - }; // Sends the key press to system, but only if on the Diablo layer @@ -104,17 +111,13 @@ void send_diablo_keystroke(uint8_t diablo_key) { if (biton32(layer_state) == _DIABLO) { switch (diablo_key) { case 0: - SEND_STRING("1"); - break; + tap(KC_1); break; case 1: - SEND_STRING("2"); - break; + tap(KC_2); break; case 2: - SEND_STRING("3"); - break; + tap(KC_3); break; case 3: - SEND_STRING("4"); - break; + tap(KC_4); break; } } } @@ -123,7 +126,6 @@ void send_diablo_keystroke(uint8_t diablo_key) { // Runs the "send string" command if enough time has passed, and resets the timer. void run_diablo_macro_check(void) { uint8_t dtime; - for (dtime = 0; dtime < 4; dtime++) { if (check_dtimer(dtime) && diablo_key_time[dtime]) { diablo_timer[dtime] = timer_read(); @@ -131,7 +133,6 @@ void run_diablo_macro_check(void) { } } } - #endif // TAP_DANCE_ENABLE @@ -162,32 +163,33 @@ void led_set_keymap(uint8_t usb_led) {} // Call user matrix init, set default RGB colors and then // call the keymap's init function void matrix_init_user(void) { -#ifdef RGBLIGHT_ENABLE uint8_t default_layer = eeconfig_read_default_layer(); +#ifdef RGBLIGHT_ENABLE rgblight_enable(); - - if (true) { - if (default_layer & (1UL << _COLEMAK)) { - rgblight_sethsv_magenta(); - } - else if (default_layer & (1UL << _DVORAK)) { - rgblight_sethsv_green(); - } - else if (default_layer & (1UL << _WORKMAN)) { - rgblight_sethsv_goldenrod(); - } - else { - rgblight_sethsv_teal(); - } - } - else - { - rgblight_setrgb_red(); - rgblight_mode(5); - } #endif // RGBLIGHT_ENABLE + if (default_layer & (1UL << _COLEMAK)) { +#ifdef RGBLIGHT_ENABLE + rgblight_sethsv_magenta(); +#endif // RGBLIGHT_ENABLE + } else if (default_layer & (1UL << _DVORAK)) { +#ifdef RGBLIGHT_ENABLE + rgblight_sethsv_green(); +#endif // RGBLIGHT_ENABLE + } else if (default_layer & (1UL << _WORKMAN)) { +#ifdef RGBLIGHT_ENABLE + rgblight_sethsv_goldenrod(); +#endif // RGBLIGHT_ENABLE + } else { +#ifdef RGBLIGHT_ENABLE + rgblight_sethsv_teal(); +#endif // RGBLIGHT_ENABLE + } + + userspace_config.raw = eeprom_read_byte(EECONFIG_USERSPACE); + clicky_enable = userspace_config.clicky_enable; + #if ( defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE) ) set_unicode_input_mode(UC_WINC); #endif //UNICODE_ENABLE @@ -197,23 +199,21 @@ void matrix_init_user(void) { // No global matrix scan code, so just run keymap's matrix // scan function void matrix_scan_user(void) { + #ifdef TAP_DANCE_ENABLE // Run Diablo 3 macro checking code. run_diablo_macro_check(); #endif // TAP_DANCE_ENABLE + matrix_scan_keymap(); } -void tap(uint16_t keycode){ - register_code(keycode); - unregister_code(keycode); -}; // This block is for all of the gaming macros, as they were all doing // the same thing, but with differring text sent. bool send_game_macro(const char *str, keyrecord_t *record, bool override) { if (!record->event.pressed || override) { clear_keyboard(); - tap(is_overwatch ? KC_BSPC : KC_ENTER); + tap(userspace_config.is_overwatch ? KC_BSPC : KC_ENTER); wait_ms(50); send_string(str); wait_ms(50); @@ -261,39 +261,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { 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; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } - else { - layer_off(_ADJUST); - } - return false; - break; - - case KC_MAKE: // Compiles the firmware, and adds the flash command based on keyboard bootloader if (!record->event.pressed) { SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP @@ -349,11 +316,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // These are a serious of gaming macros. // Only enables for the viterbi, basically, // to save on firmware space, since it's limited. -#if !(defined(KEYBOARD_orthodox_rev1) || defined(KEYBOARD_orthodox_rev3) || defined(KEYBOARD_ergodox_ez)) +#if !(defined(KEYBOARD_orthodox_rev1) || defined(KEYBOARD_orthodox_rev3) || defined(KEYBOARD_ergodox_ez) || defined(KEYBOARD_iris_rev2)) case KC_OVERWATCH: // Toggle's if we hit "ENTER" or "BACKSPACE" to input macros - if (record->event.pressed) { is_overwatch = !is_overwatch; } + if (record->event.pressed) { userspace_config.is_overwatch ^= 1; eeprom_update_byte(EECONFIG_USERSPACE, userspace_config.raw); } #ifdef RGBLIGHT_ENABLE - is_overwatch ? rgblight_mode(17) : rgblight_mode(18); + userspace_config.is_overwatch ? rgblight_mode(17) : rgblight_mode(18); #endif //RGBLIGHT_ENABLE return false; break; case KC_SALT: @@ -435,7 +402,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return false; break; - + case CLICKY_TOGGLE: + userspace_config.clicky_enable = clicky_enable; + eeprom_update_byte(EECONFIG_USERSPACE, userspace_config.raw); + break; #ifdef UNICODE_ENABLE case UC_FLIP: // (╯°□°)╯ ︵ ┻━┻ if (record->event.pressed) { @@ -466,81 +436,135 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } + // Runs state check and changes underglow color and animation // on layer change, no matter where the change was initiated // Then runs keymap's layer change check uint32_t layer_state_set_user(uint32_t state) { -#ifdef RGBLIGHT_ENABLE uint8_t default_layer = eeconfig_read_default_layer(); + state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); - if (rgb_layer_change) { - switch (biton32(state)) { - case _NAV: + switch (biton32(state)) { + case _NAV: +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_sethsv_blue(); rgblight_mode(1); - break; - case _SYMB: + } +#endif // RGBLIGHT_ENABLE + break; + case _SYMB: +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_sethsv_blue(); rgblight_mode(2); - break; - case _MOUS: + } +#endif // RGBLIGHT_ENABLE + break; + case _MOUS: +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_sethsv_yellow(); rgblight_mode(1); - break; - case _MACROS: + } +#endif // RGBLIGHT_ENABLE + break; + case _MACROS: +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_sethsv_orange(); - is_overwatch ? rgblight_mode(17) : rgblight_mode(18); - break; - case _MEDIA: + userspace_config.is_overwatch ? rgblight_mode(17) : rgblight_mode(18); + } +#endif // RGBLIGHT_ENABLE + break; + case _MEDIA: +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_sethsv_chartreuse(); rgblight_mode(22); - break; - case _GAMEPAD: + } +#endif // RGBLIGHT_ENABLE + break; + case _GAMEPAD: +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_sethsv_orange(); rgblight_mode(17); - break; - case _DIABLO: + } +#endif // RGBLIGHT_ENABLE + break; + case _DIABLO: +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_sethsv_red(); rgblight_mode(5); - break; - case _RAISE: + } +#endif // RGBLIGHT_ENABLE + break; + case _RAISE: +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_sethsv_yellow(); rgblight_mode(5); - break; - case _LOWER: + } +#endif // RGBLIGHT_ENABLE + break; + case _LOWER: +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_sethsv_orange(); rgblight_mode(5); - break; - case _ADJUST: + } +#endif // RGBLIGHT_ENABLE + break; + case _ADJUST: +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_sethsv_red(); rgblight_mode(23); - break; - case _COVECUBE: + } +#endif // RGBLIGHT_ENABLE + break; + case _COVECUBE: +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_sethsv_green(); rgblight_mode(2); - break; - default: // for any other layers, or the default layer - if (default_layer & (1UL << _COLEMAK)) { - rgblight_sethsv_magenta(); - } - else if (default_layer & (1UL << _DVORAK)) { - rgblight_sethsv_green(); - } - else if (default_layer & (1UL << _WORKMAN)) { - rgblight_sethsv_goldenrod(); - } - else { - rgblight_sethsv_teal(); - } - if (biton32(state) == _MODS) { // If the non-OSM layer is enabled, then breathe - rgblight_mode(2); - } else { // otherwise, stay solid - rgblight_mode(1); - } - break; } - } #endif // RGBLIGHT_ENABLE + break; + default: // for any other layers, or the default layer + if (default_layer & (1UL << _COLEMAK)) { +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_sethsv_magenta(); } +#endif // RGBLIGHT_ENABLE + } + else if (default_layer & (1UL << _DVORAK)) { +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_sethsv_green(); } +#endif // RGBLIGHT_ENABLE + } + else if (default_layer & (1UL << _WORKMAN)) { +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_sethsv_goldenrod(); } +#endif // RGBLIGHT_ENABLE + } + else { +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_sethsv_teal(); } +#endif // RGBLIGHT_ENABLE + } + if (biton32(state) == _MODS) { // If the non-OSM layer is enabled, then breathe +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_mode(2); } +#endif // RGBLIGHT_ENABLE + } else { // otherwise, stay solid +#ifdef RGBLIGHT_ENABLE + if (rgb_layer_change) { rgblight_mode(1); } +#endif // RGBLIGHT_ENABLE + } + break; + } return layer_state_set_keymap (state); } diff --git a/users/drashna/drashna.h b/users/drashna/drashna.h index 746c7e20a0c..5ef25333b13 100644 --- a/users/drashna/drashna.h +++ b/users/drashna/drashna.h @@ -49,8 +49,22 @@ enum userspace_layers { // RGB color codes are no longer located here anymore. Instead, you will want to // head to https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight_list.h -extern bool is_overwatch; extern bool rgb_layer_change; +extern bool clicky_enable; + +#ifdef RGBLIGHT_ENABLE +void rgblight_sethsv_default_helper(uint8_t index); +#endif // RGBLIGHT_ENABLE + +#define EECONFIG_USERSPACE (uint8_t *)20 + +typedef union { + uint32_t raw; + struct { + bool clicky_enable :1; + bool is_overwatch :1; + }; +} userspace_config_t; enum userspace_custom_keycodes { EPRM = SAFE_RANGE, // can always be here @@ -59,9 +73,6 @@ enum userspace_custom_keycodes { KC_COLEMAK, KC_DVORAK, KC_WORKMAN, - LOWER, - RAISE, - ADJUST, KC_DIABLO_CLEAR, KC_OVERWATCH, KC_SALT, @@ -90,6 +101,11 @@ enum userspace_custom_keycodes { NEW_SAFE_RANGE //use "NEWPLACEHOLDER for keymap specific codes }; +#define LOWER MO(_LOWER) +#define RAISE MO(_RAISE) +#define ADJUST MO(_ADJUST) + + #define KC_SEC1 KC_SECRET_1 #define KC_SEC2 KC_SECRET_2 #define KC_SEC3 KC_SECRET_3 @@ -102,6 +118,20 @@ enum userspace_custom_keycodes { #define WORKMAN KC_WORKMAN #define KC_RST KC_RESET + +#ifdef SWAP_HANDS_ENABLE +#define KC_C1R3 SH_TT +#else // SWAP_HANDS_ENABLE +#define KC_C1R3 KC_BSPC +#endif // SWAP_HANDS_ENABLE + +// OSM keycodes, to keep things clean and easy to change +#define KC_MLSF OSM(MOD_LSFT) +#define KC_MRSF OSM(MOD_RSFT) + +#define MG_NKRO MAGIC_TOGGLE_NKRO + + #ifdef TAP_DANCE_ENABLE enum { TD_D3_1 = 0, @@ -111,72 +141,6 @@ enum { }; #endif // TAP_DANCE_ENABLE -#ifdef UNICODEMAP_ENABLE - -/* use X(n) to call the */ - - -enum unicode_name { - THINK, // thinking face 🤔 - GRIN, // grinning face 😊 - SMRK, // smirk 😏 - WEARY, // good shit 😩 - UNAMU, // unamused 😒 - - SNEK, // snke 🐍 - PENGUIN, // 🐧 - DRAGON, // 🐉 - MONKEY, // 🐒 - CHICK, // 🐥 - - OKOK, // 👌 - EFFU, // 🖕 - INUP, // 👆 - THUP, // 👍 - THDN, // 👎 - - BBB, // dat B 🅱 - POO, // poop 💩 - HUNDR, // 100 💯 - EGGPL, // EGGPLANT 🍆 - WATER, // wet 💦 - TUMBLER, // 🥃 - - LIT, // fire 🔥 - IRONY, // ‽ - DEGREE, // ° -}; - - -const uint32_t PROGMEM unicode_map[] = { - [THINK] = 0x1F914, - [GRIN] = 0x1F600, - [BBB] = 0x1F171, - [POO] = 0x1F4A9, - [HUNDR] = 0x1F4AF, - [SMRK] = 0x1F60F, - [WEARY] = 0x1F629, - [EGGPL] = 0x1F346, - [WATER] = 0x1F4A6, - [LIT] = 0x1F525, - [UNAMU] = 0x1F612, - [SNEK] = 0x1F40D, - [PENGUIN] = 0x1F427, - [BOAR] = 0x1F417, - [MONKEY] = 0x1F412, - [CHICK] = 0x1F425, - [DRAGON] = 0x1F409, - [OKOK] = 0x1F44C, - [EFFU] = 0x1F595, - [INUP] = 0x1F446, - [THDN] = 0x1F44E, - [THUP] = 0x1F44D, - [TUMBLER] = 0x1F943, - [IRONY] = 0x0203D, - [DEGREE] = 0x000B0, - }; - -#endif //UNICODEMAP_ENABLE // Custom Keycodes for Diablo 3 layer // But since TD() doesn't work when tap dance is disabled @@ -193,22 +157,6 @@ const uint32_t PROGMEM unicode_map[] = { #define KC_D3_4 KC_4 #endif // TAP_DANCE_ENABLE -// OSM keycodes, to keep things clean and easy to change -#define KC_MLSF OSM(MOD_LSFT) -#define KC_MRSF OSM(MOD_RSFT) - - - -// If we're still using the official Faux Clicky feature, substitute codes -// so that we don't have any unused/blank keys. -#ifdef FAUXCLICKY_ENABLE -#define AUD_ON FC_ON -#define AUD_OFF FC_OFF -#else // FAUXCLICKY_ENABLE -#define AUD_ON AU_ON -#define AUD_OFF AU_OFF -#endif // FAUXCLICKY_ENABLE - // Since our quirky block definitions are basically a list of comma separated @@ -286,7 +234,8 @@ const uint32_t PROGMEM unicode_map[] = { #define _________________NORMAN_R2_________________ KC_J, KC_N, KC_I, KC_O, KC_U #define _________________NORMAN_R3_________________ KC_P, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLASH) - +#define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5 +#define ________________NUMBER_RIGHT_______________ KC_6, KC_7, KC_8, KC_9, KC_0 // Since we have 4 default layouts (QWERTY, DVORAK, COLEMAK and WORKMAN), // this allows us to quickly modify the bottom row for all of the layouts @@ -301,4 +250,4 @@ const uint32_t PROGMEM unicode_map[] = { KC_SPACE,KC_BSPC, KC_END, KC_PGDN, KC_DEL, KC_ENTER -#endif +#endif // !USERSPACE diff --git a/users/drashna/drashna_unicode.h b/users/drashna/drashna_unicode.h new file mode 100644 index 00000000000..3d1bc03f9b6 --- /dev/null +++ b/users/drashna/drashna_unicode.h @@ -0,0 +1,71 @@ +#ifndef UNICODE_USERSPACE_H +#define UNICODE_USERSPACE_H + + + +/* use X(n) to call the */ + +enum unicode_name { + THINK, // thinking face 🤔 + GRIN, // grinning face 😊 + SMRK, // smirk 😏 + WEARY, // good shit 😩 + UNAMU, // unamused 😒 + + SNEK, // snke 🐍 + PENGUIN, // 🐧 + DRAGON, // 🐉 + MONKEY, // 🐒 + CHICK, // 🐥 + BOAR, // 🐗 + + OKOK, // 👌 + EFFU, // 🖕 + INUP, // 👆 + THUP, // 👍 + THDN, // 👎 + + BBB, // dat B 🅱 + POO, // poop 💩 + HUNDR, // 100 💯 + EGGPL, // EGGPLANT 🍆 + WATER, // wet 💦 + TUMBLER, // 🥃 + + LIT, // fire 🔥 + BANG, // ‽ + IRONY, // ⸮ + DEGREE // ° +}; + + +const uint32_t PROGMEM unicode_map[] = { + [THINK] = 0x1F914, + [GRIN] = 0x1F600, + [BBB] = 0x1F171, + [POO] = 0x1F4A9, + [HUNDR] = 0x1F4AF, + [SMRK] = 0x1F60F, + [WEARY] = 0x1F629, + [EGGPL] = 0x1F346, + [WATER] = 0x1F4A6, + [LIT] = 0x1F525, + [UNAMU] = 0x1F612, + [SNEK] = 0x1F40D, + [PENGUIN] = 0x1F427, + [BOAR] = 0x1F417, + [MONKEY] = 0x1F412, + [CHICK] = 0x1F425, + [DRAGON] = 0x1F409, + [OKOK] = 0x1F44C, + [EFFU] = 0x1F595, + [INUP] = 0x1F446, + [THDN] = 0x1F44E, + [THUP] = 0x1F44D, + [TUMBLER] = 0x1F943, + [BANG] = 0x0203D, + [IRONY] = 0x02E2E, + [DEGREE] = 0x000B0 + }; + + #endif diff --git a/users/drashna/readme.md b/users/drashna/readme.md index c4e305e15bb..79758e7e569 100644 --- a/users/drashna/readme.md +++ b/users/drashna/readme.md @@ -146,3 +146,31 @@ endif ``` Then, if you run `make keyboard:name NO_SECRETS=yes`, it will default to the test strings in your `.c` file, rather than reading from your file. + + +Userspace EEPROM config +----------------------- + +This adds EEPROM support fo the userspace, so that certain values are configurable in such a way that persists when power is lost. Namely, just the clicky feature and the Overwatch macro option ("is_overwatch"). This is done by reading and saving the structure from EEPROM. + +To implement this, first you need to specify the location: + +```c +#define EECONFIG_USERSPACE (uint8_t *)20 +``` +This tells us where in the EEPROM that the data structure is located, and this specifies that it's a byte (8 bits). However, to maximize it's usage, we want to specify a data structure here, so that we can use multiple settings. To do that: + +```c +typedef union { + uint32_t raw; + struct { + bool clicky_enable :1; + bool is_overwatch :1; + }; +} userspace_config_t; +``` +Then, in your C file, you want to add: `userspace_config_t userspace_config;`, and in your `matrix_init_*` function, you want to add `userspace_config.raw = eeprom_read_byte(EECONFIG_USERSPACE);` + +From there, you'd want to use the data structure (such as `userspace_config.is_overwatch`) when you want to check this value. + +And if you want to update it, update directly and then use `eeprom_update_byte(EECONFIG_USERSPACE, userspace_config.raw);` to write the value back to the EEPROM. diff --git a/util/linux_install.sh b/util/linux_install.sh old mode 100644 new mode 100755 index ef9de5b19f5..e071b8ad30f --- a/util/linux_install.sh +++ b/util/linux_install.sh @@ -10,6 +10,15 @@ elif grep ID /etc/os-release | grep -q debian; then sudo apt-get install gcc unzip wget zip gcc-avr binutils-avr avr-libc \ dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi \ libnewlib-arm-none-eabi +elif grep ID /etc/os-release | grep -q arch; then + sudo pacman -S gcc unzip wget zip avr-gcc avr-binutils avr-libc \ + dfu-util arm-none-eabi-gcc arm-none-eabi-binutils \ + arm-none-eabi-newlib + git clone https://aur.archlinux.org/dfu-programmer.git /tmp/dfu-programmer + cd /tmp/dfu-programmer + makepkg -sic + rm -rf /tmp/dfu-programmer/ + else echo "Sorry, we don't recognize your OS. Help us by contributing support!" echo