summaryrefslogtreecommitdiff
path: root/users/edvorakjp
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2023-11-26 18:36:45 +0000
committerGitHub <noreply@github.com>2023-11-27 05:36:45 +1100
commit1ed03f498fa204178c2696c510ac6a2cd8524e2d (patch)
treeb97c1f983b7e4b57c007d0feedadd3ad3e39062b /users/edvorakjp
parent4908d4b1ca260efecf3613e6517aa3a6f2034876 (diff)
Remove userspace keymaps (#22544)
Diffstat (limited to 'users/edvorakjp')
-rw-r--r--users/edvorakjp/edvorakjp.c22
-rw-r--r--users/edvorakjp/edvorakjp.h90
-rw-r--r--users/edvorakjp/edvorakjp_process_record.c89
-rw-r--r--users/edvorakjp/edvorakjp_status.c56
-rw-r--r--users/edvorakjp/edvorakjp_tap_dance.c78
-rw-r--r--users/edvorakjp/readme.md67
-rw-r--r--users/edvorakjp/rules.mk7
7 files changed, 0 insertions, 409 deletions
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 <http://www.gnu.org/licenses/>.
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