« ハワイ醤油 | メイン | ピンホール・カメラ »
世の中には感謝しないといけないことがあって、最近、それを最も感じたのが「em1key」とというソフトである。Hiroyuki Ogasawaraさんが、「フルパワー全開 WindowsCE のページ」で提供されているソフトで、その完成度がとっても高い。Advanced/W-ZERO3 [es]などのキーボードのもろもろを設定するソフトなのだが(正確に同ページを参照のこと)、親指シフトも使えるようになるのだった。
親指シフトというのは、富士通のワープロで採用されている日本語の入力方式なのだが(詳しくは日本語入力コンソーシアムのページを参照のこと)、Advanced/W-ZERO3 [es]で使えるとまったく別モノの機械になるといっても大げさではない。
「em1key」というソフトは、単なるキーの割り当てだけでなく、スクリプトでアルゴリズムまで書けてしまうから親指シフトの処理まで書けてしまうというのだ。それで、「oyayubiwm」という親指シフト用のスクリプトも公開されているのだった。さっそく、外付けキーボードを買ってきて、Advanced/W-ZERO3 [es]で親指三昧している。親指シフトユーザーは、ご検討あれ。
外付けキーボードのコードは、どうしても1メートルくらいと長すぎる。そこで、自分でケーブルを短縮したのがエレコムの「TK-UP84CPSV改」(短縮1号機)、写真手前はアキバで買ってすぐヒロセテクニカルでケーブル加工してもらったOwltechの「AS-2366改」(短縮2号機)。現物は、後者のほうが小さく重量も200グラムとやたら軽い。ちなみに、自分なりにem1key用の親指シフトスクリプト「oyayubiwm」を変更して使っている。以下、備忘のため書いておく。
oyayubiwmの「scriptcommand.txt」を以下のように変更(このような変更おかしかったらご指摘ください --> Hiroyuki Ogasawaraさま)。
---------------------------------------------------------
短縮1号機用
エレコムの「TK-UP84CPSV改」
無変換(単独) --> Ctrl-M(ATOKの確定)
※以下用意されているオプションを選んだだけですが。
スペース --> 右親指シフト
:* --> 後退に
PAUSE --> OKボタン
左CtrlとCapsの交換
define ROS_KEYCODE1 VK_SPACE # 右親指1に割り当てるキーコード※右親指シフトをSPACEに
# _os_IMESW = IME切り替えキーとして機能させる場合
#※ 0x72 = CTRL-Mを入力したことにする
define LOS_SHARE_FUNC1 0x72 #左親指シフトキー1
define CSW_OASYSBS_ENABLE TRUE #※:*をバックスペースにカナのときだけ
define CSW_SUBST_PAUSE_OK TRUE #※ポーズでOK
#※以下はまるまる追加
#「func TABLE_FUNC _os_IMESW」のブロックの後ろに挿入
func TABLE_FUNC 0x72
SETMODIFIER MOD_CTRL #※無変換キーを
SENDKEY 'M' #※確定に
RETURN 0
endfunc
---------------------------------------------------------
短縮2号機用。
Owltech OWL-KB84U/P 用
リターン --> 後退キー
}]」 --> リターン
無変換(単独) --> Ctrl-M(ATOKの確定)
@' --> 、に
※以下用意されているオプション
スペース --> 右親指シフト
PAUSE --> OKボタン
左CtrlとCapsの交換
P(かな時) --> 、に
define ROS_KEYCODE1 VK_SPACE # 右親指1に割り当てるキーコード※NCONVERTをSPACEに変更
# _os_IMESW = IME切り替えキーとして機能させる場合
#※ 0x72 = CTRL-Mを入力したことにする
define LOS_SHARE_FUNC1 0x72 #左親指シフトキー1
#※以下、リターンキーがBSになるように
#当該処理修正
# ●[:*]キーの設定
# 次の行の値を TRUE にすると [:*] キーが [BS] になります。
# より厳密な OASYS 配列にしたい場合に指定してください。
define CSW_OASYSBS_ENABLE TRUE
# ●[]}]キーの設定
# 次の行の値を TRUE にすると []}] キーが [ESC] になります。
# より厳密な OASYS 配列にしたい場合に指定してください。
define CSW_OASYSESC_ENABLE FALSE #※
# ※[]}]キーをリターンに
define CSW_OASYSRETURN_ENABLE TRUE #※RETURNに
#※当該ソース変更
# _kana_TEN = 、(読点)
define CMAP_DF_P _kana_TEN #※もともとCOMMA
#※以下の行完全に追加
define CMAP_DF_COLON _kana_TEN #※@'を、に
# ● [Pause] を WindowsMobile の [OK] ボタンにします
# WindowsMobile + Papillon 等で便利
# TRUE で有効、FALSE で無効
define CSW_SUBST_PAUSE_OK TRUE #※
# ● 外部キーボードで [Ctrl]/[CapsLock] の交換を行います (CEのみ)
# TRUE で有効、FALSE で無効
define CSW_CTRLSWAP_ENABLE TRUE #※変更
#※以下はまるまる追加
#「func TABLE_FUNC _os_IMESW」のブロックの後に挿入
func TABLE_FUNC 0x72
SETMODIFIER MOD_CTRL #※無変換キーを
SENDKEY 'M' #※確定に
RETURN 0
endfunc
#※ここ追加
#「func _TABLE_OS VK_BACKQUOTE」のブロックの後に挿入
func _TABLE_OS VK_APOSTROPHE # [:*]
SETVAR0 _kana_TEN # 、 読点
SETVAR1 _kana_ORG # :
SETVAR2 _kana_NOP
SETVAR3 _kana_SHORG # ‘
CALL _subRIGHT
endfunc
#※以下削除
#func _TABLE_OS VK_APOSTROPHE #
# ifsw CSW_OASYSBS_ENABLE # BSにする場合
# #TESTSYSFLAG SYSFLAG_IME
# #IF_FALSE 10
# PUSHIMM VK_BACK # [BS]
# CALL _subSync
# LABEL 10
# EXIT FALSE
# endif
# ifnsw CSW_OASYSBS_ENABLE # BSにしない場合
# SETVAR1 _kana_NOP #
# SETVAR2 _kana_NOP #
# SETVAR3 _kana_SHORG # *
# CALL _subRIGHT
# endif
#endfunc
#※以下追加
func _TABLE_OS VK_RETURN #※リターンをBSに
ifsw CSW_OASYSBS_ENABLE # BSにする場合
PUSHIMM VK_BACK # [BS]
CALL _subSync
EXIT FALSE
endif
ifnsw CSW_OASYSBS_ENABLE # BSにしない場合
SETVAR0 _kana_ORG # :
SETVAR1 _kana_NOP #
SETVAR2 _kana_NOP #
SETVAR3 _kana_SHORG # *
CALL _subRIGHT
endif
endfunc
#※ブラケットに対する処理差し替え
#func _TABLE_OS VK_RBRACKET # []}]
# ifsw CSW_OASYSESC_ENABLE # ESCにする場合
# TESTSYSFLAG SYSFLAG_IME
# IF_FALSE 10
# PUSHIMM VK_ESCAPE
# CALL _subSync
# LABEL 10
# EXIT FALSE
# endif
# ifnsw CSW_OASYSESC_ENABLE # ESCにしない場合
# SETVAR0 _kana_ORG # 」
# SETVAR1 _kana_NOP #
# SETVAR2 _kana_NOP #
# SETVAR3 _kana_SHORG # }
# CALL _subRIGHT
# endif
#endfunc
#以下、右ブラケットをリターンにする。
func _TABLE_OS VK_RBRACKET # []}]
ifsw CSW_OASYSRETURN_ENABLE #※リターンにする
PUSHIMM VK_RETURN #
CALL _subSync
EXIT FALSE
endif
ifnsw CSW_OASYSRETURN_ENABLE # ESCにしない場合
SETVAR0 _kana_ORG # 」
SETVAR1 _kana_NOP #
SETVAR2 _kana_NOP #
SETVAR3 _kana_SHORG # }
CALL _subRIGHT
endif
endfunc
---------------------------------------------------------
※Ctrl-M(ATOKの確定)を無変換に割り当てた関係で、ソフトのほうも以下のように若干の鼻薬(もちろん、そのソフトを使う人はではありますが)。
●鼻薬1
※Pocket WZ Editor 3.0
PZW-ZEYの[My Key]で以下を追加。
IDM_ALTENTER = ^M
Alt-Enterは、便宜的に割りあてたもの。要するに、Ctrl-Mが来たときに何も処理しないようにする。
●鼻薬2
※qmail3
keymap.xmlの
---------------------------------------------------------
フルパワー全開 WindowsCE のページ(http://hp.vector.co.jp/authors/VA004474/wince/wince.html)
日本語入力コンソーシアム(http://nicola.sunicom.co.jp/)
写真は、三宿の新記で「ローストポークご飯」(別注)を食べようとしているところ。Advanced/W-ZERO3 [es]ならテーブルの上でもじゃまにならない(スープはこぼしたくないが)。
東京カレーニュース
個人サイト(http://www.8-p.net)個人Twitter(http://twitter.com