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

Check todays hot topics

Search for Services:

Please Log in

スポンサーサイト

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

[親指シフト] 専用キーボードを造る(試作2号)

PCのUSBに繋ぐだけで親指シフト入力ができるエスリルファーム搭載の親指シフト専用キーボード2号機です。
既存のジャンクキーボードをベースに最下段に無変換・変換キーを増設して造りました。
サイズは幅32cm×奥行き18cm、重量800g弱です。
01 完成(前面)1
01 完成(側面)01 完成(背面)ファーム入替スイッチ(HID_Boot起動)

02M116原型ベースにしたキーボードはAppleの名機M0116です。
キータッチはソフトタクタイルからリニアに変更しています。
テンキー部はカットしてコンパクトサイズにしました。

メンテナンスを考慮して、分解・組立可能な構造にしています。(画像をクリックすると別窓に拡大画像を表示します)
①カバー留め具を外す
03箱+中身+上辺カバー+上カバー
②上カバー
04上カバー
③上カバーを外す
04箱+中身+上辺カバー
④上部カバーを外す
05箱+中身
⑤本体
06キーボード本体(中身)
⑥本体裏面
06キーボード本体(配線面)
⑦下ケース
07筐体(後)

FKB85789-661とPFU HHKB Proとのサイズ比較です。
ちょっと大きめですが、カバンに入れて携帯できない大きさでは無いと思います。
VS F661VS HHKB_Pro

[親指シフト]親指シフトキーボードを造る(試作1号)

エルゴなesrilleキーボードも快適に親指シフト入力できますが、オーソドックスなキーボードも捨てがたいものがあり試しに1つ造ってみました。
USB接続するだけで、親指シフト入力できるのでJAPANISTややまぶきなど、持ち込みソフトがインストールできない職場のPCに繋いで、快適に使っています。

01完成

esrilleキーボードに倣って、個人的にも使用していないキーを排除してコンパクト型にしました。
FKB8579-661サイズを目標にしましたが、ファンクションキーは独立型が好みなので、その分ちょっと大きめです。
Rboard for Macをesrilleファームに変更したとき、ちょっと不便に感じたのが日本語モードON/OFFのキー位置でした。
無変換、変換キーの両側に日本語モードON/OFFのキーを配置しスムースにモード切替ができる様にしています。
0201親指キー周り0202 比較
キー配列は2次元 CAD Jw_cad を使ってあれこれ悩みながら決めました。
左手で操作したいので、カーソルキーは左側に配置しています。
03完成(裏)04キー配列設計
キーボードのサイズがA4より少し小さめなので、 CADで描いたキー配列図をそのまま型紙にして、マウント板に穴を
開けています。
ベークライトは部品取りしたキーボードの廃材を流用しています。
05マウント板06べーク板
キースイッチはALPS黄軸です。マウント板、ベークライト、ALPS軸を組立てリード線で配線します。
07スイッチ組立08配線
親指シフト刻印ではありませんが、以前からキータッチが気に入っていたMACのM0115のキートップを流用しました。
07キートップ

※製作メモ

製作期間:着手から完成まで8ヶ月(延べ6ヶ月中断あり)

購入部品:
制御用マイコン+電子部品一式 約1,000円
アルミ板300mm×400mm×1.2mm厚 約2,000円(ふたつに切断して半分使ったので実質1,000円)

手持ちのジャンク部品:
キースイッチ(ALPS黄軸)96個 50円×86=4,300円
キーキャップ一式 部品取りしたキーボードの余り物なので0円
ベークライト      同上
リード線         使わなくなったLANケーブルを捌いて調達したので0円

トータルで製作費用は6,300円+α(手間暇は趣味なのでコスト外)

[親指シフト]ASKeyboardやRboard for MacをOSフリーのUSB親指シフトキーボードに改造する

 Rboard for MacやAskeyboardはコンパクトで打ち心地の良い親指シフトキーボードですが、
[親指シフト]ASKeyboardやRboard for MacをWindowで使う方法 - かもめ~る通信
に書いたように、今では入手困難な特別なアダプターが必要です。

 エスリルキーボードの制御回路は部品点数が少なく、シンプルなのでRboard for Macのエンコーダをエスリル仕様に交換しました。
 見た目はケーブルがUSBケーブルに変わっただけですが、キーボード側で親指シフト入力するので、PC側にJapanistや「やまぶき」などの擬似エミュレーションアプリを必要としません。MACでもUSBに繋ぐだけで親指シフト入力できるOSフリーな親指シフトキーボードになりました。
00 Rboard外観(表) 00 Rboard外観(裏)

01 RboardforMacコントローラ◆既存の制御基板、部品の取り外し
Rboard for MacはもともとAskeyboardをMac仕様に改造したものなので、本来コントローラチップがあるところに増設された制御基板が載ってます。この増設基板とその他の制御部品(LED部分以外)を取り除きます。
 取り除いた部品に繋がっていたプリント配線は全てパターンカットします。

