エスリルキーボードの標準配列は、文字入力に問題は無いが文章入力するには今まで培ってきた慣習に合わない部分も多いので、ファームウェアソースのレイアウト定義を以下の好みに合うように変更しました。
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キーはブートモードに入る要のキーなので、配置を替えない事にする。
【ファームウェアソースの修正】
..\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です。
以下配列定義は右側が隠れていますが、画像をクリックすると別窓に全体が表示されます。 カンマの位置をそろえて見やすくしました。
キー配列図でマトリクスを確認し、該当位置のキー定義を修正します。
esrille日本語モードの配列定義はひとつのキーに複数のキーを割当てる事ができます。(ローマ字入力なので当然ですね)
ひとつのキーに割当てるキーを{ }で括って定義します。{ }の中に最大3つのキーを指定できます。
かな文字配列は親指シフト配列になっているので修正する部分はありません。
IMEのローマ字変換表に追加した記号キーの読みに合わせて該当キーの指定値を修正します。
これで、[ ] , . ・ -がキー入力できる様になりました。
Fnキー面の配列定義も{ }の中に最大4つのキーを指定できます。
緑枠はFn+1のキーです。もともと未使用キーですが、ここにV05の文字を割当てました。修正したHEXファイルのバージョン管理に使っています。
※ {KEY_KANA}, {KEY_OS}, {KEY_DELAY}, {KEY_BASE}はエスリルキーボードの設定処理を動かす重要なキーです。絶対に修正しない様に注意が必要です。
各キーの名前はソースと同じフォルダーにある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は全配列共通なので、カスタマイズした定義しか使えません。
スポンサーサイト
MPLAB IDEで作成したHEXファイルをエスリルキーボードの制御チップに書込み、ファームウェアを更新する手順です。
以下の画像は全て縮小表示しています。画像をクリックすると別窓に原寸画像が表示されます。 ◆ファームウェアを更新するアプリ(HIDbootLoader)はパソコン側で実行します。 Windowsの場合は、Microchip Libraries for Applications (MLA)をインストールした以下のフォルダにあります。C:\microchip\mla\v2013_12_20\apps\usb\device\bootloaders\utilities\bin\win HIDBootloader.exeをダブルクリックして起動します。 ◆HIDBootloaderの初画面です。 ◆エスリルキーボードをファームウェア更新モードにします。 1.エスリルキーボードのUSBプラグをパソコンから抜きます。 2.ESCキーを押しながらUSBプラグをパソコンに接続します。 3.NumlockのLEDが点滅していることを確認します。 ※ESCキーを押しながら片手でUSBプラグをパソコンに射すのは、慣れないとスムーズにできないかも知れません。 頻繁にファームウェア更新する場合は、USB切替えスイッチを使うと楽にできます。 ◆HIDbootloaderは自動的にエスリルキーボードがフェームウェア更新モードになった事を認識します。 フォルダアイコンをクリックします。 ◆書替えるHEXファイルを指定します。 MPLAB IDEで作成したHEXファイルをそのまま指定することは可能ですが、以下のようにとんでもなく深い階層のパスになります。 ..\new-keyboard-master\firmware\third_party\mla_v2013_12_20\apps\usb\device\hid_keyboard\firmware\MPLAB.X\dist\Esrille_New_Keyboard\production\MPLAB.X.production.hex あらかじめ適当な場所にesrilleHEXなどと名前をつけたフォルダを作成し、そこにMPLAB.X.production.hexをコピーしてファイル名も世代が分かる名前に変更しておくと管理が楽になります。 ◆HEXファイルがオープンされたら、赤丸のアイコンをクリックします。 青線のメッセージが表示されればファームウェア更新完了です。(数秒で完了します) ※初めてHIDbootloaderを起動したときは、メニューのProgram→Settingsの画面を開いてEEPROMにチェックを入れます。 次に緑丸のアイコンをクリックします。 ◆エスリルキーボードがシステムから切り離されLEDが消灯します。 HIDboogtloaderを終了し、エスリルキーボードのUSBプラグを抜き刺しして完了です。
ファームウェアの更新はWindowsの他のアプリが実行中でも問題なくできます。ただしファームウェア更新処理中エスリルキーボードは使えません。
エスリルキーボードのファームウェアはソースが公開されています。
プログラミングの詳しい知識はありませんが、ものは試しとHEXファイルを作ってみました。
◆ソースのダウンロード ソースファイルはesrille/new-keyboard · GitHub に公開されています。 画面右下のDownloadZipをクリックするだけで全ソースファイルがダウンロードできました。 ダウンロードされたファイル名はnew-keyboard-master.zip です。 ◆ダウンロードしたnew-keyboard-master.zipを解凍します。 展開したフォルダの\new-keyboard-Master\firmware\srcにある4つのファイルでキーマトリクスが定義されていました。 赤枠のフォルダは古いソースが格納されています。そのままでもHEXファイルの作成はできますが、紛らわしいので削除しました。 ◆HEXファイルの作成はマイクロチップ社が無償で提供しているMPLAB IDE環境が必要なので、インストールファイルをダウンロードします。 MPLAB IDE環境に必要なインストールファイルは以下の3つです。 ・MPLAB IDE X ・XCコンパイラ ・Microchip Libraries for Applications HPはこちら→MPLAB 画面をスクロールして、ダウンロード-XC8-Windowsをクリックします。 ダウンロードされるファイル名はMPLABX-v2.05-windows-installer.zip です。 画面を上スクロールして ソースとサポート-レガシーソフトウェアをクリックして XC8コンパイラーのダウンロードページに移動します。
◆画面を下にスクロールしてLanguageToolArchivesのMLAB XC8の列にある V1.21(Win)をクリックします。 ダウンロードされるファイル名はxc8-v1.21-win.exe です。 ◆Microchip Libraries for Applicationsのダウンロードページは こちら→Microchip Libraries for Applications (MLA) 画面を下にスクロールしVersion V2013-12-20のWindows用のDownloardをクリックします。 ダウンロードされるファイル名はmla_v2013_12_20_windows_installer.exe です。 ダウンロードした3つのファイルを順にインストールし、MPLAB環境構築は完了です。
◆いよいよHEXファイルの作成です。 MPLAB IDE V2.05を起動します。 ◆File-Open Projectをクリックします。
◆New-Keyboard-Masterフォルダ配下のMPLAB.Xフォルダを指定します。 ◆MPLAB IDE V2.05の画面に表示されたUSB Device - HID - Keybordをクリックします。 Run-Build Project(USB Device - HID - Keybord)をクリックします。 ◆画面右下のフレームに多数のメッセージが表示されます。そのまま1分くらい待っているとLoading Completedのメッセージが出て、HEXファイル作成処理が完了します。 ◆作成されたHEXファイルは \new-keyboard-yuusisatako\firmware\third_party\mla_v2013_12_20\apps\usb\device\hid_keyboard\firmware\MPLAB.X\dist\Esrille_New_Keyboard\production に格納されます。 ファイル名はMPLAB.X.production.hex です。
レイアウト変更のソース修正方法とエスリルファームウェアの更新方法は後日まとめる予定です。
エスリルキーボードは、様々なキーレイアウトを使用者が選択して使える優れものです。
特徴 小さめの手にも合うコンパクトなエルゴノミック デザイン: 336mm x 177.5mm x 57.4mm。
以下の文字配列にはじめから対応しています。特別なデバイスドライバーのインストールは不要です。
英語配列 QWERTY Dvorak Colemak日本語配列 Stickney Next (JIS配列改良版) 親指シフト (Nicola) TRON M-type
キーレイアウトの選択方法 キーレイアウトは英語配列と日本語配列の組み合わせで選択します。
準備 メモ帳などのテキストエディタを起動し入力可能状態にします。
英語配列の選択 Fnキーを押しながらF1キーを押すと、テキストエディタに以下の配列を示す文字が表示されます。 表示される文字はF1キーを押す毎に変化します。希望の配列が表示されるまでF1キーを押します。 jp-nが表示された後にF1キーを押すとusに戻ります。 us us-d us-c jp jp-n日本語配列の選択 英語配列の選択と同様にFnキーを押しながらF2キーを押して選択します。 roma以外の日本語配列はエスリルキーボードをかなモード(esrille日本語ON)にして使用します。 romaを選択したときは、エスリルキーボードのかなモードは使用できません。 roma nico nicof mtype tron stick
選択した配列はキーボード内に記憶されます。USBプラグを抜いても消去されません。
Windows環境で親指シフト入力で使用する場合の、各キーレイアウトの特徴をまとめました。
レイアウト図は縮小表示しています。画像をクリックすると別窓に原寸図が表示されます。 エスリルキーボードの日本語かなモードを使用しない場合 パソコンの擬似エミュレーションアプリで親指シフト入力する場合に選択する配列です。
エスリルの親指シフトキーはShiftキーの位置になるため、Japanistの快速親指シフトを使用する場合は、
パソコン側でリマップが必要になります。
やまぶきRを使用する場合は、親指シフトキーにShiftを指定します。
01 US配列(出荷時の配列) US配列(日本語JIS認識) ◆Fn+F1→us、Fn+F2→romaで選択します。 日本語WindowsではUSキーボードをJISキーボードと認識する場合があります。そういう配列だと思えばそのままでも使えますが、アンダーバーのキーはありません。 正しく英語キーボードと認識させるにはWindowsのレジストリ変更が必要です。
02 JIS配列 ◆Fn+F1→jp、Fn+F2→romaで選択します。 標準形の109キーボードの右下角にあるバックスラッシュ・アンダーバーのキーがありません。バックスラッシュは¥で代用します。アンダーバーはShift+0で入力できます。 変換、無変換、半角/全角、かなキーはありません。
03 JIS配列(Nicola F型) ◆Fn+F1→jp-n、Fn+F2→romaで選択します。 Backspaceキーが;キーの右に配置されています。 左親指の位置に無変換キーがあります。 CapsLockキーはFn面に配置される予定です。 アンダーバーはShift+0で入力できます。
エスリルキーボードの日本語かなモードを使用する場合 Nicola J型、F型、A型の3種類の配列が選択できます。
パソコン側に擬似エミュレーションアプリは不要です。
エスリルの動作モード(英字/かな)の切替えは以下のキーで行います。
・esrille日本語ON Fn+Nキーを押します。(CapsLockのLEDが点灯します)
・esrille日本語OFF Fn+Bキーを押します。(CapsLockのLEDが消灯します)
エスリルの動作モード(英字/かな)と同期を取るためのIMEの設定が必要です。
ローマ字入力の制約でエスリルの標準ファームではかなモードキー入力できない記号があります。 [ ] , . ・ (配列図の赤丸のキー) また、以下の配列図の青丸のキーはIME側で記号読替えする前提でキーコードが定義されてます。 [→「 ]→」 ,→、 .→。 ・(中点)→/ IMEのローマ字変換定義に固有の変換文字を登録し、合わせてエスリルファームを個別修正することで対処は可能です。 11 Nicola J型 配列 ◆Fn+F1→jp、Fn+F2→nicoで選択します。 JIS配列をベースに親指シフトのかなキーを配置した配列です。
12 Nicola F型 配列 ◆Fn+F1→jp-n、Fn+F2→nicofで選択します。 左親指ポジションに無変換キーがあり、親指シフト専用キーボードに近い操作ができます。
13 Nicola A型 配列 Nicola A型 配列(US配列がJIS配列で認識される場合) ◆Fn+F1→us、Fn+F2→nicoで選択します。 us配列をベースに親指シフトのかなキーを配置した配列です。 日本語WindowsではUSキーボードをJISキーボードと認識する場合があります。そういう配列だと思えばそのままでも使えますが、アンダーバーのキーはありません。 正しく英語キーボードと認識させるにはWindowsのレジストリ変更が必要です。
14 IME選択 ◆エスリルの動作モード(英字/かな)の切替え操作に連動してIMEをON/OFFさせる為に、esrille日本語ON/OFFキーを押したときにパソコンに送るキーコードを選択します。 Fn+F3キーを押して選択します。 この選択に合わせIMEのキーカスタマイズを行ってください。 選択の目安 MS-IME → pc Google日本 → pc Atok → 109a japanist → 109b
(注) エスリルキーボードはまだ進化途中です。上記のレイアウトを基本にカスタマイズ機能が追加されると思います。