f3ffd6ad50
* Refactor edvorakjp user library * add tap dance support * update keymaps * edvorakjp: add SWAP_SCLN option * fix behavior of SWAP_SCLN |
||
---|---|---|
.. | ||
edvorakjp_process_record.c | ||
edvorakjp_status.c | ||
edvorakjp_tap_dance.c | ||
edvorakjp.c | ||
edvorakjp.h | ||
readme.md | ||
rules.mk |
edvorakjp
epaew's Enhanced Dvorak layout for Japanese Programmer
Layout overview
This is a sample. You can swap any symbol keys and modifier keys.
- Base layer (for ansi layout)
//+----+----+----+----+----+----+----+----+----+----+----+----+----+---------+
` , ! , @ , # , $ , % , ^ , & , * , ( , ) , [ , ] , BSPC ,
//+----+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+-------+
TAB , ' , , , . , Y , P , F , G , R , W , Q , / , = , \ ,
//+------++---++---++---++---++---++---++---++---++---++---++---++---+-------+
CAPS , A , O , E , I , U , D , T , N , S , M , - , ENT ,
//+-------+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-----------+
LSFT , ; , X , C , V , Z , B , H , J , K , L , RSFT ,
//+------+--+---++----++---+----+----+----+----+-+--+---++----++------+------+
LCTL , LGUI , LALT , SPACE , RALT , RGUI , MENU , RCTL
//+------+------+------+-------------------------+------+------+------+------+
- Base layer (for iso layout)
- Two C keys are placed, it's on purpose.
//+----+----+----+----+----+----+----+----+----+----+----+----+----+---------+
` , ! , @ , # , $ , % , ^ , & , * , ( , ) , [ , ] , BSPC ,
//+----+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+-------+
TAB , ' , , , . , Y , P , F , G , R , W , C , / , = ,
//+------++---++---++---++---++---++---++---++---++---++---++---++---++
CAPS , A , O , E , I , U , D , T , N , S , M , ; , - , ENT ,
//+-------+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+------+
LSFT , Q , X , C , V , Z , B , H , J , K , L , \ , RSFT ,
//+------+--+---++----++---+----+----+----+----+-+--+---++----++---+--+------+
LCTL , LGUI , LALT , SPACE , RALT , RGUI , MENU , RCTL
//+------+------+------+-------------------------+------+------+------+------+
- Additional layer (common, blanks are transparent)
//+----+----+----+----+----+----+----+----+----+----+----+----+----+---------+
, , , , , , , , , , , , , ,
//+----+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+-------+
, AI , OU , EI , , , , , , , , , , ,
//+------++---++---++---++---++---++---++---++---++---++---++---++---+-------+
, A , O , E , I , U , , Y1 , N , Y2 , , , ,
//+-------+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-----------+
,ANN ,ONN ,ENN ,INN ,UNN , , , , , , ,
//+------+--+---++----++---+----+----+----+----+-+--+---++----++------+------+
, , , , , , ,
//+------+------+------+-------------------------+------+------+------+------+
And you can see my iris keyboard layout for sample implementation, too.
for Japanese
- 日本語入力用のキーを追加
- IME 切り替えキー
- 長押しでレイヤー切り替え、短押しでIME切り替え
- macOS(かな/英数)、Windows(Alt+`)の両方に対応
- DvorakJP(http://www7.plala.or.jp/dvorakjp/)を参考にした日本語入力用キーの導入
- 拗音入力用のYキーを追加配置
- 二重母音入力用のキー(AI, OU, EI)
- 撥音入力用のキー(ANN, ONN, ENN, INN, UNN)
- いずれかの子音を押下することで Additional layer が出現し、いずれかの母音を押下することで Base layer に戻ります(※1※2)
- ※1促音の入力に使うため、また連続で同じ指での打鍵を減らすために、
FGRDTNBHJ を押下した場合はy1が、それ以外の子音を押下した場合はy2が出現しません - ※2撥音の入力のため、nを2連打すると、Base layerに戻ります
- ※1促音の入力に使うため、また連続で同じ指での打鍵を減らすために、
- IME 切り替えキー
- 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+`)
- oneshot combination keys, inspired from DvorakJP (http://www7.plala.or.jp/dvorakjp/)
- additional Y key to enter a contracted sound
- diphthong keys (AI, OU, EI)
- syllabic nasal (ANN, ONN, ENN, INN, UNN)
- Additional layer is appeared when you taps any consonant keys, and disappeared when you taps any diphthong keys.
- IME switching
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 yourconfig.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/.