From fd8628ccdc97482aae1814cec5c2059c2978daad Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 15 Jul 2021 03:52:45 +1000 Subject: Migrate more `fn_actions` stuff (#13502) --- keyboards/atreus/keymaps/erlandsona/keymap.c | 15 +- keyboards/atreus/keymaps/khitsule/keymap.c | 24 ---- .../bpiphany/kitten_paw/keymaps/ickerwx/keymap.c | 154 ++++++++------------- keyboards/clueboard/66/keymaps/magicmonty/keymap.c | 30 ++-- keyboards/clueboard/66/keymaps/tetris/keymap.c | 126 +++++------------ keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c | 33 ++--- keyboards/infinity60/keymaps/jpetermans/keymap.c | 101 ++++++-------- keyboards/whitefox/keymaps/kim-kim/keymap.c | 15 -- keyboards/whitefox/keymaps/matt3o/keymap.c | 60 +++++--- 9 files changed, 206 insertions(+), 352 deletions(-) (limited to 'keyboards') diff --git a/keyboards/atreus/keymaps/erlandsona/keymap.c b/keyboards/atreus/keymaps/erlandsona/keymap.c index 151288edc2..c261e892d4 100644 --- a/keyboards/atreus/keymaps/erlandsona/keymap.c +++ b/keyboards/atreus/keymaps/erlandsona/keymap.c @@ -1,6 +1,3 @@ -// 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 QMK_KEYBOARD_H // Each layer gets a name for readability, which is then used in the keymap matrix below. @@ -23,21 +20,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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), _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, KC_DEL , TG(MOUS), _______, _______, _______, _______, _______, _______ ), [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 + _______, _______ , _______, _______, _______, _______, _______, KC_BTN1, TO(BASE), RESET , KC_F12 , KC_F1 ), }; - - -// I prefer this layer switching strategy to the TG and MO functions. -// so that I can get out of mouse mode just by tapping/holding my base layer FN key. -const uint16_t PROGMEM fn_actions[] = { - [BASE] = ACTION_LAYER_OFF(2, 1), // switch back to layer 0 - [MOUS] = ACTION_LAYER_ON(2, 1) // switch to layer 2 -}; diff --git a/keyboards/atreus/keymaps/khitsule/keymap.c b/keyboards/atreus/keymaps/khitsule/keymap.c index e6a5366916..1190efa3cb 100644 --- a/keyboards/atreus/keymaps/khitsule/keymap.c +++ b/keyboards/atreus/keymaps/khitsule/keymap.c @@ -16,12 +16,6 @@ enum layers { #define KM_DRIGHT LGUI(LCTL(KC_RIGHT)) #define TSKMGR LCTL(LSFT(KC_ESC)) -#define tap_mod_macro(record, mod, macro) ( ((record)->event.pressed) ? \ - ( ((record)->tap.count <= 0 || (record)->tap.interrupted) ? MACRO(D(mod), END) : MACRO_NONE ) : \ - ( ((record)->tap.count > 0 && !((record)->tap.interrupted)) ? (macro) : MACRO(U(mod), END) ) ) - - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [ALPH] = LAYOUT( KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, @@ -54,21 +48,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RESET, 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[] = { - [1] = ACTION_MACRO_TAP(1), - [2] = ACTION_MACRO_TAP(2) -}; - -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; - case 2: - return tap_mod_macro(record, LALT, MACRO( D(LSFT), T(0), U(LSFT), END)); - break; - - } - return MACRO_NONE; -}; diff --git a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c index e2b56132bf..cc4d0bca63 100644 --- a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c +++ b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c @@ -1,12 +1,6 @@ #include QMK_KEYBOARD_H #include "mousekey.h" -#undef C -#undef S -#define C(kc) LCTL(KC_##kc) -#define S(kc) LSFT(KC_##kc) -#define RA(kc) RALT(KC_##kc) -#define KC_SLCT KC_SELECT #define MEDAPP LT(MEDIA, KC_APP) uint8_t current_layer_global = 255; @@ -21,19 +15,16 @@ enum layers { MISC, }; -enum function_id { - LSHFT_PAREN, +enum custom_keycodes { + LSHFT_PAREN = SAFE_RANGE, RSHFT_PAREN, LCTRL_BRACKET, RCTRL_BRACKET, LALT_CURLY, RALT_CURLY, - CTRL_CLICK -}; - -enum macro_id { - GRV, - CFLEX + CTRL_CLICK, + M_GRV, + M_CFLEX }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -42,25 +33,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,KC_MINS, KC_EQL,KC_BSPC, KC_INS,KC_HOME,KC_PGUP, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS, \ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,KC_LBRC,KC_RBRC,KC_BSLS, KC_DEL, KC_END,KC_PGDN, KC_P7, KC_P8, KC_P9,KC_PPLS, \ TT(MOUSE1), 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_P4, KC_P5, KC_P6, \ - F(8),KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_SLSH, F(9), KC_UP, KC_P1, KC_P2, KC_P3,KC_PENT, \ - F(1),KC_LGUI, F(3), LT(MISC, KC_SPC), F(4),TT(PROG1), MEDAPP, F(2), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT), + LSHFT_PAREN,KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_SLSH, RSHFT_PAREN, KC_UP, KC_P1, KC_P2, KC_P3,KC_PENT, \ + LCTRL_BRACKET,KC_LGUI, LALT_CURLY, LT(MISC, KC_SPC), RALT_CURLY,TT(PROG1), MEDAPP, RCTRL_BRACKET, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT), /* Layer 1: Programming Layer 1, emulating US l ayout */ [PROG1] = LAYOUT(\ KC_ESC,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \ - M(GRV),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_SLSH, S(0),_______, _______,_______,_______, _______,_______,_______,_______, \ - _______,_______,_______,_______,_______,_______, KC_Z,_______,_______,_______,_______, RA(8), RA(9),RA(MINS), _______,_______,_______, _______,_______,_______,_______, \ - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,S(COMM),S(BSLS), _______, _______,_______,_______, \ - MO(PROG2),_______, KC_Y,_______,_______,_______,_______,_______,_______,_______,_______, S(7), MO(PROG2), _______, _______,_______,_______,_______, \ + M_GRV,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_SLSH,S(KC_0),_______, _______,_______,_______, _______,_______,_______,_______, \ + _______,_______,_______,_______,_______,_______, KC_Z,_______,_______,_______,_______,ALGR(KC_8),ALGR(KC_9),ALGR(KC_MINS), _______,_______,_______, _______,_______,_______,_______, \ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,S(KC_COMM),S(KC_BSLS), _______, _______,_______,_______, \ + MO(PROG2),_______, KC_Y,_______,_______,_______,_______,_______,_______,_______,_______, S(KC_7), MO(PROG2), _______, _______,_______,_______,_______, \ _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______, _______,_______), /* Layer 2: programming layer 2 all keys that are not FN keys are sent as LSFT+key on this layer */ [PROG2] = LAYOUT(\ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \ - RA(RBRC),_______, RA(Q),KC_BSLS,_______,_______,M(CFLEX), S(6),S(RBRC), S(8), S(9),S(SLSH),KC_RBRC,_______, _______,_______,_______, _______,_______,_______,_______, \ - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RA(7), RA(0),RA(NUBS), _______,_______,_______, _______,_______,_______,_______, \ - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, S(DOT), S(2), _______, _______,_______,_______, \ - _______,S(NUBS),_______,_______,_______,_______,_______,_______,_______,KC_NUBS,S(NUBS),S(MINS), _______, _______, _______,_______,_______,_______, \ + ALGR(KC_RBRC),_______, ALGR(KC_Q),KC_BSLS,_______,_______,M_CFLEX, S(KC_6),S(KC_RBRC), S(KC_8),S(KC_9),S(KC_SLSH),KC_RBRC,_______, _______,_______,_______, _______,_______,_______,_______, \ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, ALGR(KC_7),ALGR(KC_0),ALGR(KC_NUBS), _______,_______,_______, _______,_______,_______,_______, \ + _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, S(KC_DOT), S(KC_2), _______, _______,_______,_______, \ + _______,S(KC_NUBS),_______,_______,_______,_______,_______,_______,_______,KC_NUBS,S(KC_NUBS),S(KC_MINS), _______, _______, _______,_______,_______,_______, \ _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______, _______,_______), /* Layer 3: media layer */ [MEDIA] = LAYOUT(\ @@ -72,11 +63,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX,_______,XXXXXXX, KC_MRWD,KC_MSTP,KC_MFFD, XXXXXXX,XXXXXXX), /* Layer 4: Mouse layer */ [MOUSE1] = LAYOUT(\ - F(6),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \ + TO(DEFAULT),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \ _______,KC_ACL0,KC_ACL1,KC_ACL2,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ - _______,KC_BTN4,KC_WH_D,KC_MS_U,KC_WH_U,_______, C(Z),_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ - _______,KC_BTN5,KC_MS_L,KC_MS_D,KC_MS_R, F(7),KC_WH_L,KC_WH_D,KC_WH_U,KC_WH_R,_______,_______, _______, _______,_______,_______, \ - MO(MOUSE2),_______, C(Y), C(X), C(C), C(V),_______,KC_BTN2,KC_BTN3,C(PGUP),C(PGDN),_______, KC_RSFT, _______, _______,_______,_______,_______, \ + _______,KC_BTN4,KC_WH_D,KC_MS_U,KC_WH_U,_______, C(KC_Z),_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ + _______,KC_BTN5,KC_MS_L,KC_MS_D,KC_MS_R, CTRL_CLICK,KC_WH_L,KC_WH_D,KC_WH_U,KC_WH_R,_______,_______, _______, _______,_______,_______, \ + MO(MOUSE2),_______,C(KC_Y),C(KC_X),C(KC_C),C(KC_V),_______,KC_BTN2,KC_BTN3,C(KC_PGUP),C(KC_PGDN),_______, KC_RSFT, _______, _______,_______,_______,_______, \ KC_LCTL,_______,KC_LALT, KC_BTN1, KC_RALT,KC_RGUI, KC_APP,KC_RCTL, _______,_______,_______, _______,_______), /* Layer 5: Mouse layer 2*/ [MOUSE2] = LAYOUT(\ @@ -90,44 +81,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MISC] = LAYOUT(\ _______, 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_SLCT, C(W), KC_UP,_______,_______,_______,_______,KC_BSPC, KC_DEL,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ + _______,KC_SLCT, C(KC_W), KC_UP,_______,_______,_______,_______,KC_BSPC, KC_DEL,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ _______,_______,KC_LEFT,KC_DOWN,KC_RGHT,_______,KC_HOME,KC_PGDN,KC_PGUP,_______,_______,_______, _______, _______,_______,_______, \ - KC_LSFT,_______, C(Y), C(X), C(C), C(V), KC_SPC, KC_END,_______,C(PGUP),C(PGDN),_______, _______, _______, _______,_______,_______,_______, \ + KC_LSFT,_______,C(KC_Y),C(KC_X),C(KC_C),C(KC_V), KC_SPC, KC_END,_______,C(KC_PGUP),C(KC_PGDN),_______, _______, _______, _______,_______,_______,_______, \ _______,_______,_______, LT(MISC, KC_SPC), _______,_______,_______,_______, _______,_______,_______, _______,_______), }; -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_FUNCTION_TAP(LCTRL_BRACKET), // tap to print [ - [2] = ACTION_FUNCTION_TAP(RCTRL_BRACKET), // tap to print ] - [3] = ACTION_FUNCTION_TAP(LALT_CURLY), // tap to print { - [4] = ACTION_FUNCTION_TAP(RALT_CURLY), // tap to print } - [6] = ACTION_LAYER_SET_CLEAR(DEFAULT), - [7] = ACTION_FUNCTION_TAP(CTRL_CLICK), - [8] = ACTION_FUNCTION_TAP(LSHFT_PAREN), // tap to print ( - [9] = ACTION_FUNCTION_TAP(RSHFT_PAREN), // tap to print ) -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - // MACRODOWN only works in this function - switch(id) { - case GRV: // macro to print accent grave - return (record->event.pressed ? - MACRO( D(LSFT), T(EQL), U(RALT), T(SPC), END) : - MACRO_NONE ); - case CFLEX: // print accent circonflex - return (record->event.pressed ? - MACRO( T(GRV), T(SPC), END ) : - MACRO_NONE ); - } - return MACRO_NONE; -}; - - -void matrix_init_user(void) { - -} - void matrix_scan_user(void) { uint8_t layer; layer = biton32(layer_state); @@ -147,10 +106,6 @@ void matrix_scan_user(void) { } } -void led_set_user(uint8_t usb_led) { - -} - void tap_helper(keyrecord_t *record, uint16_t orig_mod, uint16_t macro_mod, uint16_t macro_kc ) { if (record->event.pressed) { if (record->tap.count > 0 && !record->tap.interrupted) { @@ -175,28 +130,45 @@ void tap_helper(keyrecord_t *record, uint16_t orig_mod, uint16_t macro_mod, uint } } -/* if LCTRL is tabbed, print (, or ) if RCTRL is tabbed, same for LALT/RALT and [/] */ -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - // The code is copied from keymap_hasu.c in the tmk keyboards hhkb folder - switch (id) { +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + uint8_t layer; + layer = biton32(layer_state); + if (layer == PROG2) { + if (keycode >= KC_A && keycode <= KC_EXSEL && \ + !( // do not send LSFT + these keycodes, they are needed for emulating the US layout + keycode == KC_NONUS_BSLASH || + keycode == KC_RBRC || + keycode == KC_BSLS || + keycode == KC_GRV + )) { + // LSFT is the modifier for this layer, so we set LSFT for every key to get the expected behavior + if (record->event.pressed) { + register_mods(MOD_LSFT); + } else { + unregister_mods(MOD_LSFT); + } + } + } + + switch (keycode) { case LCTRL_BRACKET: tap_helper(record, KC_LCTL, KC_RALT, KC_8); - break; + return false; case RCTRL_BRACKET: tap_helper(record, KC_RCTL, KC_RALT, KC_9); - break; + return false; case LALT_CURLY: tap_helper(record, KC_LALT, KC_RALT, KC_7); - break; + return false; case RALT_CURLY: tap_helper(record, KC_RALT, KC_RALT, KC_0); - break; + return false; case LSHFT_PAREN: tap_helper(record, KC_LSFT, KC_LSFT, KC_8); - break; + return false; case RSHFT_PAREN: tap_helper(record, KC_RSFT, KC_LSFT, KC_9); - break; + return false; case CTRL_CLICK: if (record->event.pressed) { mousekey_clear(); @@ -212,28 +184,16 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { unregister_mods(MOD_BIT(KC_LCTL)); send_keyboard_report(); } - break; + return false; + case M_GRV: + tap_code16(S(KC_EQL)); + tap_code(KC_SPC); + return false; + case M_CFLEX: + tap_code(KC_GRV); + tap_code(KC_SPC); + return false; } -} -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - uint8_t layer; - layer = biton32(layer_state); - if (layer == PROG2) { - if (keycode >= KC_A && keycode <= KC_EXSEL && \ - !( // do not send LSFT + these keycodes, they are needed for emulating the US layout - keycode == KC_NONUS_BSLASH || - keycode == KC_RBRC || - keycode == KC_BSLS || - keycode == KC_GRV - )) { - // LSFT is the modifier for this layer, so we set LSFT for every key to get the expected behavior - if (record->event.pressed) { - register_mods(MOD_LSFT); - } else { - unregister_mods(MOD_LSFT); - } - } - } return true; } diff --git a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c b/keyboards/clueboard/66/keymaps/magicmonty/keymap.c index 54420d31b6..56d4c47071 100644 --- a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c +++ b/keyboards/clueboard/66/keymaps/magicmonty/keymap.c @@ -40,8 +40,9 @@ // CTRL when held, ESC when tapped #define CTL_ESC CTL_T(KC_ESC) -// Reset RGB mode to layer signalling -#define RGB_RST F(0) +enum custom_keycodes { + RGB_RST = SAFE_RANGE +}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _BL: Base Layer (Default Layer) */ @@ -103,21 +104,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #endif }; -/* This is a list of user defined functions. F(N) corresponds to item N - of this list. - */ -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(0), // Calls action_function() -}; - -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - switch (id) { - case 0: - if (record->event.pressed) { - rgblight_mode(1); - rgblight_sethsv(206, 255, 255); - } - } +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RGB_RST: + if (record->event.pressed) { + rgblight_mode(1); + rgblight_sethsv(206, 255, 255); + } + return false; + } + return true; } enum layer_id { diff --git a/keyboards/clueboard/66/keymaps/tetris/keymap.c b/keyboards/clueboard/66/keymaps/tetris/keymap.c index ef3abd6672..26dd97feec 100644 --- a/keyboards/clueboard/66/keymaps/tetris/keymap.c +++ b/keyboards/clueboard/66/keymaps/tetris/keymap.c @@ -1,9 +1,6 @@ #include QMK_KEYBOARD_H #include "tetris_text.h" -// Helpful defines -#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT)) - // 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 @@ -12,11 +9,15 @@ #define _FL 1 #define _CL 2 +enum custom_keycodes { + TETRIS_START = SAFE_RANGE +}; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap _BL: Base Layer (Default Layer) */ [_BL] = LAYOUT( - F(0), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_PGUP, + KC_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_GRV, KC_BSPC, KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, @@ -41,71 +42,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI), }; -/* This is a list of user defined functions. F(N) corresponds to item N - of this list. - */ -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(0), // Calls action_function() - [1] = ACTION_FUNCTION(1) -}; - static uint8_t tetris_key_presses = 0; static uint16_t tetris_timer = 0; static uint8_t tetris_running = 0; static int tetris_keypress = 0; -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - static uint8_t mods_pressed; - static bool mod_flag; - - switch (id) { - case 0: - // clueboard specific hook to make escape quite tetris - if (tetris_running) { - tetris_running = 0; - return; - } - - /* Handle the combined Grave/Esc key - */ - mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed - - if (record->event.pressed) { - /* The key is being pressed. - */ - if (mods_pressed) { - mod_flag = true; - add_key(KC_GRV); - send_keyboard_report(); - } else { - add_key(KC_ESC); - send_keyboard_report(); - } - } else { - /* The key is being released. - */ - if (mod_flag) { - mod_flag = false; - del_key(KC_GRV); - send_keyboard_report(); - } else { - del_key(KC_ESC); - send_keyboard_report(); - } - } - break; - case 1: - if (record->event.pressed) { - tetris_running = 1; - tetris_timer = 0; - tetris_keypress = 0; - // set randomness using total number of key presses - tetris_start(tetris_key_presses); - } - break; - } -} - /* * Set up tetris */ @@ -130,6 +71,25 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } + switch (keycode) { + case KC_GESC: + // clueboard specific hook to make escape quite tetris + if (tetris_running) { + tetris_running = 0; + return false; + } + break; + case TETRIS_START: + if (record->event.pressed) { + tetris_running = 1; + tetris_timer = 0; + tetris_keypress = 0; + // set randomness using total number of key presses + tetris_start(tetris_key_presses); + } + return false; + } + return true; } @@ -148,57 +108,45 @@ void matrix_scan_user(void) { } } -void send_keycode(uint16_t keycode) { - register_code(keycode); - unregister_code(keycode); -} - -void send_keycode_shift(uint16_t keycode) { - register_code(KC_LSFT); - register_code(keycode); - unregister_code(keycode); - unregister_code(KC_LSFT); -} - void tetris_send_up(void) { - send_keycode(KC_UP); + tap_code(KC_UP); } void tetris_send_left(void) { - send_keycode(KC_LEFT); + tap_code(KC_LEFT); } void tetris_send_down(void) { - send_keycode(KC_DOWN); + tap_code(KC_DOWN); } void tetris_send_right(void) { - send_keycode(KC_RGHT); + tap_code(KC_RGHT); } void tetris_send_backspace(void) { - send_keycode(KC_BSPC); + tap_code(KC_BSPC); } void tetris_send_delete(void) { - send_keycode(KC_DEL); + tap_code(KC_DEL); } void tetris_send_string(const char *s) { for (int i = 0; s[i] != 0; i++) { if (s[i] >= 'a' && s[i] <= 'z') { - send_keycode(KC_A + (s[i] - 'a')); + tap_code(KC_A + (s[i] - 'a')); } else if (s[i] >= 'A' && s[i] <= 'Z') { - send_keycode_shift(KC_A + (s[i] - 'A')); + tap_code16(S(KC_A + (s[i] - 'A'))); } else if (s[i] >= '1' && s[i] <= '9') { - send_keycode(KC_1 + (s[i] - '1')); + tap_code(KC_1 + (s[i] - '1')); } else { switch (s[i]) { - case ' ': send_keycode(KC_SPACE); break; - case '.': send_keycode(KC_DOT); break; - case '0': send_keycode(KC_0); break; + case ' ': tap_code(KC_SPACE); break; + case '.': tap_code(KC_DOT); break; + case '0': tap_code(KC_0); break; } } } } void tetris_send_newline(void) { - send_keycode(KC_ENT); + tap_code(KC_ENT); } int tetris_get_keypress(void) { diff --git a/keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c b/keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c index 5b58d7686a..a79b89e9c2 100644 --- a/keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c +++ b/keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c @@ -3,6 +3,10 @@ #define _DEFAULT 0 #define _FN 1 +enum custom_keycodes { + LED_TOGGLE = SAFE_RANGE +}; + int esc_led = 0; // Fillers to make layering more clear @@ -44,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------' */ [_FN] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 1 */ - F(0), 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, \ + LED_TOGGLE,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, ______, ______, \ @@ -52,14 +56,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -enum function_id { - LED_TOGGLE -}; - -const uint16_t PROGMEM fn_actions[] = { - [0] = ACTION_FUNCTION(LED_TOGGLE) -}; - void esc_led_toggle(void) { if (esc_led == 0){ esc_led = 1; @@ -70,12 +66,13 @@ void esc_led_toggle(void) { } } -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { - switch (id) { - case LED_TOGGLE: - if (record->event.pressed) { - esc_led_toggle(); - } - break; - } -} \ No newline at end of file +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LED_TOGGLE: + if (record->event.pressed) { + esc_led_toggle(); + } + return false; + } + return true; +} diff --git a/keyboards/infinity60/keymaps/jpetermans/keymap.c b/keyboards/infinity60/keymaps/jpetermans/keymap.c index c34d56ec85..3c2e0d4da8 100644 --- a/keyboards/infinity60/keymaps/jpetermans/keymap.c +++ b/keyboards/infinity60/keymaps/jpetermans/keymap.c @@ -11,20 +11,25 @@ //IS31 chip has 8 available led pages, using 0 for all leds and 7 for single toggles #define max_pages 6 -enum ic60_keycodes { - NUMPAD, - FNAV, - MEDIA, - BACKLIGHT, - BRIGHT, - DIM, - ALL, - GAME, +enum led_modes { + MODE_ALL, + MODE_GAME, MODE_SINGLE, MODE_PAGE, MODE_FLASH }; +enum macro_id { + LED_ALL = SAFE_RANGE, + LED_GAME, + LED_BACKLIGHT, + LED_BRIGHT, + LED_DIM, + LED_SINGLE, + LED_PAGE, + LED_FLASH +}; + uint8_t current_layer_global = 0; uint8_t led_mode_global = MODE_SINGLE; uint8_t backlight_status_global = 1; //init on/off state of backlight @@ -77,10 +82,10 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* media */ [_MEDIA] = LAYOUT_60_ansi_split_bs_rshift( \ - _______,F(MODE_SINGLE),F(MODE_PAGE),F(MODE_FLASH),_______,_______,_______, _______, _______, _______,KC_MUTE, KC_VOLD, KC_VOLU,_______,KC_NO,\ + _______,LED_SINGLE,LED_PAGE,LED_FLASH,_______,_______,_______, _______, _______, _______,KC_MUTE, KC_VOLD, KC_VOLU,_______,KC_NO,\ _______,_______,_______,_______,_______,_______,_______, _______, _______, _______,_______, _______,_______,_______,\ - _______,_______,_______,_______,_______,F(GAME),_______, _______, _______, _______,_______, _______,_______, \ - _______,_______,F(ALL) ,F(BRIGHT),F(DIM),F(BACKLIGHT),_______, _______, KC_MPRV, KC_MNXT,KC_MSTP, _______,KC_NO, \ + _______,_______,_______,_______,_______,LED_GAME,_______, _______, _______, _______,_______, _______,_______, \ + _______,_______,LED_ALL ,LED_BRIGHT,LED_DIM,LED_BACKLIGHT,_______, _______, KC_MPRV, KC_MNXT,KC_MSTP, _______,KC_NO, \ _______,_______,_______, KC_MPLY, _______,_______, _______,_______ \ ), /* ~ */ @@ -101,22 +106,6 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -//id for user defined functions and macros -enum function_id { - NONE, -}; - -enum macro_id { - ACTION_LEDS_ALL, - ACTION_LEDS_GAME, - ACTION_LEDS_BACKLIGHT, - ACTION_LEDS_BRIGHT, - ACTION_LEDS_DIM, - ACTION_LEDS_SINGLE, - ACTION_LEDS_PAGE, - ACTION_LEDS_FLASH -}; - /* ================================== * LED MAPPING * ==================================*/ @@ -158,74 +147,62 @@ uint8_t led_game[5] = { 47,48,51 }; -//======== qmk functions ========= -const uint16_t fn_actions[] = { - [ALL] = ACTION_FUNCTION(ACTION_LEDS_ALL), - [GAME] = ACTION_FUNCTION(ACTION_LEDS_GAME), - [BACKLIGHT] = ACTION_FUNCTION(ACTION_LEDS_BACKLIGHT), - [BRIGHT] = ACTION_FUNCTION(ACTION_LEDS_BRIGHT), - [DIM] = ACTION_FUNCTION(ACTION_LEDS_DIM), - [MODE_SINGLE] = ACTION_FUNCTION(ACTION_LEDS_SINGLE), - [MODE_PAGE] = ACTION_FUNCTION(ACTION_LEDS_PAGE), - [MODE_FLASH] = ACTION_FUNCTION(ACTION_LEDS_FLASH), -}; - -/* custom action function */ -void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { +bool process_record_user(uint16_t keycode, keyrecord_t *record) { msg_t msg; - switch(id) { - case ACTION_LEDS_ALL: + switch(keycode) { + case LED_ALL: if(record->event.pressed) { - led_mode_global = led_mode_global == ALL ? MODE_SINGLE : ALL; + led_mode_global = led_mode_global == MODE_ALL ? MODE_SINGLE : MODE_ALL; msg=TOGGLE_ALL; chMBPost(&led_mailbox, msg, TIME_IMMEDIATE); } - break; + return false; - case ACTION_LEDS_BACKLIGHT: + case LED_BACKLIGHT: if(record->event.pressed) { backlight_status_global ^= 1; msg=(backlight_status_global << 8) | TOGGLE_BACKLIGHT; chMBPost(&led_mailbox, msg, TIME_IMMEDIATE); } - break; + return false; - case ACTION_LEDS_GAME: + case LED_GAME: if(record->event.pressed) { - led_mode_global = led_mode_global == GAME ? MODE_SINGLE : GAME; + led_mode_global = led_mode_global == MODE_GAME ? MODE_SINGLE : MODE_GAME; msg=(4 << 8) | DISPLAY_PAGE; chMBPost(&led_mailbox, msg, TIME_IMMEDIATE); } - break; + return false; - case ACTION_LEDS_BRIGHT: + case LED_BRIGHT: if(record->event.pressed) { msg=(1 << 8) | STEP_BRIGHTNESS; chMBPost(&led_mailbox, msg, TIME_IMMEDIATE); } - break; + return false; - case ACTION_LEDS_DIM: + case LED_DIM: if(record->event.pressed) { msg=(0 << 8) | STEP_BRIGHTNESS; chMBPost(&led_mailbox, msg, TIME_IMMEDIATE); } - break; + return false; //set led_mode for matrix_scan to toggle leds - case ACTION_LEDS_SINGLE: + case LED_SINGLE: led_mode_global = MODE_SINGLE; - break; - case ACTION_LEDS_PAGE: + return false; + case LED_PAGE: led_mode_global = MODE_PAGE; - break; - case ACTION_LEDS_FLASH: + return false; + case LED_FLASH: led_mode_global = MODE_FLASH; - break; + return false; } + return true; } // Runs just one time when the keyboard initializes. @@ -257,7 +234,7 @@ void matrix_scan_user(void) { return; } - if (led_layer_state != layer_state && led_mode_global != GAME && led_mode_global != ALL) { + if (led_layer_state != layer_state && led_mode_global != MODE_GAME && led_mode_global != MODE_ALL) { //check mode //Turn on layer indicator or page depending on mode switch(led_mode_global) { diff --git a/keyboards/whitefox/keymaps/kim-kim/keymap.c b/keyboards/whitefox/keymaps/kim-kim/keymap.c index a254067582..baaa136873 100644 --- a/keyboards/whitefox/keymaps/kim-kim/keymap.c +++ b/keyboards/whitefox/keymaps/kim-kim/keymap.c @@ -51,18 +51,3 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______,_______,_______, _______, _______,_______,_______, KC_HOME,_______,KC_END \ ), }; - -/* Give numbers some descriptive names */ -#define ACTION_LEDS_ALL 1 -#define ACTION_LEDS_GAME 2 - -const uint16_t fn_actions[] = { - [2] = ACTION_FUNCTION(ACTION_LEDS_ALL), - [3] = ACTION_FUNCTION(ACTION_LEDS_GAME), - - [4] = ACTION_USAGE_CONSUMER(0x1B4), - [5] = ACTION_USAGE_CONSUMER(0x196), - [6] = ACTION_USAGE_CONSUMER(0x1A6), - [7] = ACTION_USAGE_CONSUMER(0x1A0), - -}; diff --git a/keyboards/whitefox/keymaps/matt3o/keymap.c b/keyboards/whitefox/keymaps/matt3o/keymap.c index f6987fe1aa..bb84196684 100644 --- a/keyboards/whitefox/keymaps/matt3o/keymap.c +++ b/keyboards/whitefox/keymaps/matt3o/keymap.c @@ -16,6 +16,13 @@ along with this program. If not, see . */ #include QMK_KEYBOARD_H +enum custom_keycodes { + AL_FILE = SAFE_RANGE, + AL_WWW, + AL_HELP, + AL_CMD +}; + const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Layer 0: Default Layer * ,---------------------------------------------------------------. @@ -45,25 +52,44 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_HOME,KC_PGDN,KC_END \ ), [2] = LAYOUT( \ - KC_SLEP,KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_FN2, \ - KC_TRNS,KC_TRNS,KC_FN5 ,KC_FN6 ,KC_TRNS,KC_FN7 ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_TRNS,KC_TRNS,KC_TRNS, KC_FN3, \ - KC_CAPS,KC_TRNS,KC_TRNS,KC_TRNS,KC_FN4 ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,\ + KC_SLEP,KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_NO, \ + KC_TRNS,KC_TRNS,AL_WWW ,AL_HELP ,KC_TRNS,AL_CMD ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_TRNS,KC_TRNS,KC_TRNS, KC_NO, \ + KC_CAPS,KC_TRNS,KC_TRNS,KC_TRNS,AL_FILE ,KC_TRNS,KC_TRNS,KC_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_MAIL,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,\ KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS \ ), }; -/* Give numbers some descriptive names */ -#define ACTION_LEDS_ALL 1 -#define ACTION_LEDS_GAME 2 - -const uint16_t fn_actions[] = { - [2] = ACTION_FUNCTION(ACTION_LEDS_ALL), - [3] = ACTION_FUNCTION(ACTION_LEDS_GAME), - - [4] = ACTION_USAGE_CONSUMER(0x1B4), - [5] = ACTION_USAGE_CONSUMER(0x196), - [6] = ACTION_USAGE_CONSUMER(0x1A6), - [7] = ACTION_USAGE_CONSUMER(0x1A0), - -}; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case AL_FILE: + if (record->event.pressed) { + host_consumer_send(0x1B4); // AL File Browser + } else { + host_consumer_send(0); + } + return false; + case AL_WWW: + if (record->event.pressed) { + host_consumer_send(0x196); // AL Internet Browser + } else { + host_consumer_send(0); + } + return false; + case AL_HELP: + if (record->event.pressed) { + host_consumer_send(0x1A6); // AL Integrated Help Center + } else { + host_consumer_send(0); + } + return false; + case AL_CMD: + if (record->event.pressed) { + host_consumer_send(0x1A0); // AL Command Line Processor/Run + } else { + host_consumer_send(0); + } + return false; + } + return true; +} -- cgit v1.2.3