content: [metadata]
  name = "azik"
  description = "AZIK typing rule"
  
  #
  # 拡張ローマ字入力 ＡＺＩＫ 総合解説書に基づく http://hp.vector.co.jp/authors/VA002116/azik/azikinfo.htm#itiran
  # ただしl前置拗音をxx前置拗音に置き換え
  #
  # libskkではピリオド関連や連続子音字による'っ'など仕様由来不明の拡張がさらにほどこされているため、libskkのazikルールとは異なる。
  #
  
  [conversion]
  colon = ["", "ー"]
  semicolon = ["", "っ"]
  question = ["", "？"]
  bracketleft = ["", "「"]
  bracketright = ["", "」"]
  minus = ["", "ー"]
  q = ["", "ん"]
  # 清音
  "a" = ["", "あ"]
  "i" = ["", "い"]
  "u" = ["", "う"]
  "e" = ["", "え"]
  "o" = ["", "お"]
  "ka" = ["", "か"]
  "ki" = ["", "き"]
  "ku" = ["", "く"]
  "ke" = ["", "け"]
  "ko" = ["", "こ"]
  "sa" = ["", "さ"]
  "si" = ["", "し"]
  "su" = ["", "す"]
  "se" = ["", "せ"]
  "so" = ["", "そ"]
  "ta" = ["", "た"]
  "ti" = ["", "ち"]
  "tu" = ["", "つ"]
  "te" = ["", "て"]
  "to" = ["", "と"]
  "na" = ["", "な"]
  "ni" = ["", "に"]
  "nu" = ["", "ぬ"]
  "ne" = ["", "ね"]
  "no" = ["", "の"]
  "ha" = ["", "は"]
  "hi" = ["", "ひ"]
  "hu" = ["", "ふ"]
  "he" = ["", "へ"]
  "ho" = ["", "ほ"]
  "fu" = ["", "ふ"]
  "ma" = ["", "ま"]
  "mi" = ["", "み"]
  "m u" = ["", "む"]
  "me" = ["", "め"]
  "mo" = ["", "も"]
  "ya" = ["", "や"]
  "yu" = ["", "ゆ"]
  "yo" = ["", "よ"]
  "ra" = ["", "ら"]
  "ri" = ["", "り"]
  "ru" = ["", "る"]
  "re" = ["", "れ"]
  "ro" = ["", "ろ"]
  "wa" = ["", "わ"]
  "wo" = ["", "を"]
  # 撥音拡張
  "kz" = ["", "かん"]
  "kn" = ["", "かん"]
  "kk" = ["", "きん"]
  "kj" = ["", "くん"]
  "kd" = ["", "けん"]
  "kl" = ["", "こん"]
  "sz" = ["", "さん"]
  "sn" = ["", "さん"]
  "sk" = ["", "しん"]
  "sj" = ["", "すん"]
  "sd" = ["", "せん"]
  "sl" = ["", "そん"]
  "tz" = ["", "たん"]
  "tn" = ["", "たん"]
  "tk" = ["", "ちん"]
  "tj" = ["", "つん"]
  "td" = ["", "てん"]
  "tl" = ["", "とん"]
  "nz" = ["", "なん"]
  "nn" = ["", "ん"]
  "nk" = ["", "にん"]
  "nj" = ["", "ぬん"]
  "nd" = ["", "ねん"]
  "nl" = ["", "のん"]
  "hz" = ["", "はん"]
  "hn" = ["", "はん"]
  "hk" = ["", "ひん"]
  "hj" = ["", "ふん"]
  "hd" = ["", "へん"]
  "hl" = ["", "ほん"]
  "fz" = ["", "ふぁん"]
  "fn" = ["", "ふぁん"]
  "fk" = ["", "ふぃん"]
  "fj" = ["", "ふん"]
  "fd" = ["", "ふぇん"]
  "fl" = ["", "ふぉん"]
  "mz" = ["", "まん"]
  "mk" = ["", "みん"]
  "mj" = ["", "むん"]
  "md" = ["", "めん"]
  "ml" = ["", "もん"]
  "yz" = ["", "やん"]
  "yn" = ["", "やん"]
  "yj" = ["", "ゆん"]
  "yl" = ["", "よん"]
  "rz" = ["", "らん"]
  "rn" = ["", "らん"]
  "rk" = ["", "りん"]
  "rj" = ["", "るん"]
  "rd" = ["", "れん"]
  "rl" = ["", "ろん"]
  "wz" = ["", "わん"]
  "wn" = ["", "わん"]
  "wk" = ["", "うぃん"]
  "wd" = ["", "うぇん"]
  "wl" = ["", "うぉん"]
  # 二重母音拡張
  "kq" = ["", "かい"]
  "kh" = ["", "くう"]
  "kw" = ["", "けい"]
  "kp" = ["", "こう"]
  "sq" = ["", "さい"]
  "sh" = ["", "すう"]
  "sw" = ["", "せい"]
  "sp" = ["", "そう"]
  "tq" = ["", "たい"]
  "th" = ["", "つう"]
  "tw" = ["", "てい"]
  "tp" = ["", "とう"]
  "nq" = ["", "ない"]
  "nh" = ["", "ぬう"]
  "nw" = ["", "ねい"]
  "np" = ["", "のう"]
  "hq" = ["", "はい"]
  "hh" = ["", "ふう"]
  "hw" = ["", "へい"]
  "hp" = ["", "ほう"]
  "fq" = ["", "ふぁい"]
  "fh" = ["", "ふう"]
  "fw" = ["", "ふぇい"]
  "fp" = ["", "ふぉー"]
  "mq" = ["", "まい"]
  "mh" = ["", "むう"]
  "mw" = ["", "めい"]
  "mp" = ["", "もう"]
  "yq" = ["", "やい"]
  "yh" = ["", "ゆう"]
  "yp" = ["", "よう"]
  "rq" = ["", "らい"]
  "rh" = ["", "るう"]
  "rw" = ["", "れい"]
  "rp" = ["", "ろう"]
  "wq" = ["", "わい"]
  "wp" = ["", "うぉー"]
  # 濁音、半濁音
  "ga" = ["", "が"]
  "gi" = ["", "ぎ"]
  "gu" = ["", "ぐ"]
  "ge" = ["", "げ"]
  "go" = ["", "ご"]
  "gz" = ["", "がん"]
  "gn" = ["", "がん"]
  "gk" = ["", "ぎん"]
  "gj" = ["", "ぐん"]
  "gd" = ["", "げん"]
  "gl" = ["", "ごん"]
  "gq" = ["", "がい"]
  "gh" = ["", "ぐう"]
  "gw" = ["", "げい"]
  "gp" = ["", "ごう"]
  "za" = ["", "ざ"]
  "zi" = ["", "じ"]
  "zu" = ["", "ず"]
  "ze" = ["", "ぜ"]
  "zo" = ["", "ぞ"]
  "zz" = ["", "ざん"]
  "zn" = ["", "ざん"]
  "zk" = ["", "じん"]
  "zj" = ["", "ずん"]
  "zd" = ["", "ぜん"]
  "zl" = ["", "ぞん"]
  "zq" = ["", "ざい"]
  "zh" = ["", "ずう"]
  "zw" = ["", "ぜい"]
  "zp" = ["", "ぞう"]
  "da" = ["", "だ"]
  "di" = ["", "ぢ"]
  "du" = ["", "づ"]
  "de" = ["", "で"]
  "do" = ["", "ど"]
  "dz" = ["", "だん"]
  "dn" = ["", "だん"]
  "dk" = ["", "ぢん"]
  "dj" = ["", "づん"]
  "dd" = ["", "でん"]
  "dl" = ["", "どん"]
  "dq" = ["", "だい"]
  "dh" = ["", "づう"]
  "dw" = ["", "でい"]
  "dp" = ["", "どう"]
  "ba" = ["", "ば"]
  "bi" = ["", "び"]
  "bu" = ["", "ぶ"]
  "be" = ["", "べ"]
  "bo" = ["", "ぼ"]
  "bz" = ["", "ばん"]
  "bn" = ["", "ばん"]
  "bk" = ["", "びん"]
  "bj" = ["", "ぶん"]
  "bd" = ["", "べん"]
  "bl" = ["", "ぼん"]
  "bq" = ["", "ばい"]
  "bh" = ["", "ぶう"]
  "bw" = ["", "べい"]
  "bp" = ["", "ぼう"]
  "pa" = ["", "ぱ"]
  "pi" = ["", "ぴ"]
  "pu" = ["", "ぷ"]
  "pe" = ["", "ぺ"]
  "po" = ["", "ぽ"]
  "pz" = ["", "ぱん"]
  "pn" = ["", "ぱん"]
  "pk" = ["", "ぴん"]
  "pj" = ["", "ぷん"]
  "pd" = ["", "ぺん"]
  "pl" = ["", "ぽん"]
  "pq" = ["", "ぱい"]
  "ph" = ["", "ぷう"]
  "pw" = ["", "ぺい"]
  "pp" = ["", "ぽう"]
  # 拗音
  "kya" = ["", "きゃ"]
  "kyu" = ["", "きゅ"]
  "kye" = ["", "きぇ"]
  "kyo" = ["", "きょ"]
  "kyz" = ["", "きゃん"]
  "kyn" = ["", "きゃん"]
  "kyj" = ["", "きゅん"]
  "kyd" = ["", "きぇん"]
  "kyl" = ["", "きょん"]
  "kyq" = ["", "きゃい"]
  "kyh" = ["", "きゅう"]
  "kyw" = ["", "きぇい"]
  "kyp" = ["", "きょう"]
  "kga" = ["", "きゃ"]
  "kgu" = ["", "きゅ"]
  "kge" = ["", "きぇ"]
  "kgo" = ["", "きょ"]
  "kgz" = ["", "きゃん"]
  "kgn" = ["", "きゃん"]
  "kgj" = ["", "きゅん"]
  "kgd" = ["", "きぇん"]
  "kgl" = ["", "きょん"]
  "kgq" = ["", "きゃい"]
  "kgh" = ["", "きゅう"]
  "kgw" = ["", "きぇい"]
  "kgp" = ["", "きょう"]
  "sya" = ["", "しゃ"]
  "syu" = ["", "しゅ"]
  "sye" = ["", "しぇ"]
  "syo" = ["", "しょ"]
  "syz" = ["", "しゃん"]
  "syn" = ["", "しゃん"]
  "syj" = ["", "しゅん"]
  "syd" = ["", "しぇん"]
  "syl" = ["", "しょん"]
  "syq" = ["", "しゃい"]
  "syh" = ["", "しゅう"]
  "syw" = ["", "しぇい"]
  "syp" = ["", "しょう"]
  "xa" = ["", "しゃ"]
  "xu" = ["", "しゅ"]
  "xe" = ["", "しぇ"]
  "xo" = ["", "しょ"]
  "xz" = ["", "しゃん"]
  "xn" = ["", "しゃん"]
  "xj" = ["", "しゅん"]
  "xd" = ["", "しぇん"]
  "xl" = ["", "しょん"]
  "xq" = ["", "しゃい"]
  "xh" = ["", "しゅう"]
  "xw" = ["", "しぇい"]
  "xp" = ["", "しょう"]
  "tya" = ["", "ちゃ"]
  "tyu" = ["", "ちゅ"]
  "tye" = ["", "ちぇ"]
  "tyo" = ["", "ちょ"]
  "tyz" = ["", "ちゃん"]
  "tyn" = ["", "ちゃん"]
  "tyj" = ["", "ちゅん"]
  "tyd" = ["", "ちぇん"]
  "tyl" = ["", "ちょん"]
  "tyq" = ["", "ちゃい"]
  "tyh" = ["", "ちゅう"]
  "tyw" = ["", "ちぇい"]
  "typ" = ["", "ちょう"]
  "ca" = ["", "ちゃ"]
  "cu" = ["", "ちゅ"]
  "ce" = ["", "ちぇ"]
  "co" = ["", "ちょ"]
  "cz" = ["", "ちゃん"]
  "cn" = ["", "ちゃん"]
  "cj" = ["", "ちゅん"]
  "cd" = ["", "ちぇん"]
  "cl" = ["", "ちょん"]
  "cq" = ["", "ちゃい"]
  "ch" = ["", "ちゅう"]
  "cw" = ["", "ちぇい"]
  "cp" = ["", "ちょう"]
  "nya" = ["", "にゃ"]
  "nyu" = ["", "にゅ"]
  "nye" = ["", "にぇ"]
  "nyo" = ["", "にょ"]
  "nyz" = ["", "にゃん"]
  "nyn" = ["", "にゃん"]
  "nyj" = ["", "にゅん"]
  "nyd" = ["", "にぇん"]
  "nyl" = ["", "にょん"]
  "nyq" = ["", "にゃい"]
  "nyh" = ["", "にゅう"]
  "nyw" = ["", "にぇい"]
  "nyp" = ["", "にょう"]
  "nga" = ["", "にゃ"]
  "ngu" = ["", "にゅ"]
  "nge" = ["", "にぇ"]
  "ngo" = ["", "にょ"]
  "ngz" = ["", "にゃん"]
  "ngn" = ["", "にゃん"]
  "ngj" = ["", "にゅん"]
  "ngd" = ["", "にぇん"]
  "ngl" = ["", "にょん"]
  "ngq" = ["", "にゃい"]
  "ngh" = ["", "にゅう"]
  "ngw" = ["", "にぇい"]
  "ngp" = ["", "にょう"]
  "hya" = ["", "ひゃ"]
  "hyu" = ["", "ひゅ"]
  "hye" = ["", "ひぇ"]
  "hyo" = ["", "ひょ"]
  "hyz" = ["", "ひゃん"]
  "hyn" = ["", "ひゃん"]
  "hyj" = ["", "ひゅん"]
  "hyd" = ["", "ひぇん"]
  "hyl" = ["", "ひょん"]
  "hyq" = ["", "ひゃい"]
  "hyh" = ["", "ひゅう"]
  "hyw" = ["", "ひぇい"]
  "hyp" = ["", "ひょう"]
  "hga" = ["", "ひゃ"]
  "hgu" = ["", "ひゅ"]
  "hge" = ["", "ひぇ"]
  "hgo" = ["", "ひょ"]
  "hgz" = ["", "ひゃん"]
  "hgn" = ["", "ひゃん"]
  "hgj" = ["", "ひゅん"]
  "hgd" = ["", "ひぇん"]
  "hgl" = ["", "ひょん"]
  "hgq" = ["", "ひゃい"]
  "hgh" = ["", "ひゅう"]
  "hgw" = ["", "ひぇい"]
  "hgp" = ["", "ひょう"]
  "mya" = ["", "みゃ"]
  "myu" = ["", "みゅ"]
  "mye" = ["", "みぇ"]
  "myo" = ["", "みょ"]
  "myz" = ["", "みゃん"]
  "myn" = ["", "みゃん"]
  "myj" = ["", "みゅん"]
  "myd" = ["", "みぇん"]
  "myl" = ["", "みょん"]
  "myq" = ["", "みゃい"]
  "myh" = ["", "みゅう"]
  "myw" = ["", "みぇい"]
  "myp" = ["", "みょう"]
  "mga" = ["", "みゃ"]
  "mgu" = ["", "みゅ"]
  "mge" = ["", "みぇ"]
  "mgo" = ["", "みょ"]
  "mgz" = ["", "みゃん"]
  "mgn" = ["", "みゃん"]
  "mgj" = ["", "みゅん"]
  "mgd" = ["", "みぇん"]
  "mgl" = ["", "みょん"]
  "mgq" = ["", "みゃい"]
  "mgh" = ["", "みゅう"]
  "mgw" = ["", "みぇい"]
  "mgp" = ["", "みょう"]
  "rya" = ["", "りゃ"]
  "ryu" = ["", "りゅ"]
  "rye" = ["", "りぇ"]
  "ryo" = ["", "りょ"]
  "ryz" = ["", "りゃん"]
  "ryn" = ["", "りゃん"]
  "ryj" = ["", "りゅん"]
  "ryd" = ["", "りぇん"]
  "ryl" = ["", "りょん"]
  "ryq" = ["", "りゃい"]
  "ryh" = ["", "りゅう"]
  "ryw" = ["", "りぇい"]
  "ryp" = ["", "りょう"]
  # 拗音(濁音・半濁音)
  "gya" = ["", "ぎゃ"]
  "gyu" = ["", "ぎゅ"]
  "gye" = ["", "ぎぇ"]
  "gyo" = ["", "ぎょ"]
  "gyz" = ["", "ぎゃん"]
  "gyn" = ["", "ぎゃん"]
  "gyj" = ["", "ぎゅん"]
  "gyd" = ["", "ぎぇん"]
  "gyl" = ["", "ぎょん"]
  "gyq" = ["", "ぎゃい"]
  "gyh" = ["", "ぎゅう"]
  "gyw" = ["", "ぎぇい"]
  "gyp" = ["", "ぎょう"]
  "zya" = ["", "じゃ"]
  "zyu" = ["", "じゅ"]
  "zye" = ["", "じぇ"]
  "zyo" = ["", "じょ"]
  "zyz" = ["", "じゃん"]
  "zyn" = ["", "じゃん"]
  "zyj" = ["", "じゅん"]
  "zyd" = ["", "じぇん"]
  "zyl" = ["", "じょん"]
  "zyq" = ["", "じゃい"]
  "zyh" = ["", "じゅう"]
  "zyw" = ["", "じぇい"]
  "zyp" = ["", "じょう"]
  "ja" = ["", "じゃ"]
  "ju" = ["", "じゅ"]
  "je" = ["", "じぇ"]
  "jo" = ["", "じょ"]
  "jz" = ["", "じゃん"]
  "jn" = ["", "じゃん"]
  "jj" = ["", "じゅん"]
  "jd" = ["", "じぇん"]
  "jl" = ["", "じょん"]
  "jq" = ["", "じゃい"]
  "jh" = ["", "じゅう"]
  "jw" = ["", "じぇい"]
  "jp" = ["", "じょう"]
  "bya" = ["", "びゃ"]
  "byu" = ["", "びゅ"]
  "bye" = ["", "びぇ"]
  "byo" = ["", "ぴょ"]
  "byz" = ["", "びゃん"]
  "byn" = ["", "びゃん"]
  "byj" = ["", "びゅん"]
  "byd" = ["", "びぇん"]
  "byl" = ["", "びょん"]
  "byq" = ["", "びゃい"]
  "byh" = ["", "びゅう"]
  "byw" = ["", "びぇい"]
  "byp" = ["", "びょう"]
  "pya" = ["", "ぴゃ"]
  "pyu" = ["", "ぴゅ"]
  "pye" = ["", "ぴぇ"]
  "pyo" = ["", "ぴょ"]
  "pyz" = ["", "ぴゃん"]
  "pyn" = ["", "ぴゃん"]
  "pyj" = ["", "ぴゅん"]
  "pyd" = ["", "ぴぇん"]
  "pyl" = ["", "ぴょん"]
  "pyq" = ["", "ぴゃい"]
  "pyh" = ["", "ぴゅう"]
  "pyw" = ["", "ぴぇい"]
  "pyp" = ["", "ぴょう"]
  "pga" = ["", "ぴゃ"]
  "pgu" = ["", "ぴゅ"]
  "pge" = ["", "ぴぇ"]
  "pgo" = ["", "ぴょ"]
  "pgz" = ["", "ぴゃん"]
  "pgn" = ["", "ぴゃん"]
  "pgj" = ["", "ぴゅん"]
  "pgd" = ["", "ぴぇん"]
  "pgl" = ["", "ぴょん"]
  "pgq" = ["", "ぴゃい"]
  "pgh" = ["", "ぴゅう"]
  "pgw" = ["", "ぴぇい"]
  "pgp" = ["", "ぴょう"]
  # 拗音(外来語他)
  "fa" = ["", "ふぁ"]
  "fi" = ["", "ふぃ"]
  "fe" = ["", "ふぇ"]
  "fo" = ["", "ふぉ"]
  "va" = ["", "ゔぁ"]
  "vi" = ["", "ゔぃ"]
  "vu" = ["", "ゔ"]
  "ve" = ["", "ゔぇ"]
  "vo" = ["", "ゔぉ"]
  "vz" = ["", "ゔぁん"]
  "vn" = ["", "ゔぁん"]
  "vj" = ["", "ゔん"]
  "vd" = ["", "ゔぇん"]
  "vl" = ["", "ゔぉん"]
  "vq" = ["", "ゔぁい"]
  "vh" = ["", "ゔう"]
  "vw" = ["", "ゔぇい"]
  "vp" = ["", "ゔぉう"]
  "tgi" = ["", "てぃ"]
  "tgu" = ["", "とぅ"]
  "tgj" = ["", "とぅん"]
  "tgh" = ["", "とぅう"]
  "dci" = ["", "でぃ"]
  "dcu" = ["", "どぅ"]
  "dcj" = ["", "どぅん"]
  "dch" = ["", "どぅう"]
  "wso" = ["", "うぉ"]
  "wsl" = ["", "うぉん"]
  "wsp" = ["", "うぉう"]
  # L前置拗音
  #"la" = ["","ぁ"]
  #"li" = ["","ぃ"]
  #"lu" = ["","ぅ"]
  #"le" = ["","ぇ"]
  #"lo" = ["","ぉ"]
  #"lya" = ["","ゃ"]
  #"lyu" = ["","ゅ"]
  #"lyo" = ["","ょ"]
  # xx前置拗音に置き換える
  "xxa" = ["", "ぁ"]
  "xxi" = ["", "ぃ"]
  "xxu" = ["", "ぅ"]
  "xxe" = ["", "ぇ"]
  "xxo" = ["", "ぉ"]
  "xxya" = ["", "ゃ"]
  "xxyu" = ["", "ゅ"]
  "xxyo" = ["", "ょ"]
  "xxwa" = ["", "ゎ"]
  # 同指打鍵互換
  "kf" = ["", "き"]
  "jf" = ["", "じゅ"]
  "hf" = ["", "ふ"]
  "yf" = ["", "ゆ"]
  "mf" = ["", "む"]
  "nf" = ["", "ぬ"]
  "df" = ["", "で"]
  "cf" = ["", "ちぇ"]
  "pf" = ["", "ぽん"]
  # 特殊
  "zc" = ["", "ざ"]
  "zv" = ["", "ざい"]
  "zx" = ["", "ぜい"]
  "kt" = ["", "こと"]
  "st" = ["", "した"]
  "tt" = ["", "たち"]
  "h t" = ["", "ひと"]
  "wt" = ["", "わた"]
  "mn" = ["", "もの"]
  "ms" = ["", "ます"]
  "ds" = ["", "です"]
  "km" = ["", "かも"]
  "tm" = ["", "ため"]
  "dm" = ["", "でも"]
  "kr" = ["", "から"]
  "sr" = ["", "する"]
  "tr" = ["", "たら"]
  "nr" = ["", "なる"]
  "yr" = ["", "よる"]
  "rr" = ["", "られ"]
  "zr" = ["", "ざる"]
  "mt" = ["", "また"]
  "tb" = ["", "たび"]
  "nb" = ["", "ねば"]
  "bt" = ["", "びと"]
  "gr" = ["", "がら"]
  "gt" = ["", "ごと"]
  "nt" = ["", "にち"]
  "dt" = ["", "だち"]
  "wr" = ["", "われ"]
  # 独自拡張
  "xxtu" = ["", "っ"]
  "tU" = ["", "っ"]
  
  
  [command]
  # Hiraganaモード時のコマンド
  [direct.hiragana]
  "l" = ["ForceKanaConvert(Hiragana)", "ChangeInputMode(Ascii)", "FlushPreviousCarryOver"]
  "L" = ["ForceKanaConvert(Hiragana)", "ChangeInputMode(Zenkaku)", "FlushPreviousCarryOver"]
  "C-at" = ["ForceKanaConvert(Hiragana)", "ChangeInputMode(HankakuKatakana)", "FlushPreviousCarryOver"]
  "at" = ["ForceKanaConvert(Hiragana)", "ChangeInputMode(Katakana)", "FlushPreviousCarryOver"]
  "braceleft" = ["ChangeCompositionMode(PreComposition)"]
  "C-j" = ["FinishKeyEvent"]
  "C-g" = ["Abort"]
  "C-G" = ["Abort"]
  "Return" = ["ConfirmDirect"]
  "C-m" = ["ConfirmDirect"]
  "BackSpace" = ["Delete"]
  "C-h" = ["Delete"]
  "C-H" = ["Delete"]
  "slash" = ["ChangeCompositionMode(Abbreviation)"]
  
  # Katakanaモード時のコマンド
  [direct.katakana]
  "l" = ["ForceKanaConvert(Katakana)", "ChangeInputMode(Ascii)", "FlushPreviousCarryOver"]
  "L" = ["ForceKanaConvert(Katakana)", "ChangeInputMode(Zenkaku)", "FlushPreviousCarryOver"]
  "C-at" = ["ForceKanaConvert(Katakana)", "ChangeInputMode(HankakuKatakana)", "FlushPreviousCarryOver"]
  "at" = ["ForceKanaConvert(Katakana)", "ChangeInputMode(Hiragana)", "FlushPreviousCarryOver"]
  "braceleft" = ["ChangeCompositionMode(PreComposition)"]
  "C-j" = ["FinishKeyEvent"]
  "C-g" = ["Abort"]
  "C-G" = ["Abort"]
  "Return" = ["ConfirmDirect"]
  "C-m" = ["ConfirmDirect"]
  "BackSpace" = ["Delete"]
  "C-h" = ["Delete"]
  "C-H" = ["Delete"]
  "slash" = ["ChangeCompositionMode(Abbreviation)"]
  
  # 半角カナ(JIS X 0201 カナ)モード時のコマンド
  [direct.hankakukatakana]
  "l" = ["ForceKanaConvert(HankakuKatakana)", "ChangeInputMode(Ascii)", "FlushPreviousCarryOver"]
  "L" = ["ForceKanaConvert(HankakuKatakana)", "ChangeInputMode(Zenkaku)", "FlushPreviousCarryOver"]
  "C-at" = ["ForceKanaConvert(HankakuKatakana)", "ChangeInputMode(Katakana)", "FlushPreviousCarryOver"]
  "at" = ["ForceKanaConvert(HankakuKatakana)", "ChangeInputMode(Hiragana)", "FlushPreviousCarryOver"]
  "braceleft" = ["ChangeCompositionMode(PreComposition)"]
  "C-j" = ["FinishKeyEvent"]
  "C-g" = ["Abort"]
  "C-G" = ["Abort"]
  "Return" = ["ConfirmDirect"]
  "C-m" = ["ConfirmDirect"]
  "BackSpace" = ["Delete"]
  "C-h" = ["Delete"]
  "C-H" = ["Delete"]
  "slash" = ["ChangeCompositionMode(Abbreviation)"]
  
  # 全角英数モード時のコマンド
  [direct.zenkaku]
  "C-g" = ["Abort"]
  "C-j" = ["ChangeInputMode(Hiragana)"]
  "Return" = ["ConfirmDirect"]
  "C-m" = ["ConfirmDirect"]
  "BackSpace" = ["Delete"]
  "C-h" = ["Delete"]
  "C-H" = ["Delete"]
  # asciiモードという名称はddskk由来。いわゆるlatinモードでのコマンド
  [direct.ascii]
  "C-g" = ["Abort"]
  "C-j" = ["ChangeInputMode(Hiragana)"]
  "Return" = ["ConfirmDirect"]
  "C-m" = ["ConfirmDirect"]
  "BackSpace" = ["Delete"]
  "C-h" = ["Delete"]
  "C-H" = ["Delete"]
  
  [pre_composition.hiragana]
  "space" = ["TryNextCandidate"]
  "at" = ["ForceKanaConvert(Katakana)", "ConfirmAs(Katakana)", "ChangeCompositionMode(Direct)"]
  "C-at" = ["ConfirmAs(HankakuKatakana)", "ChangeCompositionMode(Direct)"]
  "C-g" = ["ClearUnconfirmedInputs", "Abort"]
  "C-j" = ["ForceKanaConvert(Hiragana)", "ConfirmAs(Hiragana)", "ChangeCompositionMode(Direct)"]
  "BackSpace" = ["Delete"]
  "C-h" = ["Delete"]
  [pre_composition.katakana]
  "space" = ["TryNextCandidate"]
  "at" = ["ForceKanaConvert(Hiragana)", "ConfirmAs(Hiragana)", "ChangeCompositionMode(Direct)"]
  "C-at" = ["ConfirmAs(HankakuKatakana)", "ChangeCompositionMode(Direct)"]
  "C-g" = ["ClearUnconfirmedInputs", "Abort"]
  "C-j" = ["ForceKanaConvert(Katakana)", "ConfirmAs(Katakana)", "ChangeCompositionMode(Direct)"]
  "BackSpace" = ["Delete"]
  "C-h" = ["Delete"]
  [pre_composition.hankakukatakana]
  "space" = ["TryNextCandidate"]
  "at" = ["ForceKanaConvert(Hiragana)", "ConfirmAs(Hiragana)", "ChangeCompositionMode(Direct)"]
  "C-at" = ["ConfirmAs(Katakana)", "ChangeCompositionMode(Direct)"]
  "C-g" = ["ClearUnconfirmedInputs", "Abort"]
  "C-j" = ["ForceKanaConvert(HankakuKatakana)", "ConfirmAs(HankakuKatakana)", "ChangeCompositionMode(Direct)"]
  "BackSpace" = ["Delete"]
  "C-h" = ["Delete"]
  
  [pre_compisition_okurigana.hiragana]
  "space" = ["TryNextCandidate"]
  "at" = ["ForceKanaConvert(Katakana)", "ConfirmAs(Katakana)", "ChangeCompositionMode(Direct)"]
  "C-at" = ["ConfirmAs(HankakuKatakana)", "ChangeCompositionMode(Direct)"]
  "C-g" = ["ClearUnconfirmedInputs", "Abort"]
  "C-j" = ["ForceKanaConvert(Hiragana)", "ConfirmAs(Hiragana)", "ChangeCompositionMode(Direct)"]
  "BackSpace" = ["Delete"]
  "C-h" = ["Delete"]
  [pre_compisition_okurigana.katakana]
  "space" = ["TryNextCandidate"]
  "at" = ["ForceKanaConvert(Hiragana)", "ConfirmAs(Hiragana)", "ChangeCompositionMode(Direct)"]
  "C-at" = ["ConfirmAs(HankakuKatakana)", "ChangeCompositionMode(Direct)"]
  "C-g" = ["ClearUnconfirmedInputs", "Abort"]
  "C-j" = ["ForceKanaConvert(Katakana)", "ConfirmAs(Katakana)", "ChangeCompositionMode(Direct)"]
  "BackSpace" = ["Delete"]
  "C-h" = ["Delete"]
  [pre_compisition_okurigana.hankakukatakana]
  "space" = ["TryNextCandidate"]
  "at" = ["ForceKanaConvert(Hiragana)", "ConfirmAs(Hiragana)", "ChangeCompositionMode(Direct)"]
  "C-at" = ["ConfirmAs(Katakana)", "ChangeCompositionMode(Direct)"]
  "C-g" = ["ClearUnconfirmedInputs", "Abort"]
  "C-j" = ["ForceKanaConvert(HankakuKatakana)", "ConfirmAs(HankakuKatakana)", "ChangeCompositionMode(Direct)"]
  "BackSpace" = ["Delete"]
  "C-h" = ["Delete"]
  
  [abbreviation.hiragana]
  "space" = ["TryNextCandidate"]
  "BackSpace" = ["Delete"]
  "C-h" = ["Delete"]
  "C-j" = ["ConfirmAs(Ascii)", "ChangeCompositionMode(Direct)"]
  "C-q" = ["ConfirmAs(Zenkaku)", "ChangeCompositionMode(Direct)"]
  [abbreviation.katakana]
  "space" = ["TryNextCandidate"]
  "BackSpace" = ["Delete"]
  "C-h" = ["Delete"]
  "C-j" = ["ConfirmAs(Ascii)", "ChangeCompositionMode(Direct)"]
  "C-q" = ["ConfirmAs(Zenkaku)", "ChangeCompositionMode(Direct)"]
  [abbreviation.hankakukatakana]
  "space" = ["TryNextCandidate"]
  "BackSpace" = ["Delete"]
  "C-h" = ["Delete"]
  "C-j" = ["ConfirmAs(Ascii)", "ChangeCompositionMode(Direct)"]
  "C-q" = ["ConfirmAs(Zenkaku)", "ChangeCompositionMode(Direct)"]
  
  [composition_selection.hiragana]
  "Return" = ["ConfirmComposition"]
  "C-j" = ["ConfirmComposition"]
  "Escape" = ["Abort"]
  "C-g" = ["Abort"]
  "X" = ["Purge", "ChangeCompositionMode(Direct)"]
  "space" = ["TryNextCandidate"]
  "x" = ["TryPreviousCandidate"]
  "BackSpace" = ["ConfirmComposition", "Delete"]
  "C-h" = ["ConfirmComposition", "Delete"]
  "at" = ["ConfirmComposition", "ChangeInputMode(Katakana)"]
  "C-at" = ["ConfirmComposition", "ChangeInputMode(HankakuKatakana)"]
  "l" = ["ConfirmComposition", "ChangeInputMode(Ascii)"]
  "L" = ["ConfirmComposition", "ChangeInputMode(Zenkaku)"]
  [composition_selection.katakana]
  "Return" = ["ConfirmComposition"]
  "C-j" = ["ConfirmComposition"]
  "Escape" = ["Abort"]
  "C-g" = ["Abort"]
  "X" = ["Purge", "ChangeCompositionMode(Direct)"]
  "space" = ["TryNextCandidate"]
  "x" = ["TryPreviousCandidate"]
  "BackSpace" = ["ConfirmComposition", "Delete"]
  "C-h" = ["ConfirmComposition", "Delete"]
  "at" = ["ConfirmComposition", "ChangeInputMode(Hiragana)"]
  "C-at" = ["ConfirmComposition",  "ChangeInputMode(HankakuKatakana)"]
  "l" = ["ConfirmComposition", "ChangeInputMode(Ascii)"]
  "L" = ["ConfirmComposition", "ChangeInputMode(Zenkaku)"]
  [composition_selection.hankakukatakana]
  "Return" = ["ConfirmComposition"]
  "C-j" = ["ConfirmComposition"]
  "Escape" = ["Abort"]
  "C-g" = ["Abort"]
  "X" = ["Purge", "ChangeCompositionMode(Direct)"]
  "space" = ["TryNextCandidate"]
  "x" = ["TryPreviousCandidate"]
  "BackSpace" = ["ConfirmComposition",  "Delete"]
  "C-h" = ["ConfirmComposition",  "Delete"]
  "at" = ["ConfirmComposition", "ChangeInputMode(Hiragana)"]
  "C-at" = ["ConfirmComposition", "ChangeInputMode(Katakana)"]
  "l" = ["ConfirmComposition", "ChangeInputMode(Ascii)"]
  "L" = ["ConfirmComposition", "ChangeInputMode(Zenkaku)"]
  
  [completion.hiragana]
  "Return" = ["ConfirmComposition"]
  "C-j" = ["ConfirmComposition"]
  "Tab" = ["NextCandidatePointer"]
  "period" = ["NextCandidatePointer"]
  "(shift Tab)" = ["PreviousCandidatePointer"]
  "comma" = ["PreviousCandidatePointer"]
  "C-g" = ["Abort"]
  "Escape" = ["Abort"]
  "BackSpace" = ["ConfirmComposition", "Delete"]
  [completion.katakana]
  "Return" = ["ConfirmComposition"]
  "C-j" = ["ConfirmComposition"]
  "Tab" = ["NextCandidatePointer"]
  "period" = ["NextCandidatePointer"]
  "(shift Tab)" = ["PreviousCandidatePointer"]
  "comma" = ["PreviousCandidatePointer"]
  "C-g" = ["Abort"]
  "Escape" = ["Abort"]
  "BackSpace" = ["ConfirmComposition", "Delete"]
  [completion.hankakukatakana]
  "Return" = ["ConfirmComposition"]
  "C-j" = ["ConfirmComposition"]
  "Tab" = ["NextCandidatePointer"]
  "period" = ["NextCandidatePointer"]
  "(shift Tab)" = ["PreviousCandidatePointer"]
  "comma" = ["PreviousCandidatePointer"]
  "C-g" = ["Abort"]
  "Escape" = ["Abort"]
  "BackSpace" = ["ConfirmComposition", "Delete"]