(メモ)W-ZERO3[es]で親指シフトを導入する手順、折りたたみUSBキーボードを力技で親指シフトキーボードに変える小ネタ。

(未来:em1key/em1keypc用の「飛鳥カナ配列スクリプト(oyayubiwm改造版)」を公開。)

用意するもの。

【パソコンを経由する場合】

W-ZERO3[es]単体で行う場合】

  • W-ZERO3[es]
    • Zip形式の圧縮ファイルを扱えるファイルアーカイバソフトを導入していること。

以下の手順は、全て【パソコンを経由する場合】を基準に書いています。
#現在、手持ちのW-ZERO3[es]には「ctrlswapmini/imekeyset5」以外のソフトは導入していないので……。

パソコン側で、ダウンロード。

アーカイブを解いて、必要なファイルをminiSDメモリーカードにコピーする。

miniSDW-ZERO3[es]に挿して、プログラムをインストールする。

  • miniSDメモリーカードW-ZERO3[es]に挿す。
  • 「田スタート」→「プログラム」→「ファイル エクスプローラ」とたどり、ファイルエクスプローラを起動する。
  • 画面上から2行目の左端をペンでタップし、【miniSDカード】を選ぶ。
  • 【em1key.ARM....】と表示されている部分をタップし、インストール先を「●デバイス」としてインストールする。

親指シフトの定義を導入する。

  • 「田スタート」→「プログラム」→「ファイル エクスプローラ」とたどり、ファイルエクスプローラを起動する。
  • 画面上から2行目の左端をペンでタップし、【miniSDカード】を選ぶ。
  • 【scriptcommand】を2秒ほどタップし続け、出たメニューから「コピー」を選ぶ。
  • 画面上から2行目の左端をペンでタップし、【マイ デバイス】を選ぶ。
  • 画面の中ほどにあるフォルダ【Program Files】を選ぶ。
  • 画面の中ほどにあるフォルダ【em1key】を選ぶ。
  • 画面中ほどの「何もない真っ白な部分」を2秒ほどタップし続け、出たメニューから「貼り付け」を選ぶ。
  • scriptcommandというファイルを置き換えるかどうかという表示が出るので、「はい」をタップする。

em1keyを立ち上げる。

  • 「田スタート」→「プログラム」→「ファイル エクスプローラ」とたどり、ファイルエクスプローラを起動する。
  • 画面上から2行目の左端をペンでタップし、【マイ デバイス】を選ぶ。
  • 画面の中ほどにあるフォルダ【Program Files】を選ぶ。
  • 画面の中ほどにあるフォルダ【em1key】を選ぶ。
  • ファイル【em1key】をタップする。

FILCO パピヨン」キーボードを使う場合の注意点。

em1keyらしい解決法があった。

 同じくNICOLAフォーラムにて、作者さんが解決策を提示していらした。
 このあたりは、まさに「配列ではなく挙動で定義する、em1keyらしい解決方法」だなぁ……と。
 ログが流れると洒落にならんので、以下に要点を転記しておくことに。
 以下の2点は、どちらも http://nicola.sunicom.co.jp/cgi/wf_soft/wf_s_forum.plx?no=629&reno=626&oya=625&mode=msgview&page=0 からの転記です。

【Altキーコードが親指シフト用に使えない点】

  • 文字キー先行なら正しく働くが、親指(Alt)キー先行にすると「WM_KEYDOWNで発行されるはずのキーイベントがWM_SYSKEYDOWNで発行されてしまう」……これが原因。WindowsMobile5固有の原因らしい。
  • oyayubiwm(1.31)のscriptcommand.txt/1873行目近傍を、次のように編集する、と。
    • # 左親指シフト # オリジナルのまま。
    • func _SELTABLE L_OYASHIFT_KEY # オリジナルのまま。
    • IF_UP 10 # Altを左親指にするための設定。
    • RAWUP VK_LMENU # Altを左親指にするための設定。
    • LABEL 10 # Altを左親指にするための設定。
    • SETGSTATE _LSHIFT # オリジナルのまま。
    • CALL _subOYAShift # オリジナルのまま。
    • endfunc # オリジナルのまま。

【Delキーコードを発行したくない場合の対応法】

  • 単独操作時のDelキーコードを無効にできる。oyayubiwm(1.31)のうち、func TABLE_FUNC _subOYAExecShiftの後のほうにある定義を弄る。
    • # 単独でシフトが押された # オリジナルのまま。
    • LOADVAR _SB_ISLEFT # Delキーコードを無視する。
    • IF_FALSE 41 # Delキーコードを無視する。
    • SENDVAR GVAR_KEYCODE # オリジナルのまま。
    • LABEL 41 # Delキーコードを無視する。
    • RESETGSTATE _SHBUFFER # オリジナルのまま。
    • RETURN 0 # オリジナルのまま。
    • endfunc # オリジナルのまま。