天高工房

キーキャップに印字して遊んだり電子工作して遊んだりしたことを書くかもしれません。

キーボードへの指の置き方の分類

はじめに

これまで様々な配列やその議論を見る中で、私の研究結果と真逆ともいえる意見を見かけることが度々ありました。 この意見の違いがどこから発生するのかを考えたとき、どうやらキーキャップ上への指の置き方に「スタイル」があり、その違いによるものが大きいのではないか、と考えました。

とりあえず情報公開しないと始まらないと考えたので、列挙だけして公開します。 事実だけではなく、感想/主観も含めているので議論の材料にするときは分けて考えてください。

指の置き方

ホームポジションに指の腹を置く

  • 爪が長めの人に多い打鍵方法です。
  • 指の腹でキーキャップの天面を押します。
  • 指が伸び気味で打鍵をします。
  • 指が伸び気味なので、打鍵に使う指の腹を直線状に配置できません。
  • 指がホームポジションですでに伸び気味なので、数字キーが遠く感じます。
  • 指の長さにあわせて上下位置を調整したColumn-staggered layoutと相性が良いのではないかと考えられます。
  • 手の角度がある程度楽になり、小指位置が近くなるAlice layoutとも相性が良いと考えられます*1
  • Ortholinearとは相性があまりよくないと考えられます。

  • マツコみてたらぺかそちゃんはこれでした。

ホームポジションに指の腹でタイピングしてる例

ホームポジションに指の先を置く

  • 爪を短く切っている人に多い打鍵方法です。
  • 指を立てて、指先でキーキャップの天面を押します。
  • 指は軽く握りこむように丸めた状態で打鍵をします。
  • 指の曲げ加減の調整で、打鍵に使う指先を直線状に並べることが用意です。
  • 指がホームポジション位置で曲げ気味でまだ伸ばせる余地があるので数字キーは割と届きます。
  • Ortholinearと相性が良いです。
  • Column-staggered layoutおよびAlice layoutに恩恵をあまり感じられない傾向があると思います。
  • 私はこれです*2
  • びあっこちゃんはこれです。
  • kinesisは構造の都合で強制的にこちらの打鍵スタイルになります。

ホームポジションに指の先を置いてタイピングをしている例

www.youtube.com

指を置かない

  • キーキャップ天面の印字を見るためにキーボード上に手を置かずに打鍵します。
  • キーボードを使う機会が少なく、どこに何があるかまだ覚えていない人が採用することが多いスタイルです。
  • hunt and peckと呼ばれることもあります*3
  • 各手の1本または2本の指を使って打鍵することが多いです。
  • 広義では、ペンなどを使ってタイピングをするのもこれに分類されると考えます。
  • どこに何があるか覚えやすい配列が望ましいので、相対位置の紛らわしさが少ないOrtholinearと相性が良いのではないかと思います。

指を置かないタイピングの例

www.youtube.com

www.youtube.com

あなたはどのスタイルだったでしょうか?

向き不向きはありますが、良し悪しは特にないと思います。 最終的には最も慣れている、キーボードを打つということを意識せずに入力が行うことができる方法が最善だと思います。

しいて言うならば、爪は大抵のプラスチックよりも硬い*4ので、長くきれいな状態で使いたいのであれば爪が当たらないような打鍵スタイルにするのが望ましいでしょう。

キーボード選びの参考になれば幸いです。

また、キーボードへの向き合う姿勢は以下のようなことから複合して発生しますので、部分的に無理に変更して体を痛めないように気を付けてください。これに関してはまた別の記事を書きます。

  • 机の手前端からキーボードまでの距離
  • 利用可能な横幅
  • 椅子への座り方
  • ディスプレイ位置
  • 腕の置き方

参考資料

imagemagic.jp

http://www.sankyo.cup.com/catalog/SUNBAREX-2008.06.pdf

*1:個人的にはAlice layoutってスイッチを回転させておいたcolumn-staggered layoutだよねって思ってます

*2:人差し指を比較的伸ばし気味において、強く開いたハの字にしてます

*3:日本人がこの名称を使うことはまずないです

*4:鉛筆硬度。爪は2H程度で、ABSはF相当

(WIP)キーボード頻出質問想定回答集

WIP

