「かえで携帯配列(仮)」と「濁点分離かな配列」の動作チェックを完了。

(過去:ctrlswapmini用の定義、ヘッダのみを再編集。)
(過去:ctrlswapmini用の定義を書いてみた。)
(過去:「Kodama携帯配列」と「2.0打鍵方式かな入力案」。──打鍵数についての言及。)
(過去:「かえで携帯配列(仮称)」と「Kodama携帯配列」の運指範囲──打鍵範囲についての言及。)
(キーマップ頒布委託先:ctrlswapminiキーマップ集 - かえで氏作、オリジナル配列)



 とりあえず、「またATOKか!」という感じの不都合に悩んでいます。
 Ctrlswapmini経由で英字を入力すると「ローマ字になってしまう」ので、それを回避するためにCtrlswapminiでは「英字を打ち始める前に、かな未確定文字列を無変換のまま確定する」動作仕様を選択できるのですが、その絡みで次の条件の両立が出来なくなっています。

  • 「かえで携帯配列(仮)」のかな配列で「?!」のような文字列を未確定文字列に含める(後からまとめて変換する)、あるいは英字を未確定文字列に含める。
  • 英字をローマ字変換させない。

 ……そもそも「英字を突っ込むと、かならずローマ字変換してしまう」ATOKの仕様自体が奇怪なのかもしれず、このままいくとMS-IME専用配列になってしまいそうな予感がします……むむむ。
 よりにもよって「Shiftキー+英字キーで非ローマ字入力モードに移行、Shiftキー単独打鍵でローマ字入力モードに戻る」という例のモードがMobileATOKには存在していないらしく(MobileMS-IMEはPCのそれと同じく使える)、CapsLockを掛けてシフトとともに文字を押下すれば英字直接入力が使える……とかいう裏技(?)による逃げも効きません。
 ……ああ、でもMS-IMEでテンキーって使えるのか?
 ……どうするべきかがもう浮かばないので、とりあえず寝ることに。


 以下に、(上の問題だけは放置したまま)動作チェック済みの定義を貼っておきます。
(2006年10月15日19:05:33追記:CtrlswapminiV018に対応するため定義変更を行いました。)
(2006年10月15日20:33:16追記:誤記修正を行いました。)
(2006年10月16日1:50:22追記:定義を最終版(送付版)へと置換しました。)

「かえで携帯配列(濁点混合型2タッチ入力方式)」

