From 1ed03f498fa204178c2696c510ac6a2cd8524e2d Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 26 Nov 2023 18:36:45 +0000 Subject: Remove userspace keymaps (#22544) --- users/edvorakjp/edvorakjp.c | 22 -------- users/edvorakjp/edvorakjp.h | 90 ------------------------------ users/edvorakjp/edvorakjp_process_record.c | 89 ----------------------------- users/edvorakjp/edvorakjp_status.c | 56 ------------------- users/edvorakjp/edvorakjp_tap_dance.c | 78 -------------------------- users/edvorakjp/readme.md | 67 ---------------------- users/edvorakjp/rules.mk | 7 --- 7 files changed, 409 deletions(-) delete mode 100644 users/edvorakjp/edvorakjp.c delete mode 100644 users/edvorakjp/edvorakjp.h delete mode 100644 users/edvorakjp/edvorakjp_process_record.c delete mode 100644 users/edvorakjp/edvorakjp_status.c delete mode 100644 users/edvorakjp/edvorakjp_tap_dance.c delete mode 100644 users/edvorakjp/readme.md delete mode 100644 users/edvorakjp/rules.mk (limited to 'users/edvorakjp') diff --git a/users/edvorakjp/edvorakjp.c b/users/edvorakjp/edvorakjp.c deleted file mode 100644 index 3d3b5b0ae5..0000000000 --- a/users/edvorakjp/edvorakjp.c +++ /dev/null @@ -1,22 +0,0 @@ -#include "edvorakjp.h" - -void matrix_init_user(void) { - edvorakjp_status_init(); - matrix_init_keymap(); -} - -__attribute__((weak)) void matrix_init_keymap(void) {} - -layer_state_t layer_state_set_user(layer_state_t state) { - state = update_tri_layer_state(state, L_EDVORAKJP_LOWER, L_EDVORAKJP_RAISE, L_EDVORAKJP_ADJUST); - return layer_state_set_keymap(state); -} - -__attribute__((weak)) layer_state_t layer_state_set_keymap(layer_state_t state) { return state; } - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - bool process_record_user_result = process_record_keymap(keycode, record) && process_record_edvorakjp_swap_scln(keycode, record) && process_record_edvorakjp_config(keycode, record) && process_record_layer(keycode, record) && process_record_ime(keycode, record); - return process_record_user_result; -} - -__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; } diff --git a/users/edvorakjp/edvorakjp.h b/users/edvorakjp/edvorakjp.h deleted file mode 100644 index e3a94ca6a7..0000000000 --- a/users/edvorakjp/edvorakjp.h +++ /dev/null @@ -1,90 +0,0 @@ -#pragma once - -#include "quantum.h" -#include "action_layer.h" - -#define EECONFIG_EDVORAK (uint8_t *)20 - -// clang-format off -#define __EDVORAKJP_BASE_L1__ KC_QUOTE, KC_COMMA, KC_DOT, KC_Y, KC_Q -#define __EDVORAKJP_BASE_L2__ KC_A, LALT_T(KC_O), LGUI_T(KC_E), LCTL_T(KC_I), KC_U -#define __EDVORAKJP_BASE_L3__ KC_SCLN, KC_X, KC_C, KC_V, KC_Z - -#define __EDVORAKJP_BASE_R1__ KC_F, KC_G, KC_R, KC_W, KC_P -#define __EDVORAKJP_BASE_R2__ KC_D, RSFT_T(KC_T), RGUI_T(KC_N), RALT_T(KC_S), KC_M -#define __EDVORAKJP_BASE_R3__ KC_H, KC_J, KC_K, KC_L, KC_B - -#define __EDVORAKJP_NUMBER_L__ KC_1, LALT_T(KC_2), LGUI_T(KC_3), LCTL_T(KC_4), KC_5 -#define __EDVORAKJP_NUMBER_R__ KC_6, RSFT_T(KC_7), RGUI_T(KC_8), RALT_T(KC_9), KC_0 - -#define __EDVORAKJP_FUNCTION_L__ KC_F1, KC_F2, LALT_T(KC_F3), LGUI_T(KC_F4), LCTL_T(KC_F5), KC_F6 -#define __EDVORAKJP_FUNCTION_R__ KC_F7, RSFT_T(KC_F8), RGUI_T(KC_F9), RALT_T(KC_F10), KC_F11, KC_F12 - -#define __EDVORAKJP_SYMBOL_L__ KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR -#define __EDVORAKJP_SYMBOL_R__ KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK - -#define __EDVORAKJP_BRACKET_L__ KC_LEFT_CURLY_BRACE, KC_LBRC, KC_LEFT_PAREN -#define __EDVORAKJP_BRACKET_R__ KC_RIGHT_PAREN, KC_RBRC, KC_RIGHT_CURLY_BRACE - -#define __EDVORAKJP_PAGE__ KC_HOME, KC_PGDN, KC_PGUP, KC_END -#define __EDVORAKJP_CURSOR__ KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT - -#define LA_TAB LALT_T(KC_TAB) -#define LS_SPC LSFT_T(KC_SPACE) -#define RC_BSPC RCTL_T(KC_BACKSPACE) -#define RC_DEL RCTL_T(KC_DELETE) -#define RG_ENT RGUI_T(KC_ENTER) - -#define LOWER_TD TD(TD_EDVORAKJP_LOWER) -#define RAISE_TD TD(TD_EDVORAKJP_RAISE) -// clang-format on - -extern keymap_config_t keymap_config; - -enum edvorakjp_layers { - L_EDVORAKJP_BASE = 0, - L_EDVORAKJP_LOWER, - L_EDVORAKJP_RAISE, - L_EDVORAKJP_ADJUST, - L_EDVORAKJP_EXTRA, -}; - -enum edvorakjp_keycodes { - KC_EDVORAKJP_LOWER = SAFE_RANGE, - KC_EDVORAKJP_RAISE, - KC_MAC, - KC_WIN, - KC_JPN, - KC_ENG, - NEW_SAFE_RANGE, -}; - -enum tap_dance_code { - TD_EDVORAKJP_LOWER = 0, - TD_EDVORAKJP_RAISE, -}; - -// base -void matrix_init_user(void); -void matrix_init_keymap(void); -layer_state_t layer_state_set_user(layer_state_t state); -layer_state_t layer_state_set_keymap(layer_state_t state); -bool process_record_user(uint16_t keycode, keyrecord_t *record); -bool process_record_keymap(uint16_t keycode, keyrecord_t *record); - -// status -void edvorakjp_status_init(void); -bool get_enable_kc_lang(void); -void set_enable_kc_lang(bool new_state); -bool get_japanese_mode(void); -void set_japanese_mode(bool new_state); - -/* - * Each process_record_* methods defined here are - * return false if processed, or return true if not processed. - * You can add your original macros in process_record_keymap() in keymap.c. - */ -bool process_record_edvorakjp_swap_scln(uint16_t keycode, keyrecord_t *record); -bool process_record_edvorakjp_config(uint16_t keycode, keyrecord_t *record); -bool process_record_layer(uint16_t keycode, keyrecord_t *record); -bool process_record_ime(uint16_t keycode, keyrecord_t *record); diff --git a/users/edvorakjp/edvorakjp_process_record.c b/users/edvorakjp/edvorakjp_process_record.c deleted file mode 100644 index ac821c3935..0000000000 --- a/users/edvorakjp/edvorakjp_process_record.c +++ /dev/null @@ -1,89 +0,0 @@ -#include "edvorakjp.h" - -#if TAP_DANCE_ENABLE != yes -static uint16_t time_on_pressed; -#endif -/* - * Each process_record_* methods defined here are - * return false if handle edvorak_keycodes, or return true others. - */ -bool process_record_edvorakjp_swap_scln(uint16_t keycode, keyrecord_t *record) { -#ifdef SWAP_SCLN - static const uint8_t shift_bits = MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT); - static uint8_t last_mods_status; - if (keycode == KC_SCLN) { - if (record->event.pressed) { - last_mods_status = get_mods(); - - // invert shift_bits - if (last_mods_status & shift_bits) { - set_mods(last_mods_status & ~shift_bits); - } else { - set_mods(last_mods_status | MOD_BIT(KC_LSFT)); - } - } else { - set_mods(last_mods_status); - last_mods_status = 0; - } - } -#endif - return true; -} - -bool process_record_edvorakjp_config(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_MAC: - case KC_WIN: - if (record->event.pressed) { - set_enable_kc_lang(keycode == KC_MAC); - } - return false; - } - return true; -} - -bool process_record_layer(uint16_t keycode, keyrecord_t *record) { -#if TAP_DANCE_ENABLE != yes - switch (keycode) { - case KC_EDVORAKJP_LOWER: - if (record->event.pressed) { - layer_on(L_EDVORAKJP_LOWER); - time_on_pressed = record->event.time; - } else { - layer_off(L_EDVORAKJP_LOWER); - - if (TIMER_DIFF_16(record->event.time, time_on_pressed) < TAPPING_TERM) { - set_japanese_mode(false); - } - time_on_pressed = 0; - } - return false; - case KC_EDVORAKJP_RAISE: - if (record->event.pressed) { - layer_on(L_EDVORAKJP_RAISE); - time_on_pressed = record->event.time; - } else { - layer_off(L_EDVORAKJP_RAISE); - - if (TIMER_DIFF_16(record->event.time, time_on_pressed) < TAPPING_TERM) { - set_japanese_mode(true); - } - time_on_pressed = 0; - } - return false; - } -#endif - return true; -} - -bool process_record_ime(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case KC_JPN: - case KC_ENG: - if (record->event.pressed) { - set_japanese_mode(keycode == KC_JPN); - } - return false; - } - return true; -} diff --git a/users/edvorakjp/edvorakjp_status.c b/users/edvorakjp/edvorakjp_status.c deleted file mode 100644 index 851422ede5..0000000000 --- a/users/edvorakjp/edvorakjp_status.c +++ /dev/null @@ -1,56 +0,0 @@ -#include "eeprom.h" -#include "edvorakjp.h" - -typedef union { - uint8_t raw; - struct { - bool enable_kc_lang; // for macOS - }; -} edvorakjp_config_t; -static edvorakjp_config_t edvorakjp_config; - -typedef struct { - bool japanese_mode; -} edvorakjp_state_t; -static edvorakjp_state_t edvorakjp_state; - -/* - * private methods - */ -uint8_t eeconfig_read_edvorakjp(void) { return eeprom_read_byte(EECONFIG_EDVORAK); } - -void eeconfig_update_edvorakjp(uint8_t val) { eeprom_update_byte(EECONFIG_EDVORAK, val); } - -/* - * public methods - */ -void edvorakjp_status_init(void) { - edvorakjp_state.japanese_mode = false; - edvorakjp_config.raw = eeconfig_read_edvorakjp(); -} - -bool get_enable_kc_lang(void) { return edvorakjp_config.enable_kc_lang; } - -void set_enable_kc_lang(bool new_state) { - edvorakjp_config.enable_kc_lang = new_state; - eeconfig_update_edvorakjp(edvorakjp_config.raw); -} - -bool get_japanese_mode(void) { return edvorakjp_state.japanese_mode; } - -void set_japanese_mode(bool new_state) { - edvorakjp_state.japanese_mode = new_state; - if (edvorakjp_state.japanese_mode) { - if (edvorakjp_config.enable_kc_lang) { - SEND_STRING(SS_TAP(X_LNG1)); - } else { - SEND_STRING(SS_LALT("`")); - } - } else { - if (edvorakjp_config.enable_kc_lang) { - SEND_STRING(SS_TAP(X_LNG2)); - } else { - SEND_STRING(SS_LALT("`")); - } - } -} diff --git a/users/edvorakjp/edvorakjp_tap_dance.c b/users/edvorakjp/edvorakjp_tap_dance.c deleted file mode 100644 index d2c9f2b0e9..0000000000 --- a/users/edvorakjp/edvorakjp_tap_dance.c +++ /dev/null @@ -1,78 +0,0 @@ -#include "edvorakjp.h" -#include "process_keycode/process_tap_dance.h" - -enum tap_state { - NONE = 0, - SINGLE_TAP = 1, - DOUBLE_TAP = 2, - HOLD, -}; - -typedef struct { - uint8_t lower; - uint8_t raise; -} td_status_t; -static td_status_t td_status = {NONE, NONE}; - -uint8_t cur_dance(tap_dance_state_t *state) { - if (state->interrupted || !state->pressed) { - return state->count == 1 ? SINGLE_TAP : DOUBLE_TAP; - } else { - return HOLD; - } -} - -void td_lower_finished(tap_dance_state_t *state, void *user_data) { - td_status.lower = cur_dance(state); - switch (td_status.lower) { - case SINGLE_TAP: - set_japanese_mode(false); - break; - case DOUBLE_TAP: - set_japanese_mode(false); - register_code(KC_ESC); - break; - } - layer_on(L_EDVORAKJP_LOWER); -} - -void td_lower_reset(tap_dance_state_t *state, void *user_data) { - switch (td_status.lower) { - case DOUBLE_TAP: - unregister_code(KC_ESC); - break; - } - layer_off(L_EDVORAKJP_LOWER); - td_status.lower = NONE; -} - -void td_raise_finished(tap_dance_state_t *state, void *user_data) { - td_status.raise = cur_dance(state); - switch (td_status.raise) { - case DOUBLE_TAP: - // same as single - case SINGLE_TAP: - set_japanese_mode(true); - break; - } - layer_on(L_EDVORAKJP_RAISE); -} - -void td_raise_reset(tap_dance_state_t *state, void *user_data) { - layer_off(L_EDVORAKJP_RAISE); - td_status.raise = NONE; -} - -tap_dance_action_t tap_dance_actions[] = { - [TD_EDVORAKJP_LOWER] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_lower_finished, td_lower_reset), - [TD_EDVORAKJP_RAISE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_raise_finished, td_raise_reset), -}; - -uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case QK_TAP_DANCE ... QK_TAP_DANCE_MAX: - return 150; - default: - return TAPPING_TERM; - } -} diff --git a/users/edvorakjp/readme.md b/users/edvorakjp/readme.md deleted file mode 100644 index 679d84b3de..0000000000 --- a/users/edvorakjp/readme.md +++ /dev/null @@ -1,67 +0,0 @@ -# edvorakjp - -epaew's Enhanced Dvorak layout for Japanese Programmer - -## Layout overview -This is a sample. You can swap any symbol keys and modifier keys. - -- Basic layout (for ansi) -``` - //+----+----+----+----+----+----+----+----+----+----+----+----+----+---------+ - ` , ! , @ , # , $ , % , ^ , & , * , ( , ) , [ , ] , BSPC , - //+----+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+-------+ - TAB , ' , , , . , Y , Q , F , G , R , W , P , / , = , \ , - //+------++---++---++---++---++---++---++---++---++---++---++---++---+-------+ - CAPS , A , O , E , I , U , D , T , N , S , M , - , ENT , - //+-------+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-----------+ - LSFT , : , X , C , V , Z , H , J , K , L , B , RSFT , - //+------+--+---++----++---+----+----+----+----+-+--+---++----++------+------+ - LCTL , LGUI , LALT , SPACE , RALT , RGUI , MENU , RCTL - //+------+------+------+-------------------------+------+------+------+------+ -``` - - And you can see [my iris keyboard layout](../../keyboards/iris/keymaps/edvorakjp/keymap.c) for sample implementation, too. - -## for Japanese - -- 日本語入力用のキーを追加 - - IME 切り替えキー - - 長押しでレイヤー切り替え、短押しでIME切り替え - - macOS(かな/英数)、Windows(Alt+\`)の両方に対応 -- Define some custom keys for typing Japanese - - IME switching - - act as LOWER/RAISE when hold, act as IME switching when tapped - - for macOS(かな/英数), for Windows(Alt+\`) - -## for Programmer - -- Dvorak 配列をベースに、ショートカットでよく利用される XCV は QWERTY 配列の位置を維持 -- 一部にVimユーザ用のキー配置を実施 - - HJKL キーを横並びで配置 - - Shift押下時と非押下時で、";"キーの挙動を入れ替え - (`config.h` 内で `#define SWAP_SCLN` の宣言が必要です) -- デフォルトレイヤーには、数字キーの代わりに記号 `!@#$%^&*()` を配置 - -- mainly based on Dvorak layout, but XCV is available in the same position of QWERTY layout -- for Vim users - - HJKL is lining side by side - - swap the ";" key behavior. i.e. send ":" normally and send ";" when you hold shift. - (need `#define SWAP_SCLN` in your `config.h`) -- we can type `!@#$%^&*()` keys without shift keys in base layer - -## License - -Copyright 2018 Ryo Maeda epaew.333@gmail.com @epaew - -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 . diff --git a/users/edvorakjp/rules.mk b/users/edvorakjp/rules.mk deleted file mode 100644 index 587c3b8d2e..0000000000 --- a/users/edvorakjp/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -SRC += edvorakjp.c \ - edvorakjp_process_record.c \ - edvorakjp_status.c - -ifeq ($(TAP_DANCE_ENABLE), yes) -SRC += edvorakjp_tap_dance.c -endif -- cgit v1.2.3