○○キーはどこですか?

  • 全てのキーが○○キーであり、○○キーではありません。
  • どこにでもおけます。
  • 平面上にどういう風にスイッチが並んでいるか(物理配置)と、どのスイッチを押すとどの記号が入力されるか(論理配置)は関係ないです。
  • スペースキーにPrint Screenを配置してもいいです。
  • Ctrl+CにCtrl+A, Ctrl+VにDeleteを割り当ててコピペのつもりが全削除、みたいな邪悪なキーボードを作ることもできます。
  • プログラムをちょっと書く必要がありますが、「Q,W,E,Rを同時押ししたとき、Backspaceになる」というような挙動も可能です。

MacOS/iOS/androidなどWindows以外でも使えますか?

基本的にそのまま使えます。雑にいうと「USBキーボード」という規格が存在しているので、USBキーボードが接続できるなら基本的に使えます。例外としては、LEDが大量についているようなキーボードだと、「消費電力が大きすぎる」と表示されて使えないことがあります(iOS)。

MacOS/iOS

基本的に同じ位置にあるキーにマッピングされますが、CommandキーとOptionキーは場所が入れ替わったようになります。詳しくは「Mac windowsキーボード」あたりでググるとでてきます。

mac-windows-pc.com

ぶっちゃけ持ってないのでわからないです。情報か端末をください。

android

特に問題なく使えます。日本語キーボードの場合は以下のURLの手順に従って設定を変更してください。

support.google.com

電子工作したことがないですが組み立てられますか。

段取り次第です。

分かっている人にきくのが一番ですが、分かってる人のもっている情報が古い場合があるので、まずはゴッドはんだ株式会社(ノセ精機)のウェブサイトを一通り読んでください。

godhanda.co.jp

ジャンクkinesisを買ったときにやること

この知識をこの先の人生何回使うのかわからないけどメモ。

1uキーキャップを全部外す

カニカルキーボードは、天地返しをしてキーキャップの裏側にゴミが入った状態で天地を戻すと、キーキャップとスイッチの間/スイッチの天面にゴミが載る可能性があります。天面にゴミが載っている状態でスイッチを押し込むとスイッチ内部にゴミが入る可能性があります。直ちに壊れることはないでしょうが、触感に異常がでるということはありそうなので先に外すのがよいでしょう。

プレートの上のゴミをとる

構造上ごみがたまっています。掃除機やブラシ、スライムなどを駆使して掃除してください。

天地返してネジを6本外す

6本でとめられているだけなので外せばあきます

蓋を外してメイン基板とUSB基板を繋ぐケーブルを外す

裏蓋にUSB基板が別で存在しています。メイン基板とUSB基板を繋いでるケーブルを1本外してください。

このとき、ケーブルを掴んで引っ張るとケーブルを破損する可能性があるので、可能であればIC引抜器をつかってハウジングを掴んで引っ張ってください。

ゴミを掃除する

kinesisのプレートにはスリットがあるため、内部にゴミが入り込みます。掃除してください。

MX Ergoの評価とメンテナンス

MX Ergoの調子が最近悪く感じたので、分解清掃しました。 ついでに購入からちょうど2年だったので、合わせて雑に評価を書きます。

評価というか目次

初めてのトラックボールにはおすすめしない

ぶっちゃけM570tに傾斜切り替えとBluetooth、解像度切り替えがついただけです。 親指トラックボールを評価するだけならM570tやエレコムが最近出してきた親指トラックボールでいいでしょう。

メイン機でlogicool unifying, サブ機でBluetoothという使い方はそれなりに便利

どうしてもメインPCとサブのノートPCで並行して操作をしたいとき、ホイールの手前についてるボタンでUnifyingとBluetoothの切り替えができます。 これがそれなりにレスポンスがよいので、便利です。

ただ、これはUSB switch機などで代替できてしまいますし、そちらのほうが複数USBデバイスをまとめて切り替えられるので便利かもしれません。USBハブも兼用できます。

傾斜角20度は便利だけど欠点あり

実は机の上に手を出したときに手のひらが下を向いている状態というのは、前腕がねじれ切った状態です。 この状態では、肘を上げないと、手首に負担がかかる状態になります。

MX Ergoにはチルト機能があり、M570t同等の角度と、そこから20度起こした角度が選べます。

使ってみるとわかるのですが、起こしたほうが収まりがいいことが多いので、基本的には起こしたまま使い続ける人が多いでしょう。

そして欠点というのは、センサーの角度です。トラックボールは埃や手垢を巻き込むため、使うにつれ動きが悪くなります。トラックボールを使っているならば、支持球の掃除はたびたびおこなうでしょう。

そしてlogicoolトラックボールは、おそらくごみ排出も兼ねた穴がボールの下についています。MX Ergo はおそらくM570tを流用しているため、水平状態のときに穴が真下に来ます。

