# 2006 Hiroyuki Ogasawara # http://hp.vector.co.jp/authors/VA004474/wince/wince.html # # キーマップ名称:濁点分離型連続2次元シフトかな配列(試作) # キーマップ制作:相沢かえで # http://d.hatena.ne.jp/maple_magician/ # ──────────── #  変態キー配列の1作目です。標準キーマップを見ていて思いつきました。 #  主に【超多段シフト方式日本語入力システム「風」】【中指シフト新JIS # 配列「月」】【JIS X 6004】の3つを参考にしました。 #  改行操作が出来ないので、そのままでは実用になりませんが……。 # #  この配列を弄る場合は、なるべく「初期キーマップとその両隣に高頻度文 # 字を並べる」ほうが、入力効率が上がります。 #  この考え方は、パソコンでの文字入力法である【中指シフト新JIS配列「月」】 # が既に実践していますので、そちらを参考にすると良いかもしれません。 # #  入力法はキーマップの冒頭に記述しましたので、そちらをご覧ください。 #  表現方法が特殊なので、固定幅フォントでご覧頂くことをお勧めします。 # ──────────── # # ctrlswapmini MultiShiftKanaTable.txt # # direct_Ctキーマップを「x4」に割り当てているので、 # Ctrlswapminiでは「拡張かな入力」に設定してください。 # ……じゃなかった、巧くいかず「x0」に割り当てているので、 # Ctrlswapminiでは「2タッチ(ポケベル入力)」に設定してください。 # # 以下の配列案(暫定仕様)をctrlswapmini用に定義してみました。 # http://d.hatena.ne.jp/maple_magician/20061013/1160666052 # # 英字入力については、標準的な「英字めくり入力」を使います。 # ------------------------------------------------------------------- # [1あ] 1./_@ # [2か] 2ABCabc # [2か]の後変換 abcABC # [3さ] 3DEFdef # [3さ]の後変換 defDEF # [4た] 4GHIghi # [4た]の後変換 ghiGHI # [5な] 5JKLjkl # [5な]の後変換 jklJKL # [6は] 6MNOmno # [6は]の後変換 mnoMNO # [7ま] 7PQRSpqrs # [7ま]の後変換 pqrsPQRS # [8や] 8TUVtuv # [8や]の後変換 tuvTUV # [9ら] 9WXYZwxyz # [9ら]の後変換 wxyzWXYZ # [0わ] かな入力に戻る # [*] 0空白$%+<=>[]^'{}| # [#] -&\;:"'()~?!., # # [*] 後変換キー。大文字小文字変換、変換可能文字がない場合は切替 # [#] 入力文字がある時はトグルの逆順送り # ------------------------------------------------------------------- # # かな入力については、「多面連続シフトかな配列」を使います。 # # 初期状態では「CCC」と書かれている鍵盤が選択されています。 # # |LLL| |CCC| |RRR|  ←キーマップ面の名前 # |───| |───| |───|   # |のき、| |いうん| |つせな|   # |くはに| |し゛か| |っをり|   # |こるょ| |たとて| |すけ。| # |L2CR| |LCR| |LCR2|  ←最下段はキーマップ移動キー。 # # |L2L2L2| |鍵盤例| |R2R2R2|  ←キーマップ面の名前 # |───| |───| |───|  # |さあち| |123| |もおほ| # |それゅ| |456| |えまめ| # |らふよ| |789| |ひみわ| # |L3CR| |*0#| |LCR3|  ←最下段はキーマップ移動キー。 # # |L3L3L3| |AlAlAl| |R3R3R3|  ←キーマップ面の名前 # |───| |───| |───|  # |や・へ| |英英英| |ゆ」「| # |゜ろね| |英英英| |ぃぬぇ| # |ーゃむ| |英英英| |ぁぉぅ| # |AlCR| |英C英| |LCAl|  ←最下段はキーマップ移動キー。 # # 「英」は、マルチタップによる英字めくり入力を行うための盤面です。 # # この配列は、Ctrlswapminiが持つ仕掛けを素直に用いつつ、 # 考え方・見方を変えるだけで風変わりな入力方法を実装できる # ことを示すためのサンプルに過ぎません。 # # 覚えやすさ・打ちやすさについては一切考慮していませんし、 # 文字の並べ替えを行う最適化計算をすれば確実に良くなる余地がある # という状態ですので、実用配列として使うにはお勧めしません。 # # この鍵盤配列は、「JIS X 6004」という規格を参考に作成しました。 # この定義は、2006年10月15日にWS003SHとWS007SHでチェックしました。 # #------------------------------------------------------------------------------ # symbol →標準定義のまま。 #------------------------------------------------------------------------------ ## ここではわかりやすいように数値に名前を定義しています # key defcode SPACE '\x20' defcode RETURN '\x0d' defcode ; '\xba' # VK_SEMICOLON [;:] = [;+れ] defcode ^ '\xbb' # VK_EQUAL [=+] = [^~へ] defcode , '\xbc' # VK_COMMA [,<] = [,<ね] defcode - '\xbd' # VK_HYPHEN [- ] = [-=ほ] defcode . '\xbe' # VK_PERIOD [.>] = [.>る] defcode / '\xbf' # VK_SLASH [/?] = [/?め] defcode @ '\xc0' # VK_BACKQUOTE [`~] = [@`゛] 濁点 defcode [ '\xdb' # VK_LBRACKET [[{] = [[{゜] 半濁点 defcode \ '\xdc' # VK_BACKSLASH [\|] = [\|ー] defcode ] '\xdd' # VK_RBRACKET []}] = []}む] defcode : '\xde' # VK_APOSTROPHE ['"] = [:*け] defcode _ '\xe2' # VK_OEM_102 [<>] = [ _ろ] defcode KANJI '\x19' defcode ZSPACE '\xe5' # VK_PROCESSKEY # VK defcode VK_BACK '\x08' defcode VK_TAB '\x09' defcode VK_RETURN '\x0d' defcode VK_SHIFT '\x10' defcode VK_CONTROL '\x11' defcode VK_KANA '\x15' defcode VK_KANJI '\x19' defcode VK_SPACE '\x20' defcode VK_PRIOR '\x21' defcode VK_NEXT '\x22' defcode VK_END '\x23' defcode VK_HOME '\x24' defcode VK_LEFT '\x25' defcode VK_UP '\x26' defcode VK_RIGHT '\x27' defcode VK_DOWN '\x28' defcode VK_LWIN '\x5b' defcode VK_RWIN '\x5c' defcode VK_APPS '\x5d' defcode VK_F1 '\x70' defcode VK_F2 '\x71' defcode VK_F3 '\x72' defcode VK_F4 '\x73' defcode VK_F5 '\x74' defcode VK_F6 '\x75' defcode VK_F7 '\x76' defcode VK_F8 '\x77' defcode VK_F9 '\x78' defcode VK_F10 '\x79' defcode VK_F11 '\x7a' defcode VK_F12 '\x7b' defcode VK_F13 '\x7c' defcode VK_F14 '\x7d' defcode VK_F15 '\x7e' defcode VK_F16 '\x7f' defcode VK_F17 '\x80' defcode VK_F18 '\x81' defcode VK_F19 '\x82' defcode VK_F20 '\x83' defcode VK_F21 '\x84' defcode VK_F22 '\x85' defcode VK_F23 '\x86' defcode VK_F24 '\x87' defcode VK_SEMICOLON '\xba' defcode VK_EQUAL '\xbb' defcode VK_COMMA '\xbc' defcode VK_HYPHEN '\xbd' defcode VK_PERIOD '\xbe' defcode VK_SLASH '\xbf' defcode VK_HANZEN '\xf3' defcode VK_TSOFT1 VK_F1 # soft key 1 defcode VK_TSOFT2 VK_F2 # soft key 2 defcode VK_TFLIP VK_F17 defcode VK_TPOWER VK_F18 defcode VK_TVOLUMEUP VK_F6 defcode VK_TVOLUMEDOWN VK_F7 # char attribute defcode ASCII '\x08' defcode KANA '\x01' defcode SHIFT '\x02' defcode DAKUTEN '\x10' defcode HANDAKUTEN '\x20' # command defcode MODECHANGE '\x1' defcode IME '\x2' defcode STATECLEAR '\x3' defcode KEYMAP '\x4' defcode CMD_CONVERT '\x5' defcode CMD_RCONVERT '\x6' defcode ROTATE '\x7' # raw defcode DOWN '\x1' defcode UP '\x2' # key function defcode nop '\x0' defcode bell '\x1' defcode toggle '\x2' defcode reverse '\x3' defcode convert '\x4' defcode rconvert '\x5' # keymap # defcode bell_normal '\x0' # defcode bell_small '\x1' # defcode niko_normal '\x2' # defcode niko_small '\x3' # defcode ext_kana '\x4' # defcode ext_alphabet '\x5' # defcode rotate_cur '\x6' # defcode rotate_num '\x7' # keymap defcode VKMAP_NOP '\x100' defcode VKMAP_T1 '\x101' defcode VKMAP_T2 '\x102' defcode VKMAP_T3 '\x103' defcode VKMAP_T4 '\x104' defcode VKMAP_T5 '\x105' defcode VKMAP_T6 '\x106' defcode VKMAP_T7 '\x107' defcode VKMAP_T8 '\x108' defcode VKMAP_T9 '\x109' defcode VKMAP_TSTAR '\x10a' # * defcode VKMAP_T0 '\x10b' defcode VKMAP_TPOUND '\x10c' # # defcode VKMAP_MOJI '\x110' defcode VKMAP_MODECHANGE '\x111' defcode VKMAP_NUMLOCK '\x112' defcode VKMAP_IME '\x113' defcode VKMAP_OK '\x114' defcode VKMAP_ROTATE0 '\x115' defcode VKMAP_ROTATE90 '\x116' defcode VKMAP_ROTATE180 '\x117' defcode VKMAP_ROTATE270 '\x118' defcode VKMAP_ROTATE '\x119' # (2006年10月15日2:49:40、上記#keymapを8行コメントアウトし書き換え) # (2006年10月15日16:12:43、上記定義をv018スタイルに更新、WS003SH/WS004SH対応) # keymap #defcode bell_normal '\x0' ← rename to flip_alphabet (ベル打ちでの初期値) #defcode bell_small '\x1' ← rename to direct_L3 #defcode niko_normal '\x2' ← rename to direct_L2 (ニコタッチでの初期値) #defcode niko_small '\x3' ← rename to direct_L1 #defcode ext_kana '\x4' ← rename to direct_Ct (拡張かなでの初期値) #defcode ext_alphabet '\x5' ← rename to direct_R1 #defcode rotate_cur '\x6' ← rename to direct_R2 #defcode rotate_num '\x7' ← rename to direct_R3 # defcode flip_alphabet '\x0' ←こうすると巧くいかないので変更。 defcode flip_alphabet '\x4' defcode direct_L3 '\x1' defcode direct_L2 '\x2' defcode direct_L1 '\x3' # defcode direct_Ct '\x4' ←こうすると巧くいかないので変更。 defcode direct_Ct '\x0' defcode direct_R1 '\x5' defcode direct_R2 '\x6' defcode direct_R3 '\x7' #------------------------------------------------------------------------------ # ex toggle kana →新JISかな頻度順の多面連続シフトかな配列化。 #------------------------------------------------------------------------------ ## ここからが拡張かな入力用の定義になります。 ## 各キー毎にトグル入力される文字を記述します。 ## char は[*]で変換される文字を表します。 Keymap direct_Ct Key toggle # [1] char KANA E # い Key toggle # [2] char KANA 4 # う Key toggle # [3] char KANA Y # ん Key toggle # [4] char KANA D # し Key toggle # [5] char KANA @ # 濁点 Key toggle # [6] char KANA T # か Key toggle # [7] char KANA Q # た Key toggle # [8] char KANA S # と Key toggle # [9] char KANA W # て Key toggle # [*] command KEYMAP direct_L1 # 切り替え Key toggle # [0] command KEYMAP direct_Ct # 切り替え Key toggle # [#] command KEYMAP direct_R1 # 切り替え Keymap direct_L1 Key toggle # [1] char KANA K # の Key toggle # [2] char KANA G # き Key toggle # [3] char KANA SHIFT , # 、 Key toggle # [4] char KANA H # く Key toggle # [5] char KANA F # は Key toggle # [6] char KANA I # に Key toggle # [7] char KANA B # こ Key toggle # [8] char KANA . # る Key toggle # [9] char KANA SHIFT 9 # ょ Key toggle # [*] command KEYMAP direct_L2 # 切り替え Key toggle # [0] command KEYMAP direct_Ct # 切り替え Key toggle # [#] command KEYMAP direct_R1 # 切り替え Keymap direct_R1 Key toggle # [1] char KANA Z # つ Key toggle # [2] char KANA P # せ Key toggle # [3] char KANA U # な Key toggle # [4] char KANA SHIFT Z # っ Key toggle # [5] char KANA SHIFT 0 # を Key toggle # [6] char KANA L # り Key toggle # [7] char KANA R # す Key toggle # [8] char KANA : # け Key toggle # [9] char KANA SHIFT . # 。 Key toggle # [*] command KEYMAP direct_L1 # 切り替え Key toggle # [0] command KEYMAP direct_Ct # 切り替え Key toggle # [#] command KEYMAP direct_R2 # 切り替え Keymap direct_L2 Key toggle # [1] char KANA X # さ Key toggle # [2] char KANA 3 # あ Key toggle # [3] char KANA A # ち Key toggle # [4] char KANA C # そ Key toggle # [5] char KANA ; # れ Key toggle # [6] char KANA SHIFT 8 # ゅ Key toggle # [7] char KANA O # ら Key toggle # [8] char KANA 2 # ふ Key toggle # [9] char KANA 9 # よ Key toggle # [*] command KEYMAP direct_L3 # 切り替え Key toggle # [0] command KEYMAP direct_Ct # 切り替え Key toggle # [#] command KEYMAP direct_R1 # 切り替え Keymap direct_R2 Key toggle # [1] char KANA M # も Key toggle # [2] char KANA 6 # お Key toggle # [3] char KANA - # ほ Key toggle # [4] char KANA 5 # え Key toggle # [5] char KANA J # ま Key toggle # [6] char KANA / # め Key toggle # [7] char KANA V # ひ Key toggle # [8] char KANA N # み Key toggle # [9] char KANA 0 # わ Key toggle # [*] command KEYMAP direct_L1 # 切り替え Key toggle # [0] command KEYMAP direct_Ct # 切り替え Key toggle # [#] command KEYMAP direct_R3 # 切り替え Keymap direct_L3 Key toggle # [1] char KANA 7 # や Key toggle # [2] char KANA SHIFT / # ・ 中点 Key toggle # [3] char KANA ^ # へ Key toggle # [4] char KANA [ # 半濁点 Key toggle # [5] char KANA _ # ろ Key toggle # [6] char KANA , # ね Key toggle # [7] char KANA \ # ー 伸ばし棒 Key toggle # [8] char KANA SHIFT 7 # ゃ Key toggle # [9] char KANA ] # む Key toggle # [*] command KEYMAP flip_alphabet # 切り替え Key toggle # [0] command KEYMAP direct_Ct # 切り替え Key toggle # [#] command KEYMAP direct_R1 # 切り替え Keymap direct_R3 Key toggle # [1] char KANA 8 # ゆ Key toggle # [2] char KANA SHIFT ] # [79] 」 Key toggle # [3] char KANA SHIFT [ # [76] 「 Key toggle # [4] char KANA SHIFT E # ぃ Key toggle # [5] char KANA 1 # ぬ Key toggle # [6] char KANA SHIFT 5 # ぇ Key toggle # [7] char KANA SHIFT 3 # ぁ Key toggle # [8] char KANA SHIFT 6 # ぉ Key toggle # [9] char KANA SHIFT 4 # ぅ Key toggle # [*] command KEYMAP direct_L1 # 切り替え Key toggle # [0] command KEYMAP direct_Ct # 切り替え Key toggle # [#] command KEYMAP flip_alphabet # 切り替え #------------------------------------------------------------------------------ # ex toggle alphabet →「0」の内容を「*」に移動、「0」はdirect_Ctへのジャンプ。 #------------------------------------------------------------------------------ Keymap flip_alphabet Key toggle # [1] char ASCII 1 # 1 char ASCII . # . char ASCII / # / char ASCII SHIFT _ # _ char ASCII @ # @ Key toggle # [2] char ASCII 2 # 2 char ASCII SHIFT A # A attach ASCII A # a char ASCII SHIFT B # B attach ASCII B # b char ASCII SHIFT C # C attach ASCII C # c char ASCII A # a attach ASCII SHIFT A # A char ASCII B # b attach ASCII SHIFT B # B char ASCII C # c attach ASCII SHIFT C # C Key toggle # [3] char ASCII 3 # 3 char ASCII SHIFT D # D attach ASCII D # d char ASCII SHIFT E # E attach ASCII E # e char ASCII SHIFT F # F attach ASCII F # f char ASCII D # d attach ASCII SHIFT D # D char ASCII E # e attach ASCII SHIFT E # E char ASCII F # f attach ASCII SHIFT F # F Key toggle # [4] char ASCII 4 # 4 char ASCII SHIFT G # G attach ASCII G # g char ASCII SHIFT H # H attach ASCII H # h char ASCII SHIFT I # I attach ASCII I # i char ASCII G # g attach ASCII SHIFT G # G char ASCII H # h attach ASCII SHIFT H # H char ASCII I # i attach ASCII SHIFT I # I Key toggle # [5] char ASCII 5 # 5 char ASCII SHIFT J # J attach ASCII J # j char ASCII SHIFT K # K attach ASCII K # k char ASCII SHIFT L # L attach ASCII L # l char ASCII J # j attach ASCII SHIFT J # J char ASCII K # k attach ASCII SHIFT K # K char ASCII L # l attach ASCII SHIFT L # L Key toggle # [6] char ASCII 6 # 6 char ASCII SHIFT M # M attach ASCII M # m char ASCII SHIFT N # N attach ASCII N # n char ASCII SHIFT O # O attach ASCII O # o char ASCII M # m attach ASCII SHIFT M # M char ASCII N # n attach ASCII SHIFT N # N char ASCII O # o attach ASCII SHIFT O # O Key toggle # [7] char ASCII 7 # 7 char ASCII SHIFT P # P attach ASCII P # p char ASCII SHIFT Q # Q attach ASCII Q # q char ASCII SHIFT R # R attach ASCII R # r char ASCII SHIFT S # S attach ASCII S # s char ASCII P # p attach ASCII SHIFT P # P char ASCII Q # q attach ASCII SHIFT Q # Q char ASCII R # r attach ASCII SHIFT R # R char ASCII S # s attach ASCII SHIFT S # S Key toggle # [8] char ASCII 8 # 8 char ASCII SHIFT T # T attach ASCII T # t char ASCII SHIFT U # U attach ASCII U # u char ASCII SHIFT V # V attach ASCII V # v char ASCII T # t attach ASCII SHIFT T # T char ASCII U # u attach ASCII SHIFT U # U char ASCII V # v attach ASCII SHIFT V # V Key toggle # [9] char ASCII 9 # 9 char ASCII SHIFT W # W attach ASCII W # w char ASCII SHIFT X # X attach ASCII X # x char ASCII SHIFT Y # Y attach ASCII Y # y char ASCII SHIFT Z # Z attach ASCII Z # z char ASCII W # w attach ASCII SHIFT W # W char ASCII X # x attach ASCII SHIFT X # X char ASCII Y # y attach ASCII SHIFT Y # Y char ASCII Z # z attach ASCII SHIFT Z # Z Key convert # [*] char ASCII 0 # 0 char ASCII SPACE # SPC char ASCII SHIFT 4 # $ char ASCII SHIFT 5 # % char ASCII SHIFT ; # + char ASCII SHIFT , # < char ASCII SHIFT - # = char ASCII SHIFT . # > char ASCII [ # [ char ASCII ] # ] char ASCII ^ # ^ char ASCII SHIFT 7 # ' char ASCII SHIFT [ # { char ASCII SHIFT ] # } char ASCII SHIFT \ # | Key toggle # [0] command KEYMAP direct_Ct # 切り替え Key reverse # [#] char ASCII - # - char ASCII SHIFT 6 # & char ASCII \ # \ char ASCII ; # ; char ASCII : # : char ASCII SHIFT 2 # " char ASCII SHIFT 7 # ' char ASCII SHIFT 8 # ( char ASCII SHIFT 9 # ) char ASCII SHIFT ^ # ~ char ASCII SHIFT / # ? char ASCII SHIFT 1 # ! char ASCII . # . char ASCII , # , ## convert や reverse は、toggle と同じように記述することで ## 文字入力キーとして併用することができます。 ## 変換文字がない場合に文字入力します。 ## toggle で action が 1つしかない場合は、 ## 1回押しただけで反応する直接入力キーとして機能します。