# 2006 Hiroyuki Ogasawara
# http://hp.vector.co.jp/authors/VA004474/wince/wince.html
#
# キーマップ名称:かえで携帯配列(濁点混合型2タッチ入力方式)
# キーマップ制作:相沢かえで
# http://d.hatena.ne.jp/maple_magician/
# ────────────
#  飛鳥カナ配列という入力法の考え方を、携帯の世界に持ち込んでみました。
#  また、「日本語におけるカナの出現頻度」「Qwertyローマ字入力の感触」
# 「ポケベル入力の感触」「かなめくり入力の感触」を考慮しつつ、なるべく
# 良いトコ取りになる様にしてみました。
#  私はもともと「かなめくり」利用者なので、かなめくりユーザでも納得し
# て使える(≒自分自身が納得して使える)入力法を目指していたりします……。
# 
#  英字入力は、既にしんじさんが提案されている方式とほぼ同じで、Hiroyuki
#  Ogasawaraさんのデフォルト定義から「英字めくり」をお借りしました。
#  英字入力が苦手でベル打ちが出来ない方向けということで(私もその一人)。
# 
#  入力法はキーマップの冒頭に記述しましたので、そちらをご覧ください。
#  表現方法が特殊なので、固定幅フォントでご覧頂くことをお勧めします。
# ────────────
#
# ctrlswapmini KaedeMobilePhoneKeymap.txt
# 「2タッチ(ポケベル入力)」に設定してください。
# 
# 以下の配列案(暫定仕様)をctrlswapmini用に定義してみました。
# http://d.hatena.ne.jp/maple_magician/20060923/1159022037
#
# 以下に、本定義を作成する上で参照した外部URLを提示します。
# http://flatlib.main.jp/dench/vec/more/defaultkeymap.txt
# http://flatlib.main.jp/dench/vec/more/shinji_keymap.txt
# http://flatlib.main.jp/dench/vec/more/dor_keymap.txt
# http://eszett-input.seesaa.net/article/23981199.html
# http://ameblo.jp/asuka-layout/entry-10011774522.html
# http://nicola.sunicom.co.jp/thumb3.html
# http://yellow.ribbon.to/~ujiro/
#
# 以下に、本定義を作成する上で参照した私文書URLを提示します。
# http://www.eurus.dti.ne.jp/~yfi/keylayout/tongpoo-method_alternative_pocketbell_table.html
# http://www.eurus.dti.ne.jp/~yfi/keylayout/kaedesiki_pocketbell_complete.html
# http://www.eurus.dti.ne.jp/~yfi/keylayout/kaedesiki_kanamekuri_complete.html
# http://www.eurus.dti.ne.jp/~yfi/kaede-method/index.html
# 
# 英字入力については、標準的な「英字めくり入力」を使います。
# ───────────────────────────────
#  [1あ]        1./@_~-*+=^';:"'.,
#  [2か]        2ABCabc
#  [3さ]        3DEFdef
#  [4た]        4GHIghi
#  [5な]        5JKLjkl
#  [6は]        6MNOmno
#  [7ま]        7PQRSpqrs
#  [8や]        8TUVtuv
#  [9ら]        9WXYZwxyz
#  [0わ]        0空白?!$%&\<>[]{}()|
#  [*]          改行
#  [#]          かな入力に戻る
# ───────────────────────────────
# 
# かな入力については、以下に示す「濁音&半濁音拡張つきポケベル入力」を使います。
# 
# 以下の定義内容については、固定幅フォントでご覧ください。
# この12キー割は、一打鍵目は遠目に、二打鍵目は近目に見てください。
# ───────────────────────────────
#  あいう  かきく  さしす
#  えおぁ  けこが  せそざ
#  ぃぅぇ  ぎぐげ  じずぜ
#   ぉ    ご    ぞ
# 
#  たちつ  なにぬ  はひふ 
#  てとだ  ねのん  へほば 
#  ぢづで  、。?  びぶべ  
#   ど    !    ぼ   
# 
#  まみむ  や〜ゆ  らりる
#  めも「  ーよゃ  れろぱ
#  ()」  っゅ□  ぴぷぺ ←□は全角空白。
#   ・    ょ    ぽ
# 
#  ───  わいヴ  ───
#  改行|  えを&  ↓英数
#  ←─+  *゛#  かな↑
#  ───   ゜   ───
# 
#   ↑         ↑
#  *キーと#キーは、単独打鍵でそれぞれの動作を行います。
# ───────────────────────────────
# 
# 念のために、覚えるための「おまじない」を書き出しておきます。
# ───────────────────────────────
# 打つときにはまぶたを閉じて、指の記憶を頼りに練習しましょう。
# 100字をばらばらに練習せず、10字ずつ1まとめで練習しましょう。
# 目で見るときは10字まとめて見直し、再びまぶたを閉じましょう。
# 練習中は打ち間違えを訂正せず、そのまま練習を続けてください。
# 「か行+あ゛=が」などの連想はかえって練習の邪魔になります。
# 焦ることなく自分を信じて、ゆっくり確実に覚えていきましょう。
# ───────────────────────────────
# (元ネタ: http://www.eurus.dti.ne.jp/~yfi/kaede-method/index.html )
#
# この定義は、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日16:12:43、上記定義をv018スタイルに更新、WS003SH/WS004SH対応)
# keymap
## 「ベル打ち有効・ニコタッチ風無効」では、初期状態にX0キーマップが選択されます。
defcode	bell_normal	'\x0'
## 		初期状態ではX1キーマップは選択されず、ほかのキーマップから移動して使います。
defcode	bell_small	'\x1'
## 「ベル打ち有効・ニコタッチ風有効」では、初期状態にX2キーマップが選択されます。
defcode	niko_normal	'\x2'
## 		初期状態ではX3キーマップは選択されず、ほかのキーマップから移動して使います。
defcode	niko_small	'\x3'
## 「ベル打ち有効・ニコタッチ風無効」では、初期状態にX4キーマップが選択されます。
defcode	ext_kana	'\x4'
## 		初期状態ではX5キーマップは選択されず、ほかのキーマップから移動して使います。
defcode	ext_alphabet	'\x5'
## 		初期状態ではX6キーマップは選択されず、ほかのキーマップから移動して使います。
defcode	rotate_cur	'\x6'
## 		初期状態ではX7キーマップは選択されず、ほかのキーマップから移動して使います。
defcode	rotate_num	'\x7'