つまり、起こして使うときはごみ排出が不十分になるのです。それどころか、よりによって穴の右側にはセンサがあります。センサがおそらく右下45角度の位置から、右下25度程度の位置になってしまうのです。

これによって、通常は穴から排出されるか支持球に溜まるばかりのゴミが、センサにも入りやすくなっています。 結果として、ボールの動きはよいけれど反応が鈍いという状況が発生します。 こういうとき、見に行くとゴミがセンサーを隠していることがあります。

ゴミが入ってしまっている場合は、先が細いピンセットがないと除去が難しいです。逆さにして振り下ろし急停止で吹っ飛ばせることもありますが、ピンセットで抓みだすのがよいでしょう。

さらに次に進みます。

部屋が汚い人はメンテナンス方法を覚える必要あり

この記事を書くことになったきっかけは「ホイールが上向き回転はスムーズだけど下向き回転が空転してるようになることがある」という問題が発生したことです。

分解してわかったのですが、MX Ergoのホイールは保護がない光学式ロータリーエンコーダーでした。

恐らくホイールの左側に投光器、右側に受光機があり、ホイールにはスリットが一定のパターンで入っています。 ホイールが回転するときに、このスリットによって光が抜けたり、スリット以外の部分で遮られたりします。 これによって回転をとっていると思われます。

問題となるのは、ホイールが左右のチルトに対応するために左右に空間が設けられていることです。 ここから内部にゴミが侵入します。 20度傾けているとホイールも20度傾きます。 このとき、上を向くのは凹んでいる側です。 侵入したゴミがホイール内に溜まりやすくなるので、ここにゴミがたまることでホイールの反応が悪くなったり、回らなくなったりするのでしょう。

私のMXErgoには羽毛が入っていました。どうやって...

一応雑に回らなかった報告ないかなーと探したら、amazonレビューに1件はみつけました。

肝心の分解

トルクスドライバーのT6と精密ピンセットが必要です。あとネジを保管しておく容器があるとよいでしょう。

この記事を読んでるような人は、ビット交換式の精密ドライバーセット当たり持っているかと思いますが、これは使えません。本体の分厚い側のネジ穴が奥のほうにあるのですが、ビットの六角部分がぶつかって回すことができません。専用のものを購入してください。

私は以下の物を買いました。サイズ的にはあってるはずなのだけど、ネジ頭に差し込んだときに少し頭が遊んだので他の物を買ったほうがいいかもしれません。

ピンセットはゴミをとるのに使うだけです。なかなかゴミが入りやすい構造をしてるのであったほうがいいです。先が細いやつがいいです。

ねじを保存する容器は、ダイソーなんかの食品コーナーに山積みしてあるタッパーセットの小さいやつが便利です。蓋がきっちりしまる容器に入れておくと、ぶちまけて紛失する事故が起きにくいです。透明なので何が入ってるかもわかります。

分解に関しては以下の記事が写真付きで詳しいです。

did2memo.net

内部のFPCケーブル/コネクタの位置関係から、上部ケースを外すときは、使用向きから右側に倒すように開けるとケーブルに比較的余裕があります。コネクタはピンセットで引き起こすとよいでしょう。勢いよくやりすぎると、コネクタのパーツが抜けるかもしれません。

MXErgoは年1回くらい分解清掃してもよさそうな構造をしていることがわかりました。

また、センサーにゴミが落ちやすいのでピンセットを常備する必要があります。

M570tと違って、シールやゴム足を剥がさなくてもネジが全部見えるので分解がとても楽でした。 どうもこれはバッテリー内臓だからのようです。 分解清掃を前提とするならば、バッテリー内臓デバイスがいいのかもしれません。

メンテナンスのことだけ分かっていればMXErgoはいい親指トラックボールだと思います

Otaku split rev1.1の紹介(WIP)

三行

  • 基板自体はrev1といっしょだよ
  • QMKの便利機能が無効になっていたのを有効にしたよ
  • これから組み立てる場合は一部部品を実装しなくてもよくなったよ

ハードウェア的には、rev1の一部部品を実装せずに動作するようになりました。

skyhigh-works.booth.pm

同梱部品表

番号 項目 数量
1 基板 2
2 ダイオード 80
3 TRRS 2
4 promicro 2
5 トッププレート 2
6 ボトムプレート 2
7 ねじ 4mm 28
8 スペーサー 8mm 10
9 スペーサー 12mm 4
10 ソケット 73

不要になった部品

  • ジャンパ抵抗
  • スライドスイッチ
  • リセットスイッチ

