From eb09c450de2886ce1811929dec8b42ada0227f04 Mon Sep 17 00:00:00 2001 From: Eric Tang Date: Fri, 22 Apr 2016 13:44:50 -0700 Subject: Fix typo (#276) --- quantum/keymap_common.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'quantum/keymap_common.h') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index ce87e4770e..0ede0296b9 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -213,7 +213,7 @@ extern const uint16_t fn_actions[]; #define GUI_T(kc) MT(0x8, kc) #define C_S_T(kc) MT(0x3, kc) // Control + Shift e.g. for gnome-terminal #define MEH_T(kc) MT(0x7, kc) // Meh is a less hyper version of the Hyper key -- doesn't include Win or Cmd, so just alt+shift+ctrl -#define LCAG_T(kc) MT(0xD, kc) // Left control alt and gui +#define LCAG_T(kc) MT(0xD, kc) // Left control alt and gui #define ALL_T(kc) MT(0xF, kc) // see http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/ // Dedicated keycode versions for Hyper and Meh, if you want to use them as standalone keys rather than mod-tap @@ -231,8 +231,8 @@ extern const uint16_t fn_actions[]; // For tri-layer void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3); -#define IS_LAYER_ON(layer) ((layer_state) & (1UL<<(layer))) -#define IS_LAYER_OFF(layer) ((!layer_state) & (1UL<<(layer))) +#define IS_LAYER_ON(layer) (layer_state & (1UL << (layer))) +#define IS_LAYER_OFF(layer) (~layer_state & (1UL << (layer))) #endif -- cgit v1.2.3 From 41b3e399b1d43db9574c6016951d92974b3d93e7 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Thu, 5 May 2016 21:50:51 -0400 Subject: adds keycode shortcuts for OSL and OSM --- quantum/keymap_common.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'quantum/keymap_common.h') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index 0ede0296b9..ae10bc78d6 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -205,6 +205,12 @@ extern const uint16_t fn_actions[]; // Toggle to layer - 256 layer max #define TG(layer) (layer | 0x5400) +// One-shot layer - 256 layer max +#define OSL(layer) (layer | 0x5500) + +// One-shot mod +#define OSM(layer) (layer | 0x5600) + // M-od, T-ap - 256 keycode max #define MT(mod, kc) (kc | 0x7000 | ((mod & 0xF) << 8)) #define CTL_T(kc) MT(0x1, kc) -- cgit v1.2.3 From 9bb368a5fb55e069aafb49007871a7045e6d964f Mon Sep 17 00:00:00 2001 From: Erez Zukerman Date: Thu, 5 May 2016 22:44:24 -0400 Subject: [Jack & Erez] Defines MOD_HYPR and MOD_MEH --- quantum/keymap_common.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'quantum/keymap_common.h') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index ae10bc78d6..ab80ea45c7 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -67,6 +67,9 @@ extern const uint16_t fn_actions[]; #define MEH(kc) kc | 0x0700 #define LCAG(kc) kc | 0x0D00 // Modifier Ctrl Alt and GUI +#define MOD_HYPR 0xf +#define MOD_MEH 0x7 + #define RCTL(kc) kc | 0x1100 #define RSFT(kc) kc | 0x1200 #define RALT(kc) kc | 0x1400 -- cgit v1.2.3 From 08f31424634d5b614b69e3bb965ab50bdccd6d01 Mon Sep 17 00:00:00 2001 From: Nathan Sharfi Date: Fri, 6 May 2016 05:40:02 -0700 Subject: Add KC_LABK and KC_RABK (< and >) --- quantum/keymap_common.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'quantum/keymap_common.h') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index 0ede0296b9..ffd8168f67 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -118,6 +118,12 @@ extern const uint16_t fn_actions[]; #define KC_RCBR LSFT(KC_RBRC) // } #define KC_RIGHT_CURLY_BRACE KC_RCBR +#define KC_LABK LSFT(KC_COMM) // < +#define KC_LEFT_ANGLE_BRACKET KC_LABK + +#define KC_RABK LSFT(KC_DOT) // > +#define KC_RIGHT_ANGLE_BRACKET KC_RABK + #define KC_COLN LSFT(KC_SCLN) // : #define KC_COLON KC_COLN -- cgit v1.2.3 From 3f02637f4dd765803671c2611191beb096d60b36 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Mon, 9 May 2016 13:17:15 -0400 Subject: Backlight Breathing for Planck and Atomic * Updated personal layouts * tweaked personal * Nightly - Audio Cleanup Refactored the LUTs. Abstracted some of the registers out of audio to use more functional names. Split audio into audio and audio_pwm. WIP * nightly - collapsed code * Added check for note playing to LEDs * Usability tweaks * TWEAE * nightly added extra kcs to keymap common * turned on Plank audio * Added backlight breathing to atomic * reverted accidental merge * adds backlight pulse to planck --- quantum/keymap_common.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'quantum/keymap_common.h') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index 8c27e90352..322fda498a 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -87,8 +87,11 @@ extern const uint16_t fn_actions[]; #define KC_EXCLAIM KC_EXLM #define KC_AT LSFT(KC_2) // @ + + #define KC_HASH LSFT(KC_3) // # + #define KC_DLR LSFT(KC_4) // $ #define KC_DOLLAR KC_DLR @@ -110,11 +113,13 @@ extern const uint16_t fn_actions[]; #define KC_RPRN LSFT(KC_0) // ) #define KC_RIGHT_PAREN KC_RPRN + #define KC_UNDS LSFT(KC_MINS) // _ #define KC_UNDERSCORE KC_UNDS #define KC_PLUS LSFT(KC_EQL) // + + #define KC_LCBR LSFT(KC_LBRC) // { #define KC_LEFT_CURLY_BRACE KC_LCBR @@ -132,6 +137,19 @@ extern const uint16_t fn_actions[]; #define KC_PIPE LSFT(KC_BSLS) // | +#define KC_LT LSFT(KC_COMM) // < + + +#define KC_GT LSFT(KC_DOT) // > + + +#define KC_QUES LSFT(KC_SLSH) // ? +#define KC_QUESTION KC_QUES + + +#define KC_DQT LSFT(KC_QUOT) // " +#define KC_DOUBLE_QUOTE KC_DQT + #define KC_DELT KC_DELETE // Del key (four letter code) // Alias for function layers than expand past FN31 -- cgit v1.2.3 From 1a8c0dd22d6a2255511d0db6a456315541b5815b Mon Sep 17 00:00:00 2001 From: Erez Zukerman Date: Sun, 15 May 2016 00:27:32 -0400 Subject: Leader key implementation (#326) * implements leader key for planck experimental * allows override of leader timeout * adds ability to use the leader key in seq * fixes leader keycode * adds chording prototype * fixes keycode detection * moves music mode to quantum.c * disables chording by default * updates process_action functions to return bool --- quantum/keymap_common.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'quantum/keymap_common.h') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index 322fda498a..2ad1ba6c60 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -159,7 +159,7 @@ extern const uint16_t fn_actions[]; #define S(kc) LSFT(kc) #define F(kc) FUNC(kc) -#define M(kc) kc | 0x3000 +#define M(kc) (kc | 0x3000) #define MACRODOWN(...) (record->event.pressed ? MACRO(__VA_ARGS__) : MACRO_NONE) @@ -191,6 +191,8 @@ extern const uint16_t fn_actions[]; #define RESET 0x5000 #define DEBUG 0x5001 +#define KC_LEAD 0x5014 + // MAGIC keycodes #define MAGIC_SWAP_CONTROL_CAPSLOCK 0x5002 -- cgit v1.2.3 From 15719f3574c6274ee0f3ec87431927c5a523aa3e Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Sun, 15 May 2016 00:40:59 -0400 Subject: adds a sequencer to the music mode (#330) * implements leader key for planck experimental * allows override of leader timeout * adds ability to use the leader key in seq * fixes leader keycode * adds chording prototype * fixes keycode detection * moves music mode to quantum.c * disables chording by default * adds music sequencer functionality * implements audio/music functions in quantum.c * Merge branch 'master' into process-record --- quantum/keymap_common.h | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'quantum/keymap_common.h') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index 2ad1ba6c60..4107d575be 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -191,8 +191,6 @@ extern const uint16_t fn_actions[]; #define RESET 0x5000 #define DEBUG 0x5001 -#define KC_LEAD 0x5014 - // MAGIC keycodes #define MAGIC_SWAP_CONTROL_CAPSLOCK 0x5002 @@ -217,6 +215,19 @@ extern const uint16_t fn_actions[]; #define AG_SWAP MAGIC_SWAP_ALT_GUI #define AG_NORM MAGIC_UNSWAP_ALT_GUI +#define KC_LEAD 0x5014 + +// Audio on/off +#define AU_ON 0x5020 +#define AU_OFF 0x5021 + +// Music mode on/off +#define MU_ON 0x5022 +#define MU_OFF 0x5023 + +// Music voice iterate +#define MUV_IN 0x5024 +#define MUV_DE 0x5025 // GOTO layer - 16 layers max // when: -- cgit v1.2.3 From bf5c2ccee5497523c214dae7aacdc27fdbb0f235 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Sun, 15 May 2016 00:47:25 -0400 Subject: splits process_action up to handle records separately (#329) * implements leader key for planck experimental * allows override of leader timeout * adds ability to use the leader key in seq * fixes leader keycode * adds chording prototype * fixes keycode detection * moves music mode to quantum.c * disables chording by default * adds music sequencer functionality * implements audio/music functions in quantum.c * splits up process_action to allow independent processing of actions * merging? --- quantum/keymap_common.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'quantum/keymap_common.h') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index 4107d575be..0074ab164d 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -191,6 +191,9 @@ extern const uint16_t fn_actions[]; #define RESET 0x5000 #define DEBUG 0x5001 +#define KC_LEAD 0x5014 + + // MAGIC keycodes #define MAGIC_SWAP_CONTROL_CAPSLOCK 0x5002 -- cgit v1.2.3 From fde477a927edc6b4207a6968d44aeed021e8b300 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Sun, 15 May 2016 00:51:06 -0400 Subject: updates midi functionality (#331) * implements leader key for planck experimental * allows override of leader timeout * adds ability to use the leader key in seq * fixes leader keycode * adds chording prototype * fixes keycode detection * moves music mode to quantum.c * disables chording by default * adds music sequencer functionality * implements audio/music functions in quantum.c * splits up process_action to allow independent processing of actions * moves midi stuff to quantum.c * adds additional scales for midi --- quantum/keymap_common.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'quantum/keymap_common.h') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index 0074ab164d..07020150ae 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -195,6 +195,7 @@ extern const uint16_t fn_actions[]; + // MAGIC keycodes #define MAGIC_SWAP_CONTROL_CAPSLOCK 0x5002 #define MAGIC_UNSWAP_CONTROL_CAPSLOCK 0x5003 @@ -232,6 +233,10 @@ extern const uint16_t fn_actions[]; #define MUV_IN 0x5024 #define MUV_DE 0x5025 +// Midi mode on/off +#define MI_ON 0x5026 +#define MI_OFF 0x5027 + // GOTO layer - 16 layers max // when: // ON_PRESS = 1 -- cgit v1.2.3 From 0428214b905e5f8b3bed721885957ce249ba4991 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Wed, 18 May 2016 23:14:00 -0400 Subject: adds music and audio toggles (#337) * Updated personal layouts * tweaked personal * Nightly - Audio Cleanup Refactored the LUTs. Abstracted some of the registers out of audio to use more functional names. Split audio into audio and audio_pwm. WIP * nightly - collapsed code * Added check for note playing to LEDs * Usability tweaks * TWEAE * nightly added extra kcs to keymap common * turned on Plank audio * Added backlight breathing to atomic * reverted accidental merge * Added music and audio toggles to Quantum.c * Redid the audio callbacks * music/audio_on_user --- quantum/keymap_common.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'quantum/keymap_common.h') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index 07020150ae..1cbe8c61c0 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -224,18 +224,20 @@ extern const uint16_t fn_actions[]; // Audio on/off #define AU_ON 0x5020 #define AU_OFF 0x5021 +#define AU_TOG 0x5022 // Music mode on/off -#define MU_ON 0x5022 -#define MU_OFF 0x5023 +#define MU_ON 0x5023 +#define MU_OFF 0x5024 +#define MU_TOG 0x5025 // Music voice iterate -#define MUV_IN 0x5024 -#define MUV_DE 0x5025 +#define MUV_IN 0x5026 +#define MUV_DE 0x5027 // Midi mode on/off -#define MI_ON 0x5026 -#define MI_OFF 0x5027 +#define MI_ON 0x5028 +#define MI_OFF 0x5029 // GOTO layer - 16 layers max // when: -- cgit v1.2.3 From b732b79b49b098dba8e14493c745075f336747d8 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Wed, 18 May 2016 23:47:16 -0400 Subject: adapts unicode to quantum.c (#333) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Unicode to have unicode input you need to: - set your OS input method to UNICODE if needed - enable unicode in your makefile - copy the action_function from keyboard/planck/keymaps/unicode/unicode.c to your keymap.c set the target OS method in your keymap.c: void matrix_init_user() { set_unicode_mode(UC_OSX); } you can then switch when you want with: set_unicode_mode(UC_OSX); set_unicode_mode(UC_LNX); set_unicode_mode(UC_WIN); put some unicode codes in your keymap like so: UC(0x0061) I did change the bit mask in quantum/keymap_common.c and .h I’m afraid we will need uint32 to get a total support for all unicode tables or relocate the handler as @mbarkhau did. * rearranges keycode values, hooks-up unicode * removes extra lalt ref * adds unicode shortcuts and example --- quantum/keymap_common.h | 76 +++++++++++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 37 deletions(-) (limited to 'quantum/keymap_common.h') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index 1cbe8c61c0..91d5c09c1c 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -163,38 +163,13 @@ extern const uint16_t fn_actions[]; #define MACRODOWN(...) (record->event.pressed ? MACRO(__VA_ARGS__) : MACRO_NONE) -// These affect the backlight (if your keyboard has one). -// We don't need to comment them out if your keyboard doesn't have a backlight, -// since they don't take up any space. -#define BL_ON 0x4009 -#define BL_OFF 0x4000 -#define BL_0 0x4000 -#define BL_1 0x4001 -#define BL_2 0x4002 -#define BL_3 0x4003 -#define BL_4 0x4004 -#define BL_5 0x4005 -#define BL_6 0x4006 -#define BL_7 0x4007 -#define BL_8 0x4008 -#define BL_9 0x4009 -#define BL_10 0x400A -#define BL_11 0x400B -#define BL_12 0x400C -#define BL_13 0x400D -#define BL_14 0x400E -#define BL_15 0x400F -#define BL_DEC 0x4010 -#define BL_INC 0x4011 -#define BL_TOGG 0x4012 -#define BL_STEP 0x4013 +// 0x3100+ is free + +// L-ayer, T-ap - 256 keycode max, 16 layer max +#define LT(layer, kc) (kc | 0x4000 | ((layer & 0xF) << 8)) #define RESET 0x5000 #define DEBUG 0x5001 -#define KC_LEAD 0x5014 - - - // MAGIC keycodes #define MAGIC_SWAP_CONTROL_CAPSLOCK 0x5002 @@ -239,6 +214,32 @@ extern const uint16_t fn_actions[]; #define MI_ON 0x5028 #define MI_OFF 0x5029 +// These affect the backlight (if your keyboard has one). +// We don't need to comment them out if your keyboard doesn't have a backlight, +// since they don't take up any space. +#define BL_ON 0x5079 +#define BL_OFF 0x5070 +#define BL_0 0x5070 +#define BL_1 0x5071 +#define BL_2 0x5072 +#define BL_3 0x5073 +#define BL_4 0x5074 +#define BL_5 0x5075 +#define BL_6 0x5076 +#define BL_7 0x5077 +#define BL_8 0x5078 +#define BL_9 0x5079 +#define BL_10 0x507A +#define BL_11 0x507B +#define BL_12 0x507C +#define BL_13 0x507D +#define BL_14 0x507E +#define BL_15 0x507F +#define BL_DEC 0x5080 +#define BL_INC 0x5081 +#define BL_TOGG 0x5082 +#define BL_STEP 0x5083 + // GOTO layer - 16 layers max // when: // ON_PRESS = 1 @@ -261,6 +262,8 @@ extern const uint16_t fn_actions[]; // One-shot mod #define OSM(layer) (layer | 0x5600) +// chording is currently at 0x57xx + // M-od, T-ap - 256 keycode max #define MT(mod, kc) (kc | 0x7000 | ((mod & 0xF) << 8)) #define CTL_T(kc) MT(0x1, kc) @@ -276,14 +279,13 @@ extern const uint16_t fn_actions[]; #define KC_HYPR HYPR(KC_NO) #define KC_MEH MEH(KC_NO) -// L-ayer, T-ap - 256 keycode max, 16 layer max -#define LT(layer, kc) (kc | 0x8000 | ((layer & 0xF) << 8)) - -// For sending unicode codes. -// You may not send codes over 1FFF -- this supports most of UTF8. -// To have a key that sends out Œ, go UC(0x0152) -#define UNICODE(n) (n | 0x8000) -#define UC(n) UNICODE(n) +#ifdef UNICODE_ENABLE + // For sending unicode codes. + // You may not send codes over 7FFF -- this supports most of UTF8. + // To have a key that sends out Œ, go UC(0x0152) + #define UNICODE(n) (n | 0x8000) + #define UC(n) UNICODE(n) +#endif // For tri-layer void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3); -- cgit v1.2.3 From 1237025963484d70bbe5185a790bec6544653ccc Mon Sep 17 00:00:00 2001 From: Erez Zukerman Date: Tue, 24 May 2016 23:27:59 -0400 Subject: [Erez & Jack] Packages Space Cadet shifts into keycodes --- quantum/keymap_common.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'quantum/keymap_common.h') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index 91d5c09c1c..fafc93f7cd 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -240,6 +240,8 @@ extern const uint16_t fn_actions[]; #define BL_TOGG 0x5082 #define BL_STEP 0x5083 +#define KC_LSPO 0x5084 // Left shift, open parens when tapped +#define KC_RSPC 0x5085 // Right shift, close parens when tapped // GOTO layer - 16 layers max // when: // ON_PRESS = 1 -- cgit v1.2.3 From 9d6debd9b23ffb045f63bc77dd44cafe2c7ce851 Mon Sep 17 00:00:00 2001 From: Nathan Sharfi Date: Wed, 25 May 2016 17:25:04 -0700 Subject: Add double quote for everyone; update Zweihander --- quantum/keymap_common.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'quantum/keymap_common.h') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index fafc93f7cd..db14e7d8ac 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -119,6 +119,8 @@ extern const uint16_t fn_actions[]; #define KC_PLUS LSFT(KC_EQL) // + +#define KC_DQUO LSFT(KC_QUOT) // " +#define KC_DOUBLE_QUOTE KC_DQUO #define KC_LCBR LSFT(KC_LBRC) // { #define KC_LEFT_CURLY_BRACE KC_LCBR -- cgit v1.2.3 From 209ee3cd052b22b4cc32aecbc4b03cb8fb229a23 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Thu, 26 May 2016 17:14:01 -0400 Subject: removes duplicate double quote and odd whitespace --- quantum/keymap_common.h | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'quantum/keymap_common.h') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h index db14e7d8ac..c72c0bc29d 100644 --- a/quantum/keymap_common.h +++ b/quantum/keymap_common.h @@ -88,10 +88,8 @@ extern const uint16_t fn_actions[]; #define KC_AT LSFT(KC_2) // @ - #define KC_HASH LSFT(KC_3) // # - #define KC_DLR LSFT(KC_4) // $ #define KC_DOLLAR KC_DLR @@ -113,15 +111,11 @@ extern const uint16_t fn_actions[]; #define KC_RPRN LSFT(KC_0) // ) #define KC_RIGHT_PAREN KC_RPRN - #define KC_UNDS LSFT(KC_MINS) // _ #define KC_UNDERSCORE KC_UNDS #define KC_PLUS LSFT(KC_EQL) // + -#define KC_DQUO LSFT(KC_QUOT) // " -#define KC_DOUBLE_QUOTE KC_DQUO - #define KC_LCBR LSFT(KC_LBRC) // { #define KC_LEFT_CURLY_BRACE KC_LCBR @@ -141,16 +135,14 @@ extern const uint16_t fn_actions[]; #define KC_LT LSFT(KC_COMM) // < - #define KC_GT LSFT(KC_DOT) // > - #define KC_QUES LSFT(KC_SLSH) // ? #define KC_QUESTION KC_QUES - #define KC_DQT LSFT(KC_QUOT) // " #define KC_DOUBLE_QUOTE KC_DQT +#define KC_DQUO KC_DQT #define KC_DELT KC_DELETE // Del key (four letter code) -- cgit v1.2.3 From db32864ce7029d758f57729cc2f75e051a28d0a2 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Sat, 18 Jun 2016 14:30:24 -0400 Subject: Cleans up quantum/keymap situation, removes extra lufa folders (#416) * sorts out keycodes * move midi around * remove mbed * replaces keymap with qmk/keymap_common * fixes keymap.h * keymap, config, quantum rearrange * removes unneeded lufa stuff --- quantum/keymap_common.h | 292 ------------------------------------------------ 1 file changed, 292 deletions(-) delete mode 100644 quantum/keymap_common.h (limited to 'quantum/keymap_common.h') diff --git a/quantum/keymap_common.h b/quantum/keymap_common.h deleted file mode 100644 index c72c0bc29d..0000000000 --- a/quantum/keymap_common.h +++ /dev/null @@ -1,292 +0,0 @@ -/* -Copyright 2012,2013 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 KEYMAP_H -#define KEYMAP_H - -#include -#include -#include "action.h" -#include -#include "keycode.h" -#include "keymap.h" -#include "action_macro.h" -#include "report.h" -#include "host.h" -// #include "print.h" -#include "debug.h" - -/* NOTE: Not portable. Bit field order depends on implementation */ -typedef union { - uint16_t raw; - struct { - bool swap_control_capslock:1; - bool capslock_to_control:1; - bool swap_lalt_lgui:1; - bool swap_ralt_rgui:1; - bool no_gui:1; - bool swap_grave_esc:1; - bool swap_backslash_backspace:1; - bool nkro:1; - }; -} keymap_config_t; - - -/* translates key to keycode */ -uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key); - -/* translates Fn keycode to action */ -action_t keymap_fn_to_action(uint16_t keycode); - -/* translates Fn keycode to action */ -action_t keymap_func_to_action(uint16_t keycode); - -extern const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS]; -extern const uint16_t fn_actions[]; - -// Ability to use mods in layouts -#define LCTL(kc) kc | 0x0100 -#define LSFT(kc) kc | 0x0200 -#define LALT(kc) kc | 0x0400 -#define LGUI(kc) kc | 0x0800 -#define HYPR(kc) kc | 0x0F00 -#define MEH(kc) kc | 0x0700 -#define LCAG(kc) kc | 0x0D00 // Modifier Ctrl Alt and GUI - -#define MOD_HYPR 0xf -#define MOD_MEH 0x7 - -#define RCTL(kc) kc | 0x1100 -#define RSFT(kc) kc | 0x1200 -#define RALT(kc) kc | 0x1400 -#define RGUI(kc) kc | 0x1800 - -// Aliases for shifted symbols -// Each key has a 4-letter code, and some have longer aliases too. -// While the long aliases are descriptive, the 4-letter codes -// make for nicer grid layouts (everything lines up), and are -// the preferred style for Quantum. -#define KC_TILD LSFT(KC_GRV) // ~ -#define KC_TILDE KC_TILD - -#define KC_EXLM LSFT(KC_1) // ! -#define KC_EXCLAIM KC_EXLM - -#define KC_AT LSFT(KC_2) // @ - -#define KC_HASH LSFT(KC_3) // # - -#define KC_DLR LSFT(KC_4) // $ -#define KC_DOLLAR KC_DLR - -#define KC_PERC LSFT(KC_5) // % -#define KC_PERCENT KC_PERC - -#define KC_CIRC LSFT(KC_6) // ^ -#define KC_CIRCUMFLEX KC_CIRC - -#define KC_AMPR LSFT(KC_7) // & -#define KC_AMPERSAND KC_AMPR - -#define KC_ASTR LSFT(KC_8) // * -#define KC_ASTERISK KC_ASTR - -#define KC_LPRN LSFT(KC_9) // ( -#define KC_LEFT_PAREN KC_LPRN - -#define KC_RPRN LSFT(KC_0) // ) -#define KC_RIGHT_PAREN KC_RPRN - -#define KC_UNDS LSFT(KC_MINS) // _ -#define KC_UNDERSCORE KC_UNDS - -#define KC_PLUS LSFT(KC_EQL) // + - -#define KC_LCBR LSFT(KC_LBRC) // { -#define KC_LEFT_CURLY_BRACE KC_LCBR - -#define KC_RCBR LSFT(KC_RBRC) // } -#define KC_RIGHT_CURLY_BRACE KC_RCBR - -#define KC_LABK LSFT(KC_COMM) // < -#define KC_LEFT_ANGLE_BRACKET KC_LABK - -#define KC_RABK LSFT(KC_DOT) // > -#define KC_RIGHT_ANGLE_BRACKET KC_RABK - -#define KC_COLN LSFT(KC_SCLN) // : -#define KC_COLON KC_COLN - -#define KC_PIPE LSFT(KC_BSLS) // | - -#define KC_LT LSFT(KC_COMM) // < - -#define KC_GT LSFT(KC_DOT) // > - -#define KC_QUES LSFT(KC_SLSH) // ? -#define KC_QUESTION KC_QUES - -#define KC_DQT LSFT(KC_QUOT) // " -#define KC_DOUBLE_QUOTE KC_DQT -#define KC_DQUO KC_DQT - -#define KC_DELT KC_DELETE // Del key (four letter code) - -// Alias for function layers than expand past FN31 -#define FUNC(kc) kc | 0x2000 - -// Aliases -#define S(kc) LSFT(kc) -#define F(kc) FUNC(kc) - -#define M(kc) (kc | 0x3000) - -#define MACRODOWN(...) (record->event.pressed ? MACRO(__VA_ARGS__) : MACRO_NONE) - -// 0x3100+ is free - -// L-ayer, T-ap - 256 keycode max, 16 layer max -#define LT(layer, kc) (kc | 0x4000 | ((layer & 0xF) << 8)) - -#define RESET 0x5000 -#define DEBUG 0x5001 - -// MAGIC keycodes -#define MAGIC_SWAP_CONTROL_CAPSLOCK 0x5002 -#define MAGIC_UNSWAP_CONTROL_CAPSLOCK 0x5003 -#define MAGIC_CAPSLOCK_TO_CONTROL 0x5004 -#define MAGIC_UNCAPSLOCK_TO_CONTROL 0x5005 -#define MAGIC_SWAP_LALT_LGUI 0x5006 -#define MAGIC_UNSWAP_LALT_LGUI 0x5007 -#define MAGIC_SWAP_RALT_RGUI 0x5008 -#define MAGIC_UNSWAP_RALT_RGUI 0x5009 -#define MAGIC_NO_GUI 0x500a -#define MAGIC_UNNO_GUI 0x500b -#define MAGIC_SWAP_GRAVE_ESC 0x500c -#define MAGIC_UNSWAP_GRAVE_ESC 0x500d -#define MAGIC_SWAP_BACKSLASH_BACKSPACE 0x500e -#define MAGIC_UNSWAP_BACKSLASH_BACKSPACE 0x500f -#define MAGIC_HOST_NKRO 0x5010 -#define MAGIC_UNHOST_NKRO 0x5011 -#define MAGIC_SWAP_ALT_GUI 0x5012 -#define MAGIC_UNSWAP_ALT_GUI 0x5013 - -#define AG_SWAP MAGIC_SWAP_ALT_GUI -#define AG_NORM MAGIC_UNSWAP_ALT_GUI - -#define KC_LEAD 0x5014 - -// Audio on/off -#define AU_ON 0x5020 -#define AU_OFF 0x5021 -#define AU_TOG 0x5022 - -// Music mode on/off -#define MU_ON 0x5023 -#define MU_OFF 0x5024 -#define MU_TOG 0x5025 - -// Music voice iterate -#define MUV_IN 0x5026 -#define MUV_DE 0x5027 - -// Midi mode on/off -#define MI_ON 0x5028 -#define MI_OFF 0x5029 - -// These affect the backlight (if your keyboard has one). -// We don't need to comment them out if your keyboard doesn't have a backlight, -// since they don't take up any space. -#define BL_ON 0x5079 -#define BL_OFF 0x5070 -#define BL_0 0x5070 -#define BL_1 0x5071 -#define BL_2 0x5072 -#define BL_3 0x5073 -#define BL_4 0x5074 -#define BL_5 0x5075 -#define BL_6 0x5076 -#define BL_7 0x5077 -#define BL_8 0x5078 -#define BL_9 0x5079 -#define BL_10 0x507A -#define BL_11 0x507B -#define BL_12 0x507C -#define BL_13 0x507D -#define BL_14 0x507E -#define BL_15 0x507F -#define BL_DEC 0x5080 -#define BL_INC 0x5081 -#define BL_TOGG 0x5082 -#define BL_STEP 0x5083 - -#define KC_LSPO 0x5084 // Left shift, open parens when tapped -#define KC_RSPC 0x5085 // Right shift, close parens when tapped -// GOTO layer - 16 layers max -// when: -// ON_PRESS = 1 -// ON_RELEASE = 2 -// Unless you have a good reason not to do so, prefer ON_PRESS (1) as your default. -#define TO(layer, when) (layer | 0x5100 | (when << 0x4)) - -// Momentary switch layer - 256 layer max -#define MO(layer) (layer | 0x5200) - -// Set default layer - 256 layer max -#define DF(layer) (layer | 0x5300) - -// Toggle to layer - 256 layer max -#define TG(layer) (layer | 0x5400) - -// One-shot layer - 256 layer max -#define OSL(layer) (layer | 0x5500) - -// One-shot mod -#define OSM(layer) (layer | 0x5600) - -// chording is currently at 0x57xx - -// M-od, T-ap - 256 keycode max -#define MT(mod, kc) (kc | 0x7000 | ((mod & 0xF) << 8)) -#define CTL_T(kc) MT(0x1, kc) -#define SFT_T(kc) MT(0x2, kc) -#define ALT_T(kc) MT(0x4, kc) -#define GUI_T(kc) MT(0x8, kc) -#define C_S_T(kc) MT(0x3, kc) // Control + Shift e.g. for gnome-terminal -#define MEH_T(kc) MT(0x7, kc) // Meh is a less hyper version of the Hyper key -- doesn't include Win or Cmd, so just alt+shift+ctrl -#define LCAG_T(kc) MT(0xD, kc) // Left control alt and gui -#define ALL_T(kc) MT(0xF, kc) // see http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/ - -// Dedicated keycode versions for Hyper and Meh, if you want to use them as standalone keys rather than mod-tap -#define KC_HYPR HYPR(KC_NO) -#define KC_MEH MEH(KC_NO) - -#ifdef UNICODE_ENABLE - // For sending unicode codes. - // You may not send codes over 7FFF -- this supports most of UTF8. - // To have a key that sends out Œ, go UC(0x0152) - #define UNICODE(n) (n | 0x8000) - #define UC(n) UNICODE(n) -#endif - -// For tri-layer -void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3); -#define IS_LAYER_ON(layer) (layer_state & (1UL << (layer))) -#define IS_LAYER_OFF(layer) (~layer_state & (1UL << (layer))) - - -#endif -- cgit v1.2.3