azooKey Desktop for macOS has two independent keyboard settings:
- Keyboard Layout (
Config.KeyboardLayout) — Controls physical key → character mapping viaoverrideKeyboard(withKeyboardNamed:). Setting this to "Dvorak" tells the OS to interpret key positions as Dvorak. - Input Style (
Config.InputStyle) — Controls romaji → kana conversion table. The default table is QWERTY-based.
These two settings are not linked. Setting Keyboard Layout to Dvorak does NOT change the romaji table. This means ci still maps to し (sa-row) instead of き (ka-row), which is the expected behavior for Dvorak users.
In standard QWERTY romaji, C is an alias for some rows:
| Input | QWERTY Default | Dvorak Expected |
|---|---|---|
ca |
か | か (same) |
ci |
し | き |
ce |
せ | け |
cu |
く | く (same) |
co |
こ | こ (same) |
On a Dvorak layout, K is in an awkward left-hand lower-row position, making C (right-hand upper row) the natural choice for the entire ka-row. The QWERTY convention of ci → し and ce → せ doesn't make sense for Dvorak users.
azooKey supports custom input tables stored as TSV files at:
~/Library/Containers/dev.ensan.inputmethod.azooKeyMac/Data/Library/Application Support/azooKeyMac/CustomInputTable/custom_input_table.tsv
We merged the DvorakJP romaji table into the default azooKey romaji table.
- Input Style: Custom (カスタム)
- Keyboard Layout: Dvorak (or Dvorak - QWERTY ⌘)
The default defaultRoman2Kana table from AzooKeyKanaKanjiConverter.
ci → き (was し)
ce → け (was せ)
Dvorak places Y on the left hand, so DvorakJP uses N or H as alternatives for palatalized sounds:
| Row | N-substitute | Standard (also kept) |
|---|---|---|
| ka (C) | cna→きゃ cnu→きゅ cno→きょ |
kya kyu kyo |
| ka (K) | kha→きゃ khu→きゅ kho→きょ |
kya kyu kyo |
| sa | sh* (standard) |
sha shu sho |
| ta | tna→ちゃ tnu→ちゅ tno→ちょ |
tya tyu tyo |
| na | nha→にゃ nhu→にゅ nho→にょ |
nya nyu nyo |
| ha | hna→ひゃ hnu→ひゅ hno→ひょ |
hya hyu hyo |
| ma | mna→みゃ mnu→みゅ mno→みょ |
mya myu myo |
| ra | rha→りゃ rhu→りゅ rho→りょ |
rya ryu ryo |
| ga | gna→ぎゃ gnu→ぎゅ gno→ぎょ |
gya gyu gyo |
| za | zha→じゃ zhu→じゅ zho→じょ |
ja ju jo |
| da | dna→ぢゃ dnu→ぢゅ dno→ぢょ |
dya dyu dyo |
| ba | bna→びゃ bnu→びゅ bno→びょ |
bya byu byo |
| pa | pna/pha→ぴゃ pnu/phu→ぴゅ pno/pho→ぴょ |
pya pyu pyo |
Suffix keys for adding ん to a syllable:
| Suffix | Vowel | Example |
|---|---|---|
; |
あ段 | c; → かん |
j |
え段 | cj → けん |
k |
う段 | ck → くん |
x |
い段 | cx → きん |
q |
お段 | cq → こん |
Applies to all consonant rows (b, c, d, f, g, h, j, m, n, p, r, s, t, y, z).
| Suffix | Vowel pair | Example |
|---|---|---|
' |
〜い | c' → かい |
. |
〜えい | c. → けい |
, |
〜おう | c, → こう |
Applies to all consonant rows.
Arrow key shortcuts that conflicted with DvorakJP z-row extensions:
| Removed | Reason |
|---|---|
zh → ← |
Conflicts with zha→じゃ etc. |
zj → ↓ |
Conflicts with zj→ぜん |
zk → ↑ |
Conflicts with zk→ずん |
zl → → was kept (no conflict in DvorakJP).
| Removed | Reason |
|---|---|
n → ん |
azooKey uses greedy matching — n would immediately convert to ん, preventing ni→に, na→な, etc. The existing n{any character}→ん{any character} rule handles ん correctly. |
| Key | azooKey | DvorakJP | Reason kept |
|---|---|---|---|
shi |
し | しぃ | Standard し is correct |
va |
ゔぁ | ヴァ | Hiragana preference |
vi |
ゔぃ | ヴィ | Hiragana preference |
ve |
ゔぇ | ヴェ | Hiragana preference |
vo |
ゔぉ | ヴォ | Hiragana preference |
vu |
ゔ | ヴ | Hiragana preference |
tsa |
つぁ | つゃ | Standard つぁ |
tso |
つぉ | つょ | Standard つぉ |
lka |
ゕ | ヵ | Small kana preference |
xka |
ゕ | ヵ | Small kana preference |
lke |
ゖ | ヶ | Small kana preference |
xke |
ゖ | ヶ | Small kana preference |
| File | Path |
|---|---|
| Custom table | ~/Library/Containers/dev.ensan.inputmethod.azooKeyMac/Data/Library/Application Support/azooKeyMac/CustomInputTable/custom_input_table.tsv |
| Backup | Same directory, custom_input_table.tsv.bak |
- DvorakJP romaji table (GitHub)
- DvorakJP extended table (GitHub)
- azooKey Desktop (GitHub)
- AzooKeyKanaKanjiConverter (GitHub)
- Custom Input Table docs
- Total entries: ~600
- Base (azooKey default): 292
- DvorakJP additions: ~306
- Format: TSV (tab-separated, 2 columns) + 3 special rules