キーキャップについて

  • filco/diatecのMajestouch向けか、アーキサイトの日本語配列のMXスイッチ向けキーキャップが使えます。
  • 左右で重複する箇所のキーキャップは、そのままだと足りないのでテンキーやカーソルキーエリアの同じ行にあるキーをカツアゲして使います。
  • 最下段の親指/スペースキーがあるべき箇所に置くキーは、下から2行のどちらかにあるキーであれば形状が同じなので同じくテンキーやカーソルキーエリアからカツアゲして使います。

ビルドガイド

  • 左手は33キー、右手は40キーです。

  • promicroに何かしらのファームウェアを書き込んでみて、promicroに不良がないことを確認します。不良があったら購入先に連絡して新しいものを手に入れてください。

  • ダイオードをはんだづけします
  • ソケットをはんだづけします
  • ダイオードとソケットが正しくはんだ付けされていることをテスターで確認します
  • TRRSジャックをはんだづけします
  • promicroをはんだづけします
  • 右手と左手のpromicroそれぞれに「お前は今から右手用キーボードだ!」「お前は今から左手用キーボードだ!」と教え込みます(ファームウェア参照)
  • 実用のファームウェアを書き込みます
  • 完成!

ファームウェア

現在このforkリポジトリのotaku11ブランチにあります。

github.com

以下のコマンドでビルドできるでしょう。

make otaku_split/rev1.1:default

また、promicroに右手であること、左手であることを教え込むためのファームウェアを用意しました。

以下のコマンドでビルドできます。

make otaku_split/rev1.1:bootmagic

左手の場合は、USBを抜いた状態で英数(CapsLock)と左Ctrlを同時押ししながら左手側にUSBケーブルを差し込むと「お前は今日から分割キーボードの左手側だ!!!」と教え込むことができます。

右手の場合は、同じくUSBを抜いた状態で、Hと7、もしくはEnterキーとCtrlキーを同時に押しながら右手側にUSBケーブルを差し込むと「お前は今日から分割キーボードの右手側だ!!!」と教え込むことができます。

機能の紹介

bootmagicとee_handsを有効にしました。

bootmagicでできることに関しては以下のURLを参照ください。ざっくりできることを書くと、例えば一時的にWindowsキーを無効化したり、英数(CapsLock)と左Ctrlを入れ替えたり、英数(CapsLock)を左Ctrlに置き換えたりなどということがキーマップの再ビルドやファームウェアの書き換えをせずにできます。

WIP

BLE Micro Pro 標準ファームウェア (beta版)のバージョンアップ

重い腰を上げてようやくv0.4にあげたので書きます。

背景

例によって自分が必要な手順だけをまとめておきたいので書きます。

https://github.com/sekigon-gonnoc/BLE-Micro-Pro

バージョンを上げる

この章は、Getting startedの言いかえです。

github.com

BLE micro proはブートローダアプリケーションのバージョンをそれぞれ変更する必要があります。 非常に雑な説明をすると、ブートローダのバージョンはBLE micro pro自体のバージョンで、アプリケーションのバージョンはBLE micro pro上で動くBLE micro pro用のQMKファームウェアのバージョンです。

基本的に、ブートローダのバージョンを変更した場合は、合わせてアプリケーションのバージョンも変更する必要があります。

ブートローダのバージョンを確認する

現在のブートローダのバージョンによって手順が変わります。そのため、最初にブートローダのバージョン確認が必要です。

ブートローダのバージョン確認はPCから行います。最初に、キーボードのリセットボタンを押しながらPCとUSBケーブルで接続してください。

キーボードに取り付けていない状態の場合は、金属ピンセットなどの電気が流れるものでBLE micro proのBOOTピンとGNDピンを繋いでください。 以後リセットボタンを押しながらという操作はすべて置き換えて読んでください。

成功した場合は、BLEMICROPROという名前のマスストレージデバイスが検出されます。リセットボタンを離してください。 私の環境では、エクスプローラが開きます。 その中に以下の二つのファイルがあることを確認してください。

  • INDEX.HTM
  • INFO_UF2.TXT

もし、このファイルがなく、KEYMAP.JSNなどがある場合は、最初の手順に失敗しています。一度切断し、リセットボタンをPCにBLE micro proが認識されるまで離さずにPCとBLE micro proを接続してください。

上記の二つのファイルが確認出来たら、INFO_UF2.TXTを開きます。

1行目のUF2 Bootloaderに続いて書かれている、vから始まるピリオド区切りの3つの数字がブートローダーのバージョンです。

