fc2ブログ

You are not Logged in! Log in to check your messages.

Check todays hot topics

Search for Services:

Please Log in

[親指シフト]エスリルキーボードのレイアウトを変更(ファームウェアを修正)

エスリルキーボードの標準配列は、文字入力に問題は無いが文章入力するには今まで培ってきた慣習に合わない部分も多いので、ファームウェアソースのレイアウト定義を以下の好みに合うように変更しました。

1 BSが「ん」の右にあるF型が大前提
2 エスリル日本語ON/OFFはFn無しの親指操作で行いたい。
3 左親指ポジションの右は確定キー(Enterキー)にしたい。
4 DeleteキーはFn無しで使いたい。
5 Pの隣は英字が@ かなが読点(、)にしたい。
6 記号はカンマ/ピリオドと句読点の両方をキー入力したい。(IMEの設定変更有り)
7 左手で操作するカーソルキーが欲しい。
8 右Ctrlは今までも使ったことが無いのでいらない。アンダーバーは良く使うので標準キーボードと同じ配置にしておきたい。
9 たまにしか使わないが無変換、かな、半角全角、Capsキーが欲しい。(Fn面に追加)
10 Winキー、Aplキーはめったに使わないのでFn面に追い出したい。
11 IMEはATOKをメインに、時々Google日本語に切替えて使うが操作は同じにしたい。
12 快速親指シフトややまぶきが使える配列も欲しい。
※ ESCキーはブートモードに入る要のキーなので、配置を替えない事にする。

20 Nicolaカスタム
21 快速親指シフト用

【ファームウェアソースの修正】

..\new-keyboard-master\firmware\src 配下の3つのファイルを修正します。
 KeyboardCommon.c ‥ Fnキー面の配列修正
 KeyboardJP.c   ‥ esrille日本語モードの配列修正
 KeyboardUS.c   ‥ esrille英語モードの配列修正

エスリルキーボードの配列は8×12のマトリクスに定義されています。
以下はKeyboardUS.cのJIS配列マトリクス定義です。
マトリクスの位置を縦方向はR0~R7、横方向はC0~C11で表現します。
上のレイアウト図の黄色部分に各キーのマトリクスを記載してあります。
たとえば F1キーのマトリクスはR1C1、AキーR5C0です。
以下配列定義は右側が隠れていますが、画像をクリックすると別窓に全体が表示されます。
KeyboardUSマトリクス変更前

カンマの位置をそろえて見やすくしました。
キー配列図でマトリクスを確認し、該当位置のキー定義を修正します。
KeyboardUSマトリクス改

esrille日本語モードの配列定義はひとつのキーに複数のキーを割当てる事ができます。(ローマ字入力なので当然ですね)
ひとつのキーに割当てるキーを{ }で括って定義します。{ }の中に最大3つのキーを指定できます。
かな文字配列は親指シフト配列になっているので修正する部分はありません。
IMEのローマ字変換表に追加した記号キーの読みに合わせて該当キーの指定値を修正します。
これで、[ ] , . ・ -がキー入力できる様になりました。
KeyboardJPマトリクス改

Fnキー面の配列定義も{ }の中に最大4つのキーを指定できます。
緑枠はFn+1のキーです。もともと未使用キーですが、ここにV05の文字を割当てました。修正したHEXファイルのバージョン管理に使っています。
※ {KEY_KANA}, {KEY_OS}, {KEY_DELAY}, {KEY_BASE}はエスリルキーボードの設定処理を動かす重要なキーです。絶対に修正しない様に注意が必要です。
KeyboardCommonマトリクス改
各キーの名前はソースと同じフォルダーにあるKeyboard.hに定義されています。大半は名前を見るだけで何のキーか分ります。見ただけでは分らないキーは以下の通りです。
// [{   KEY_RIGHT_BRACKET
// ]}   KEY_NON_US_HASH
// @`   KEY_LEFT_BRACKET
// -=   KEY_MINUS
// :*   KEY_QUOTE
// ^~   KEY_EQUAL
// _   KEY_INTERNATIONAL1
// かな  KEY_INTERNATIONAL2
// \|   KEY_INTERNATIONAL3
// 変換  KEY_INTERNATIONAL4
// 無変換 KEY_INTERNATIONAL5
//半角全角 KEY_GRAVE_ACCENT
//esrille日本語ON  KEY_LANG1
//esrille日本語OFF  KEY_LANG2

