自作キーボード
自作キーボード(じさくキーボード、英: self made keyboard、あるいはcustom keyboard など)とは、ユーザ自身がキーボード部品を用意して組み立てたコンピュータへの入力機器のこと。
概説[編集]
自作キーボードとはユーザ自身がキーボード用の部品(キーキャップ、キースイッチ、ケース、基板など)を調達し、組み立てたものである。
「自作キーボード」という用語・概念は、主に大手コンピュータや入力機器メーカーなどによって大量生産されるキーボードと比較し、小規模で製造されたものを指す意味で用いられる。
自作キーボードにはユーザ自身の好みで仕様(レイアウト、スイッチ配置など)を決められる、キー入力マップを自由に変更できるなどのメリットがある。
価格は一般に流通するキーボードより高価格である場合が多い。
自作キーボードのデメリットとしては、組み立てによる不具合に対して保証がなく自己責任であり、またその使用において発生する不具合も自己責任である点に注意が必要である。
分類[編集]
自作キーボードを分類する学説や定説は存在しないため、状況や分類法により様々な分類が存在する。
目的による分類[編集]
自作キーボードによって目指すものによって分類する手法。
自作キーボード[編集]
一般に流通するキーボードの枠組みに捕らわれず、キーレイアウトを指の長さや稼働域に合わせたものや、腕を自然に前に出した状態で使用できるように左右で分割した構成のものを、後述のカスタムキーボードと分類するために自作キーボードと分けて呼称する場合がある。
日本国内で自作キーボードというと、こちらの分類におけるキーボードを想像する場合が多い。
カスタムキーボード[編集]
一般的なキーレイアウトで、タイピングの感触や見た目の高級感を追求した物をカスタムキーボードと呼称する場合がある。
日本国外ではカスタムキーボードの方が人気が高く、新しい素材や構造などが日夜研究され、リリースされている。
構成による分類[編集]
キーボードの構成によって分類する手法。
一体型[編集]
一般に流通する通常のキーボードのように、左右の手でタイピングするキーがひと繫がりのケース、または基板によって一体となっている構成ものを指す。
後述の左右分離型に比べ部品点数を抑えられるため、組み立て難易度はやや低いものが多い。
左右分離型[編集]
左右の手でタイピングするキーがケース、基板共に別体となった構成のものを指す。
左右のキーボードは3.5mmステレオミニジャックやUSBケーブルなどで繋ぐことで左右間で通信を行い、通常のキーボードのように入力が可能となる。
左右間を繋ぐためのコネクタや、マイコンチップなどハンダ付け点数が多くなるため一体型に比べてやや難易度が高い。
レイアウトによる分類[編集]
キーの並び方によって分類する手法。
ロウスタッガード(Row-staggered)[編集]
詳細は「キー配列」を参照
一般に流通する普通のキーボードが採用する横にズレたレイアウト。
自作キーボードにおいてこのレイアウトを採用していても、Z行のズレが通常のキーボードのズレと異なる(通常0.5キー分右にズレているが、0.25キー分のズレになっているもの)ものも多いため注意が必要。
オーソリニア(Ortholinear)[編集]
もしくは直行配列、格子配列。
碁盤の目状にキーが並んだレイアウト。
タッチタイピングを行うには慣れが必要だが、ズレがないためホームポジションから極端に遠いキー(例えばBキーやYキー)は存在しないため、移動量を減らすことが出来るレイアウトである。
市販されるほとんどのキーキャップセットの印字と一致しないため注意が必要だが、この配列専用のキーキャップセットが市販されている場合もある。
オーソリニアという語はTypeMatrixによって「ortho-linear」として造られた造語である。
Planckというキーボードが有名。
カラムスタッガード(Column-staggered)[編集]
もしくはカラムナースタッガード。
縦にズレたレイアウト。
オーソリニアレイアウトから更に各指の長さにあわせるように縦にズレたレイアウトである。
タッチタイピングに慣れは必要だが、指を無理に伸ばす必要がなくなるため疲労低減に効果がある。
キー数による分類[編集]
一般に流通する所謂フルキーボードを100%とした場合、キー数のおおよその割合によって分類する手法。
100%[編集]
テンキー付きのレイアウトで、いわゆるフルキーボード。
キー数が多く、組み立ての手間が非常にかかることから、自作キーボードにおいてこのレイアウトはあまり採用されない。
キー数はおおよそ100キー前後である場合が多い。
80%[編集]
100%からテンキー部分を省いたもので、いわゆるテンキーレスキーボード。
カスタムキーボードで最も人気のある構成であるが、自作キーボードにおいては本レイアウトを採用するキーボードは少ない。
キー数は70キーから100キーまでである場合が多い。
60%[編集]
80%から更にカーソルキーとファンクションキーを省いたキーボード。
自作キーボード、カスタムキーボード共に人気のあるレイアウトで、一般に流通するキーボードにおいてもHappy Hacking Keyboard等で人気が高い。
ファンクションキーなどのキーが登場し、キーボードごとに仕様が大きく異なるため、慣れが必要になってくる。
キー数は50キーから70キーまでである場合が多い。
40%[編集]
60%から更に数字列を省いたキーボード。
ファンクションキーとは別のレイヤーキーという特殊キーが必須になり、使用には更に慣れが必要になる。
カスタムキーボードの採用例は少なくなり、自作キーボードの方が多くなるジャンルである。
キー数は40キーから50キーまでである場合が多い。
30%[編集]
40%から更に修飾キーの殆どを省いたキーボード。
アルファベットキーを押す長さによって修飾キーのように動作するように調整したものが多い。
非常に慣れと調節が必要であるが、机を専有するスペース、指を動かす距離は極小であるため根強いファンも多い。
マクロパッド[編集]
テンキーなどを含む、文字入力を目的としないキーボード。
一桁のキー数から30前後までのテンキーを包括してマクロパッドと呼ぶ場合がある。
キーボードに比べキー数が少ないので初心者の組み立て練習に用いられる場合が多い。
自作キーボードの構造[編集]
キーが入力でき、実用ができる最低構成を列挙する。
キーキャップ[編集]
キートップと呼ばれることもあるが、世界的にはキーキャップと呼称されることの方が多い。 キーボード (コンピュータ)#キートップも参照。
キースイッチに対応するキーキャップが必要。
キースイッチに対応するキーキャップであればよいため、使わなくなったキーボードから流用する場合も多い。
様々なメーカーが生産している。
日夜様々なデザイナーが新しいプロファイル(形状)やカラーデザインなどを提案しており、売買も世界中で頻繁に行われている。
キースイッチ[編集]
自作キーボードにおいては一キー毎に電気的な接点として独立しているメカニカルスイッチを用いることが多い。
マイコンチップ[編集]
キースイッチの押下をキーコードに変換して接続するコンピュータに送出する機能を持つ。
自作キーボードにおいてはATmega32U4を搭載したSparkFun Electronics社製のプロトタイピングボード(通称Pro Micro)を使用することが多い。
自作キーボードのファームウェア[編集]
QMK (Quantum Mechanical Keyboard) Firmwareというオープンソースファームウェアを使用する場合が多い。
日々新しいキーボードや機能が追加されている。
プログラミング言語のC言語によって記述され、自分の環境にダウンロードして独自のカスタマイズを行うことが可能となる。
QMK Firmwareの幅広いカスタム例として以下の動作の一例を記述する。
レイヤーキー[編集]
一般に流通するキーボードにおけるファンクションキーのように、押している間、もしくは次に押すまでの間キーマップを別のものに切り替えるキー。
レイヤーがOnになっていない場合、hキーやjキーは通常通り文字が入力されるが、レイヤーキーがOnになっている間は左カーソルキーや下カーソルキーに変化する、などの用に使用される。
前述の40%以下のキーボードでは複数のレイヤーキーが定義され、多くの場合LowerキーとRaiseキーが定義されている場合が多く、それぞれに記号や数字キー、ファンクションキーなど用途毎にキーを配置している場合が多い。
また、LowerキーとRaiseキーを同時押しすることでAdjustレイヤーに移動するなど、様々な動作が定義できる。
マウスキー[編集]
マウスカーソルを移動することができるキー。
左クリックや右クリック、ホイールスクロールなどの動作を行うことができる。
Mod-Tapキー[編集]
短く単押しでアルファベットキーやスペースキーなどのキーコードを送出し、長押しすることで修飾キーやレイヤーキーなどにすることができる。
30%キーボードなどキー数が少ないキーボードでは必須となる。
Tap Dance[編集]
短い時間で連続で押下されたときに動作を変えることができる。
例を上げると普通に押すとタブキーだが、短く2回タタンと入力するとエスケープキーになる、という動作ができる。
マクロ[編集]
文字列を1回のキー押下でコンピュータに送出することができる。
定型文などを1キーで送信することができるが、パスワードなどの文字列を設定することは推奨されないので注意が必要。