#-----------------------------------------------------------------------------
# 2touch (pocketbell) 
#-----------------------------------------------------------------------------
Keymap	bell_normal


Key	bell	# [1○]
char	KANA		3		# [11] あ
char	KANA		E		# [12] い
char	KANA		4 		# [13] う
char	KANA		5 		# [14] え
char	KANA		6 		# [15] お
char	KANA SHIFT	3		# [16] ぁ
char	KANA SHIFT	E		# [17] ぃ
char	KANA SHIFT	4 		# [18] ぅ
char	KANA SHIFT	5 		# [19] ぇ
nop							# [1*]		( nop )
char	KANA SHIFT	6 		# [10]  ぉ
nop							# [1#]		( nop )


Key	bell	# [2○]
char	KANA		T	 	# [21] か
char	KANA		G	 	# [22] き
char	KANA		H	 	# [23] く
char	KANA		:	 	# [24] け
char	KANA		B	 	# [25] こ
char	KANA DAKUTEN	T	# [26] が
char	KANA DAKUTEN	G	# [27] ぎ
char	KANA DAKUTEN	H	# [28] ぐ
char	KANA DAKUTEN	:	# [29] げ
nop							# [2*]		( nop )
char	KANA DAKUTEN	B	# [20] ご
nop							# [2#]		( nop )


Key	bell	# [3○]
char	KANA		X	 	# [31] さ
char	KANA		D	 	# [32] し
char	KANA		R	 	# [33] す
char	KANA		P	 	# [34] せ
char	KANA		C	 	# [35] そ
char	KANA DAKUTEN	X	# [36] ざ
char	KANA DAKUTEN	D	# [37] じ
char	KANA DAKUTEN	R	# [38] ず
char	KANA DAKUTEN	P	# [39] ぜ
nop							# [3*]		( nop )
char	KANA DAKUTEN	C	# [30] ぞ
nop							# [3#]		( nop )


Key	bell	# [4○]
char	KANA		Q	 	# [41] た
char	KANA		A	 	# [42] ち
char	KANA		Z	 	# [43] つ
char	KANA		W	 	# [44] て
char	KANA		S	 	# [45] と
char	KANA DAKUTEN	Q	# [46] だ
char	KANA DAKUTEN	A	# [47] ぢ
char	KANA DAKUTEN	Z	# [48] づ
char	KANA DAKUTEN	W	# [49] で
nop							# [4*]		( nop )
char	KANA DAKUTEN	S	# [40] ど
nop							# [4#]		( nop )


Key	bell	# [5○]
char	KANA		U	 	# [51] な
char	KANA		I	 	# [52] に
char	KANA		1	 	# [53] ぬ
char	KANA		,	 	# [54] ね
char	KANA		K	 	# [55] の
char	KANA		Y	 	# [56] ん
char	KANA SHIFT	,		# [57] 、
char	KANA SHIFT	.		# [58] 。
char	ASCII SHIFT	/		# [59] ?
nop							# [5*]		( nop )
char	ASCII SHIFT	1		# [50] !
nop							# [5#]		( nop )


Key	bell	# [6○]
char	KANA		F	 	# [61] は
char	KANA		V	 	# [62] ひ
char	KANA		2	 	# [63] ふ
char	KANA		^	 	# [64] へ
char	KANA		-	 	# [65] ほ
char	KANA DAKUTEN	F	# [66] ば
char	KANA DAKUTEN	V	# [67] び
char	KANA DAKUTEN	2	# [68] ぶ
char	KANA DAKUTEN	^	# [69] べ
nop							# [6*]		( nop )
char	KANA DAKUTEN	-	# [60] ぼ
nop							# [6#]		( nop )


Key	bell	# [7○]
char	KANA		J	 	# [71] ま
char	KANA		N	 	# [72] み
char	KANA		]	 	# [73] む
char	KANA		/	 	# [74] め
char	KANA		M	 	# [75] も
char	KANA SHIFT	[		# [76] 「
char	ASCII SHIFT	8		# [77] (
char	ASCII SHIFT	9		# [78] )
char	KANA SHIFT	]		# [79] 」
nop							# [7*]		( nop )
char	KANA SHIFT	/		# [70] ・
nop							# [7#]		( nop )