カスタマイズした配列定義は親指シフト用の matrixJIS、matrixNicolaF、matrixNicola、matrixNicolaFでは無く
matrixDvorak、matrixColemak、matrixTron、matrixMtypeを全面的に書替えています。
こうする事で、ファーム入替えせずにオリジナルのNicos配列定義との打鍵比較ができます。
ただしmatrixFnは全配列共通なので、カスタマイズした定義しか使えません。
関連記事

COMMENT

快速親指シフト設定の件

貴重な資料を公開してくださりありがとうございます。
当方もエスリルキーボードを購入し、親指シフトに挑戦しようとしています。
ひとつ質問です。快速親指シフト設定とはSHIFTキーを使ってではなく変換キーと無変換キーにシフト機能と変換機能の両方をもたせるとの理解でよろしいでしょうか。

2020.09.12| URL| デイビッド #- [編集]

Re: 快速親指シフト設定の件

数年間放置状態の当ブログにコメントいただきありがとうございます。
快速親指シフト設定とはエスリル本体でカナ変換を行わない様に設定し使用するものです。⇒[FN]-[F2]の設定=pc
キーボード配列は[FN]-[F3]=jpまたはjp-nを指定しますが、レイアウト定義のカスタマイズが必要です。
左Shift⇒無変換、右Shift⇒変換に変更。他の任意のキー(ALt,Ctrl,Winなど)のひとつをShiftキーに変更。
エスリルオリジナルの親指シフト入力方法と快速親指シフト設定を切替えて使用できるようにする場合は
キーボード配列定義を追加する必要があります。

2020.09.14| URL| hieroglyphe #- [編集]

早速の快速親指シフトに関するご回答ありがとうございます。

この度は早速にご丁寧なご回答をいただきましてありがとうございました。
快速親指シフト設定とはエスリル本体でカナ変換を行わない様に設定し使用するものです。
と、非常に明確なご回答。承知致しました。ありがとうございます。

当方はMacを使用しており、日本誤入力オン状態でR6C0キーを押した場合に、何とか✔を出力できないかと四苦八苦しているなか、このホームページにたどり着いた次第です。

このページには深い知恵が散りばめられていことを思いますが、何せ私がブログラムについて無知なものですから、なお実現できていない状況です。

何かいただけるご助言ありましたら、この上なくありがたいです。

2020.09.14| URL| デイビッド #fZ5QteO. [編集]

Re: 早速の快速親指シフトに関するご回答ありがとうございます。

日本語モードで✔を入力するためには、IMEのローマ字定義に✔に対応するローマ字読みの定義を追加する必要があります。
あいにくMACには疎いのでMACのIMEでローマ字定義の追加ができるのかは知りませんが、Google日本語であれば可能です。
エスリルの設定は[FN]-[F7]で使用するIMEを選択し、
エスリルファームの変更はレイアウト定義のR6C0を追加するローマ字読みに変更します。
エスリルホームページの設定の仕方[FN]-[F7]IMEに関連情報が記載されています。

2020.09.15| URL| hieroglyphe #- [編集]

ご助言をありがとうございます。

再三に渡り、丁寧な返信をいただきありがとうございます。
試してみるのですがどうもうまくいきません。
何が問題なのか分かりませが、
何はともあれご親切をありがとうございました。
貴重なお時間を頂き感謝致します。

2020.09.15| URL| デイビッド #- [編集]

管理者にだけ表示を許可する

TRACKBACK

トラックバックURL:

    (copyボタンはIEのみ有効です)
« | HOME |  »