もし、ストレージデバイスとして認識されないけれどもCOMポートデバイスとして認識される場合は、最も古いバージョンのブートローダが書き込まれています。その場合は別手順が必要です。この記事では取り扱わないので説明が書かれているnrfutilを使ったアップデートのURLを紹介します。

github.com

最新のブートローダファイルを手に入れる

最新のブートローダファイルを入手しましょう。 ブートローダファイルはBLE micro proのgithubリポジトリのreleasesから手に入ります。

Releases · sekigon-gonnoc/BLE-Micro-Pro · GitHub

releasesは、リポジトリのルートページにリンクが用意されています。 https://github.com/sekigon-gonnoc/BLE-Micro-Pro

ブートローダファイルは基本的に、一番上に表示されているもっとも新しいバージョンであるlatest releaseを選択します。ファイルがいくつか並んでいますが、そのうち拡張子が.uf2のものを使います。ダウンロードしてください。

ただし、v2.0を使っている場合はv2.1、v3.0がはいっている場合はv3.1を経由してからでないと、うまくバージョンをあげることができないようです。latest releaseと経由するバージョンをそれぞれダウンロードしてください。

ブートローダを更新する

バージョン確認の手順と同様に、リセットボタンを押しながらBLE micro proとPCを接続してください。

ストレージデバイスとして認識されたら、エクスプローラで開きます。

前の手順でダウンロードしたブートローダファイルをBLEMICROPROにコピーしてください。 ファイルをコピー・ペーストしてもよいですし、ドラッグアンドドロップでも構いません。

BLEMICROPROに対してコピーが完了したら、若干時間をおいて自動的に切断されます。切断されたらバージョンアップは完了です。

ブートローダバージョンが更新できたことを確認する

最初の確認手順の繰り返しです。

一度PCとBLE micro proを切断してから、リセットボタンを押しながらBLE micro proとPCを接続します。

INFO_UF2.TXTの一行目のバージョン情報が、コピーしたファイルと同じになっていればブートローダの更新は完了です!

アプリケーションのバージョンを確認する

アプリケーションのバージョンを確認します。

何もボタンを押さずにPCとBLE micro proを接続します。

KEYMAP.JSNなど表示されるうちのVERSION.TXTを開いてください。

三行目のBuild from:bmp-に続くピリオド区切りの三つの数字がアプリケーションバージョンです。

最新のアプリケーションファイルを手に入れる

ブートローダsekigon-gonnoc/BLE-Micro-Proにありました。アプリケーションはsekigon-gonnoc/qmk_firmwareのreleaseにあります。

github.com

このなかの一番上のlatest releaseのQMK for BMPのAssetsの中にあるuf2ファイルをダウンロードしてください。

ただし、何かわけがあってブートローダの最新版を入れていない場合は、バージョンを揃えてください。そろえる必要があるのは数字三桁X.Y.ZのXとYです。Zはブートローダとアプリケーションの両方が最新のものであっても異なることがあります。

アプリケーションを更新する

この手順はブートローダの手順と同様です。ファイルが異なるだけです。

リセットボタンを押しながらBLE micro proとPCを接続してください。

ストレージデバイスとして認識されたら、その中に前の手順でダウンロードしたファイルをコピーしてください。

コピーが完了したらPCからBLE micro proが切断されます。

アプリケーションのバージョンを更新できたことを確認する

この手順はアプリケーションのバージョン確認手順といっしょです。

PCとBLE micro proを接続し、VERSION.TXTを開いてコピーしたファイルとバージョンが同じになっていることを確認してください。

バージョンが同じになっていたら、更新完了です。

ブートローダとアプリケーションの更新が完了しました。

標準ファームウェアはまだbeta版ですが、最小限だとストレージデバイスを認識して、中のファイルを編集する手段さえあればキーマップの編集ができるのでとても便利です*1

また、KEYMAP.JSNの中身はQMK configuratorのkeymap.jsonと同等の形式ですので、QMKのキーコードを覚えていない人でもQMK configuratorを使えばキーマップの編集ができます。 過去にはANYを駆使してkeymap.jsonを作成していましたが、現在はせきごん氏によってBLE micro pro用のQMK configuratorが用意されています。 BLE micro pro用のQMK configuratorはPCと接続したときにMAP_EDIT.HTMを開くとアクセスできます(要インターネット)。 詳しくは触れませんが、QMK公式の物に比べて様々な拡張がされています。

いっぱい使っていきましょう。

*1:キーコードが思い出せないことがたまにあります