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

Check todays hot topics

Search for Services:

Please Log in

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

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

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

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

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

TRACKBACK

トラックバックURL:

    (copyボタンはIEのみ有効です)
« | HOME |  »
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。