Key	bell	# [8○]
char	KANA		7	 	# [81] や
char	ASCII	SHIFT	^	# [82] 〜
char	KANA		8		# [83] ゆ
char	KANA		\		# [84] ー(長音)
char	KANA		9	 	# [85] よ
char	KANA SHIFT	7		# [86] ゃ
char	KANA SHIFT	Z	 	# [87] っ
char	KANA SHIFT	8		# [88] ゅ
char	KANA SHIFT	ZSPACE	# [89] 全角SPC
nop							# [8*]		( nop )
char	KANA SHIFT	9		# [80] ょ
nop							# [8#]		( nop )


Key	bell	# [9○]
char	KANA		O		# [91] ら
char	KANA		L		# [92] り
char	KANA		.		# [93] る
char	KANA		;		# [94] れ
char	KANA		_		# [95] ろ
char	KANA HANDAKUTEN	F	# [96] ぱ
char	KANA HANDAKUTEN	V	# [97] ぴ
char	KANA HANDAKUTEN	2	# [98] ぷ
char	KANA HANDAKUTEN	^	# [99] ぺ
nop							# [9*]		( nop )
char	KANA HANDAKUTEN	-	# [90] ぽ
nop							# [9#]		( nop )


Key	toggle	# [*×]
char	VK_RETURN					# [#] RETURN


