diff options
author | Konstantin Đorđević <vomindoraan@gmail.com> | 2021-09-19 20:47:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-19 11:47:40 -0700 |
commit | 4348e2ffc11533a384d0eea452c954e57fe7e44c (patch) | |
tree | 4e90b052f194f5b377c287bd71a62af973a44ef6 /users/konstantin | |
parent | e83fb69ae8a579648a6a73e00399d3d144e51f88 (diff) |
[Keymap] Updates to existing keymaps and userspace (#14503)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Diffstat (limited to 'users/konstantin')
-rw-r--r-- | users/konstantin/config.h | 18 | ||||
-rw-r--r-- | users/konstantin/konstantin.c | 86 | ||||
-rw-r--r-- | users/konstantin/konstantin.h | 42 | ||||
-rw-r--r-- | users/konstantin/post_config.h | 22 | ||||
-rw-r--r-- | users/konstantin/rgb.c | 16 | ||||
-rw-r--r-- | users/konstantin/rgb.h | 16 | ||||
-rw-r--r-- | users/konstantin/tap_dance.c | 16 | ||||
-rw-r--r-- | users/konstantin/tap_dance.h | 16 | ||||
-rw-r--r-- | users/konstantin/unicode.c | 16 | ||||
-rw-r--r-- | users/konstantin/unicode.h | 16 |
10 files changed, 216 insertions, 48 deletions
diff --git a/users/konstantin/config.h b/users/konstantin/config.h index 2629cdd570..d429452363 100644 --- a/users/konstantin/config.h +++ b/users/konstantin/config.h @@ -1,3 +1,19 @@ +/* Copyright 2019-2021 Konstantin Đorđević <vomindoraan@gmail.com> + * + * 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 <http://www.gnu.org/licenses/>. + */ + #pragma once // Keyboard reports @@ -24,7 +40,7 @@ // Tapping #define PERMISSIVE_HOLD #define TAPPING_TERM 200 -#define TAPPING_TOGGLE 3 +#define TAPPING_TOGGLE 2 // Unicode #define UNICODE_CYCLE_PERSIST false diff --git a/users/konstantin/konstantin.c b/users/konstantin/konstantin.c index 3fdf5a4ca9..5d80877f0e 100644 --- a/users/konstantin/konstantin.c +++ b/users/konstantin/konstantin.c @@ -1,3 +1,19 @@ +/* Copyright 2019-2021 Konstantin Đorđević <vomindoraan@gmail.com> + * + * 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 <http://www.gnu.org/licenses/>. + */ + #include "konstantin.h" __attribute__((weak)) @@ -22,6 +38,41 @@ void keyboard_post_init_user(void) { } __attribute__((weak)) +layer_state_t layer_state_set_keymap(layer_state_t state) { + return state; +} + +layer_state_t layer_state_set_user(layer_state_t state) { + state = layer_state_set_keymap(state); + +#ifdef LAYER_NUMPAD + bool numpad = IS_LAYER_ON_STATE(state, L_NUMPAD); + bool num_lock = IS_HOST_LED_ON(USB_LED_NUM_LOCK); + if (numpad != num_lock) { + tap_code(KC_NLCK); // Toggle Num Lock to match Numpad layer state + } +#endif + + return state; +} + +__attribute__((weak)) +void led_set_keymap(uint8_t usb_led) {} + +void led_set_user(uint8_t usb_led) { + led_set_keymap(usb_led); +} + +__attribute__((weak)) +bool led_update_keymap(led_t led_state) { + return true; +} + +bool led_update_user(led_t led_state) { + return led_update_keymap(led_state); +} + +__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; } @@ -91,38 +142,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } - -__attribute__((weak)) -uint32_t layer_state_set_keymap(uint32_t state) { - return state; -} - -layer_state_t layer_state_set_user(layer_state_t state) { - state = layer_state_set_keymap(state); - -#ifdef LAYER_NUMPAD - bool numpad = IS_LAYER_ON_STATE(state, L_NUMPAD); - bool num_lock = IS_HOST_LED_ON(USB_LED_NUM_LOCK); - if (numpad != num_lock) { - tap_code(KC_NLCK); // Toggle Num Lock to match Numpad layer state - } -#endif - - return state; -} - -__attribute__((weak)) -void led_set_keymap(uint8_t usb_led) {} - -void led_set_user(uint8_t usb_led) { - led_set_keymap(usb_led); -} - -__attribute__((weak)) -bool led_update_keymap(led_t led_state) { - return true; -} - -bool led_update_user(led_t led_state) { - return led_update_keymap(led_state); -} diff --git a/users/konstantin/konstantin.h b/users/konstantin/konstantin.h index 249b3fe15b..7da1dbfd21 100644 --- a/users/konstantin/konstantin.h +++ b/users/konstantin/konstantin.h @@ -1,3 +1,19 @@ +/* Copyright 2019-2021 Konstantin Đorđević <vomindoraan@gmail.com> + * + * 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 <http://www.gnu.org/licenses/>. + */ + #pragma once #include "quantum.h" @@ -56,14 +72,6 @@ set_mods(mods); \ } -enum keycodes_user { - CLEAR = SAFE_RANGE, - DST_P_R, - DST_N_A, - - RANGE_KEYMAP, -}; - enum layers_user { L_BASE, #ifdef LAYER_FN @@ -76,11 +84,21 @@ enum layers_user { LAYERS_KEYMAP, }; +enum keycodes_user { + CLEAR = SAFE_RANGE, + DST_P_R, + DST_N_A, + + RANGE_KEYMAP, +}; + void keyboard_pre_init_keymap(void); void eeconfig_init_keymap(void); void keyboard_post_init_keymap(void); -bool process_record_keymap(uint16_t keycode, keyrecord_t *record); -uint32_t layer_state_set_keymap(uint32_t state); -void led_set_keymap(uint8_t usb_led); -bool led_update_keymap(led_t led_state); +layer_state_t layer_state_set_keymap(layer_state_t state); + +void led_set_keymap(uint8_t usb_led); +bool led_update_keymap(led_t led_state); + +bool process_record_keymap(uint16_t keycode, keyrecord_t *record); diff --git a/users/konstantin/post_config.h b/users/konstantin/post_config.h new file mode 100644 index 0000000000..3199b2124f --- /dev/null +++ b/users/konstantin/post_config.h @@ -0,0 +1,22 @@ +/* Copyright 2021 Konstantin Đorđević <vomindoraan@gmail.com> + * + * 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 <http://www.gnu.org/licenses/>. + */ + +#pragma once + +// VIA +#ifndef DYNAMIC_KEYMAP_LAYER_COUNT + #define DYNAMIC_KEYMAP_LAYER_COUNT 3 +#endif diff --git a/users/konstantin/rgb.c b/users/konstantin/rgb.c index fffa250f25..2eeef829b0 100644 --- a/users/konstantin/rgb.c +++ b/users/konstantin/rgb.c @@ -1,3 +1,19 @@ +/* Copyright 2019-2021 Konstantin Đorđević <vomindoraan@gmail.com> + * + * 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 <http://www.gnu.org/licenses/>. + */ + #include "rgb.h" #ifdef RGBLIGHT_EFFECT_BREATHING diff --git a/users/konstantin/rgb.h b/users/konstantin/rgb.h index e09c5bd774..3425dcb069 100644 --- a/users/konstantin/rgb.h +++ b/users/konstantin/rgb.h @@ -1,3 +1,19 @@ +/* Copyright 2019-2021 Konstantin Đorđević <vomindoraan@gmail.com> + * + * 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 <http://www.gnu.org/licenses/>. + */ + #pragma once #include "quantum.h" diff --git a/users/konstantin/tap_dance.c b/users/konstantin/tap_dance.c index 4ec8caa63f..57a29d98b8 100644 --- a/users/konstantin/tap_dance.c +++ b/users/konstantin/tap_dance.c @@ -1,3 +1,19 @@ +/* Copyright 2019-2021 Konstantin Đorđević <vomindoraan@gmail.com> + * + * 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 <http://www.gnu.org/licenses/>. + */ + #include "tap_dance.h" #include "konstantin.h" diff --git a/users/konstantin/tap_dance.h b/users/konstantin/tap_dance.h index 56889a19ef..047662a8e9 100644 --- a/users/konstantin/tap_dance.h +++ b/users/konstantin/tap_dance.h @@ -1,3 +1,19 @@ +/* Copyright 2019-2021 Konstantin Đorđević <vomindoraan@gmail.com> + * + * 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 <http://www.gnu.org/licenses/>. + */ + #pragma once #include "quantum.h" diff --git a/users/konstantin/unicode.c b/users/konstantin/unicode.c index 8ef5aaa1ec..4eae716afd 100644 --- a/users/konstantin/unicode.c +++ b/users/konstantin/unicode.c @@ -1,3 +1,19 @@ +/* Copyright 2019-2021 Konstantin Đorđević <vomindoraan@gmail.com> + * + * 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 <http://www.gnu.org/licenses/>. + */ + #include "unicode.h" #ifdef UNICODEMAP_ENABLE diff --git a/users/konstantin/unicode.h b/users/konstantin/unicode.h index b2616d120b..1a1eb60894 100644 --- a/users/konstantin/unicode.h +++ b/users/konstantin/unicode.h @@ -1,3 +1,19 @@ +/* Copyright 2019-2021 Konstantin Đorđević <vomindoraan@gmail.com> + * + * 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 <http://www.gnu.org/licenses/>. + */ + #pragma once #include "quantum.h" |