◆部品を取り除いてできたスペースにエスリル制御回路用の部品を載せ配線します。
 制御回路の配線が終わったところでHIDbootloaderだけを書き込んだPIC(18F8445)を着け、PCに繋ぎ正常にキーボードデバイスとして認識されることを確認します。
01 Rboard中身(表)03 エスリル自作制御基板配置図
◆Rboard for Macのキーマトリクスを解析します。たまたまですがエスリルと同じ8×12のマトリクスだったので、
そのまま配線が使えました。ただColumn側配線の逆流防止素子は極性が逆になっているので、全てジャンパー線を繋ぎ無効にしました。
 解析したマトリクスパターンに合わせてPICに配線します。
04 Rboardキーマトリクス02 Rboard裏配線
◆エスリルファームのソース定義を修正しHEXファイルを作ってHIDbootloaderでPICに書き込み完成です。
 もともとのエスリルファームはR1C2が空きになっていますがファーム内部の制御用(VOID_KEY)に使っているのでRboardマトリクスの空きR5C10に割り当てを変更しました。
05 エスリル仕様キー配列06 Rboard_esrilleキー配列

◆エスリルファームは複数のマトリクス定義を切り換えて使うことができる優れものです。
 通常のJISキーボード仕様のマトリクスも定義しました。こちらはJapanistや「やまぶき」を使って親指シフト入力するときに使います。
07 JIS仕様キー配置08 Rboard_JISキー配列

※この記事は、完成したRboard(もうfor Macではありません)で書きました。快適です。

追記
ファームウェアを改造して、OASYS時代の操作性を可能にしました。
[親指シフト]専用ファームウェアを作成

[親指シフト]エスリルキーボードを作る

エスリルキーボードは、キー配列、回路図、ファームウェアソースが公開されています。
で、作ってみました。
左右の鍵盤部を蝶番で繋いで傾斜角度を変えられるようにしました。
スライド式のキーボードテーブルの隙間に合わせて、オリジナルよりは緩やかな傾斜にしていますが、
快適に打鍵できます。
USBコネクタはミニタイプBにL型コネクタをつけケーブルが横に引き出せるようにしました。
00 完成00 完成(背面)
キースイッチはリニアタッチのALPS緑軸です。手持ちのすぐに使える緑軸が不足したのでFキーは黄軸を使いました。
制御基板と鍵盤部基板は直付です。
01 配線(全体)02 配線(制御基板)
制御基板は汎用基板で作りました。
下2行を鍵盤部との接続端子にし、マイコンのピンの並びを制御基板部でマトリクス順にそろえました。
03 制御基板04 エスリル自作制御基板配置図
05 お盆表06 お盆品名ラベル◆ALPS軸のマウント板を作ります。材料は100均で見かけたお盆を使いました。
08 マウント板カット09 軸穴完成(左)型紙はがし09 軸穴くり抜き◆お盆の縁を切り落とし、モック用に公開されている原寸大のキーレイアウト図を貼り付け型紙にします。
ALPS軸穴をけがきしドリルと小型ヤスリでひとつづつ穴開けしました。
10 ベニア基板作成1◆プリント基板は作りませんが、軸のマウント強度を確保するための板を作りました。穴開けしたマウント板に重ねて軸足を通す穴をあけます。
11 基板外側(右)◆当初はベニア板で作るつもりでしたが、ハンダ付けの熱に耐えられそうに無いので、部品取りして残骸になったキーボードのプリント基板を加工しました。元々のプリント配線でショートしない様に、軸穴の面取りをしています。

マウント板、ALPS軸、プリント基板を組立ます。
12 軸装着(表)13 基板装着
鍵盤部の配線は、反転したキー配置図にマトリクスコードを記入した図面を見ながら、軸足をリード線で繋ぎました。
赤丸は逆流防止用ダイオードです。
配線完了後、左右の鍵盤部を蝶番で結合しました。
14 鍵盤部完成15 鍵盤配線ワーク図
17 筐体展開18 筐体19 筐体斜視◆筐体はベニア板で作りました。真ん中に鍵盤部の傾斜を調整する仕切り板を付けました。

制御基板と鍵盤部を繋いで、動作確認です。
20 完成(キートップ付)
事前にテスターで断線、ショート箇所が無い事を確認しましたが、通電時に勝手にBootloaderが起動してしまう事が多々あり、動作が安定しませんでした。
ハンダ付けの甘さに原因があった様で、何カ所かのハンダ付けを強化する事で正常に動作する様になりました。

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

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

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は全配列共通なので、カスタマイズした定義しか使えません。
« | HOME |  »
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。