Key	bell	# [0○]
char	KANA		0	 	# [01] わ
char	KANA		E		# [02] い
char	KANA	DAKUTEN	4 	# [03] ヴ
char	KANA		5 		# [04] え
char	KANA SHIFT	0	 	# [05] を
char	ASCII SHIFT	6		# [06] &
char	ASCII SHIFT	:		# [07] *
char	KANA		@		# [08] 濁点
char	ASCII SHIFT	3		# [09] #
nop							# [0*]		( nop )
char	KANA		[		# [00] 半濁点
nop							# [0#]		( nop )


Key	toggle	# [#×]
command	KEYMAP	bell_small	# 切り替え


#-----------------------------------------------------------------------------
# 2touch (pocketbell)  small
#-----------------------------------------------------------------------------
Keymap	bell_small


Key	toggle	# [1→]
char	ASCII		1		# 1
char	ASCII		.		# .
char	ASCII		/		# /
char	ASCII		@		# @
char	ASCII SHIFT	_		# _
char	ASCII SHIFT	^		# ~
char	ASCII		-		# -
char	ASCII SHIFT	:		# *
char	ASCII SHIFT	; 		# +
char	ASCII SHIFT	- 		# =
char	ASCII		^ 		# ^
char	ASCII SHIFT	7 		# '
char	ASCII		;		# ;
char	ASCII		:		# :
char	ASCII SHIFT	2		# "
char	ASCII SHIFT	7		# '
char	ASCII		.		# .
char	ASCII		,		# ,


Key	toggle	# [2→]
char	ASCII		2		# 2
char	ASCII SHIFT	A		# A
char	ASCII SHIFT	B		# B
char	ASCII SHIFT	C		# C
char	ASCII		A		# a
char	ASCII		B		# b
char	ASCII		C		# c


Key	toggle	# [3→]
char	ASCII		3		# 3
char	ASCII SHIFT	D		# D
char	ASCII SHIFT	E		# E
char	ASCII SHIFT	F		# F
char	ASCII		D		# d
char	ASCII		E		# e
char	ASCII		F		# f


Key	toggle	# [4→]
char	ASCII		4		# 4
char	ASCII SHIFT	G		# G
char	ASCII SHIFT	H		# H
char	ASCII SHIFT	I		# I
char	ASCII		G		# g
char	ASCII		H		# h
char	ASCII		I		# i


Key	toggle	# [5→]
char	ASCII		5		# 5
char	ASCII SHIFT	J		# J
char	ASCII SHIFT	K		# K
char	ASCII SHIFT	L		# L
char	ASCII		J		# j
char	ASCII		K		# k
char	ASCII		L		# l


Key	toggle	# [6→]
char	ASCII		6		# 6
char	ASCII SHIFT	M		# M
char	ASCII SHIFT	N		# N
char	ASCII SHIFT	O		# O
char	ASCII		M		# m
char	ASCII		N		# n
char	ASCII		O		# o


Key	toggle	# [7→]
char	ASCII		7		# 7
char	ASCII SHIFT	P		# P
char	ASCII SHIFT	Q		# Q
char	ASCII SHIFT	R		# R
char	ASCII SHIFT	S		# S
char	ASCII		P		# p
char	ASCII		Q		# q
char	ASCII		R		# r
char	ASCII		S		# s


Key	toggle	# [8→]
char	ASCII		8		# 8
char	ASCII SHIFT	T		# T
char	ASCII SHIFT	U		# U
char	ASCII SHIFT	V		# V
char	ASCII		T		# t
char	ASCII		U		# u
char	ASCII		V		# v


Key	toggle	# [9→]
char	ASCII		9		# 9
char	ASCII SHIFT	W		# W
char	ASCII SHIFT	X		# X
char	ASCII SHIFT	Y		# Y
char	ASCII SHIFT	Z		# Z
char	ASCII		W		# w
char	ASCII		X		# x
char	ASCII		Y		# y
char	ASCII		Z		# z


Key	toggle	# [*→]
char	ASCII		RETURN


Key	toggle	# [0→]
char	ASCII		SPACE 		# SPC
char	ASCII		0 		# 0
char	ASCII SHIFT	/		# ?
char	ASCII SHIFT	1		# !
char	ASCII SHIFT	4 		# $
char	ASCII SHIFT	5 		# %
char	ASCII SHIFT	6		# &
char	ASCII		\		# \
char	ASCII SHIFT	, 		# <
char	ASCII SHIFT	. 		# >
char	ASCII		[ 		# [
char	ASCII		] 		# ]
char	ASCII SHIFT	[ 		# {
char	ASCII SHIFT	] 		# }
char	ASCII SHIFT	8		# (
char	ASCII SHIFT	9		# )
char	ASCII SHIFT	\ 		# |


Key	toggle	# [#→]
command	KEYMAP	bell_normal	# 切り替え

「濁点分離型2次元連続シフトかな配列(試作)」

# 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回押しただけで反応する直接入力キーとして機能します。

「濁点分離型1次元連続シフトかな配列(試作)」

# 2006 Hiroyuki Ogasawara
# http://hp.vector.co.jp/authors/VA004474/wince/wince.html
#
# キーマップ名称:濁点分離型1次元連続シフトかな配列(試作)
# キーマップ制作:相沢かえで
# http://d.hatena.ne.jp/maple_magician/
# ────────────
#  変態キー配列の2作目です。
#  1作目のシフト部分を入れ替えて、1次元的にキーマップを表現できるよう
# にしてみました。文字配列の部分は1作目と同じなのがポイントです。
# 
#  この配列を弄る場合は、なるべく「今打っているキーマップかその両隣に、
# 次に来るべき文字を並べる」ほうが、入力効率が上がります。
#  この考え方は、パソコンでの文字入力法である【飛鳥カナ配列】が既に実
# 践していますので、そちらを参考にすると良いかもしれません。
# 
#  入力法はキーマップの冒頭に記述しましたので、そちらをご覧ください。
#  表現方法が特殊なので、固定幅フォントでご覧頂くことをお勧めします。
# ────────────
#
# ctrlswapmini ContinuousShiftKanaTable.txt
#
# direct_Ctキーマップを「x4」に割り当てているので、
# Ctrlswapminiでは「拡張かな入力」に設定してください。
# ……じゃなかった、巧くいかず「x0」に割り当てているので、
# Ctrlswapminiでは「2タッチ(ポケベル入力)」に設定してください。
# 
# 以下の配列案(暫定仕様)をctrlswapmini用に定義してみました。
# http://d.hatena.ne.jp/maple_magician/20061013/1160666052
# http://d.hatena.ne.jp/maple_magician/20061014/1160752321
#
# 英字入力については、標準的な「英字めくり入力」を使います。
#  -------------------------------------------------------------------
#  [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」と書かれている鍵盤が選択されています。
#
# |L3L3L3|L2L2L2|LLL|CCC|RRR|R2R2R2|R3R3R3|AlAlAl| ←キーマップ面の名前
# |───|───|───|───|───|───|───|───|
# |や・へ|さあち|のき、|いうん|つせな|もおほ|ゆ」「|英英英|
# |゜ろね|それゅ|くはに|し゛か|っをり|えまめ|ぃぬぇ|英英英|
# |ーゃむ|らふよ|こるょ|たとて|すけ。|ひみわ|ぁぉぅ|英英英|
# |AlCL2|L3CL|L2CC|LCR|CCR2|RCR3|R2CAl|英C英| ←最下段はキーマップ移動キー。
# 
# 「英」は、マルチタップによる英字めくり入力を行うための盤面です。
#
# この配列は、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_Ct	# 切り替え

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_Ct	# 切り替え
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_L1	# 切り替え

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_R1	# 切り替え
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_L2	# 切り替え

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_R2	# 切り替え
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回押しただけで反応する直接入力キーとして機能します。