Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
あなたの知らないキーボードの世界 / A world of keyboard 2
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
akrolayer
September 17, 2019
How-to & DIY
410
0
Share
あなたの知らないキーボードの世界 / A world of keyboard 2
akrolayer
September 17, 2019
More Decks by akrolayer
See All by akrolayer
最近読んだ本の話
akrolayer
0
170
LTのモチベーション
akrolayer
1
760
よく使うキーって何?
akrolayer
1
250
史上最強の哲学入門の紹介
akrolayer
0
300
13歳からのアート思考の紹介 / art thinking from 13
akrolayer
0
240
老後貯金と今の幸せ / Hump saving and Now Hapiness
akrolayer
0
200
感情のカテゴライズ / Categorize of emotion
akrolayer
0
200
不安とは / What is Vague anxiety
akrolayer
0
290
LT説明会 / Introduce to LT
akrolayer
0
160
Other Decks in How-to & DIY
See All in How-to & DIY
個人制作コンテンツの多言語展開のノウハウを全公開! 〜世界に自分を発信しよう!〜
syotasasaki593876
0
170
「変えること」「変わること」を楽しむ力で"敵わない存在"と向き合う
subroh0508
2
1.6k
JAWS-UG/AWSコミュニティプログラムのご紹介 (JAWS-UG広島)
awsjcpm
1
130
20250226_AI Code Agents祭り_MK_AIコーディングエージェントのコラボレーション開発
mk0721
PRO
0
150
放っておくと怖い睡眠負債について/fjordbootcamp-251122
yuukago
3
230
JAWS-UG/AWSコミュニティ JAWS-UG おおいた
awsjcpm
2
3k
JAWS-UG/AWSコミュニティ -JAWS-UGくまもと#16
awsjcpm
1
200
MustをWillに変える技術 〜アイドル・郁田はるきが"すべき"の壁を超えるまで〜
subroh0508
1
1.7k
JAWS-UG初心者支部 JAWS-UG Updates
awsjcpm
4
120
JAWS-UGのご紹介 JAWS-UGとは?
awsjcpm
0
5.6k
Xの"だるま"とコナミコマンド #iotlt #obniz
n0bisuke2
0
330
AIをフル活用! 猫版MBTI「CATS診断」 爆速開発の裏側【個人開発のAIツール活用 LT Night 登壇用スライド】
omori0219
0
1.5k
Featured
See All Featured
Done Done
chrislema
186
16k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
How to build a perfect <img>
jonoalderson
1
5.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
A Modern Web Designer's Workflow
chriscoyier
698
190k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
330
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
130
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Everyday Curiosity
cassininazir
0
190
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Transcript
あなたの知らない キーボードの世界 サポーターズcolab
What are you like? • 岡本 怜也 • 大企業メーカの子会社勤務 ◦
機器操作のGUIを作ってます(C#, .NET) • 趣味:TCG, ボードゲーム, e-sports観戦, PCゲーム
最初にクイズ • Q. なんでキーボードのキー配列は斜めなの?
最初にクイズ • Q. なんでキーボードのキー配列は斜めなの? ◦ A. タイプライターの物理的な制約の名残
最初にクイズ • ゲーミングキーボードに多く搭載される、Windowsキー 無効化機能。この機能がないために起こったこととは?
最初にクイズ • ゲーミングキーボードに多く搭載される、Windowsキー 無効化機能。この機能がないために起こった事件とは? ◦ A. ゲーム大会中にWindowsキーを押して操作不能に なり負けた選手がいる
なぜキーボードの話? • デスクワーカーが一日で最も長く触れているものは?
なぜキーボードの話? • デスクワーカーが一日で最も長く触れているものは? ◦ マウスとキーボード ▪ エンジニアならキーボードのほうが多い? • 今回はキーボードについて
◦ マウスについてはまたの機会に ▪ かぶせ持ち、つかみ持ち、つまみ持ち
目次 • キーボードの入力方式 • 自作キーボードの概要 • 自作キーバインド設定
US配列とJIS配列の違い • 違う形のキー、USにはないキーがあり、記号の位置が違う ◦ Enter、BackSpace、半角全角、変換無変換 • US配列のほうが、小指でカバーする部分が1列少ないので、 小指が痛くならない ◦
「:」と「;」が同じ場所、括弧の開閉が同じ場所 ▪ プログラムを書くときに合理的で楽
キーボードに求められること • キーの押し心地(個人で好みが出るところ) ◦ 押す重さ ◦ 底打ちの感覚 ◦ キーの大きさ ◦
音 • 機能 ◦ 二重入力の少なさ、nキー同時押し対応 ◦ 印字が消えないこと ◦ 安定して入力できること、長く使えること
安価なキーボード (メンブレン、パンタグラフ)
キーボードの入力方式 • メンブレン方式 ◦ 最も普及している ◦ キーとスイッチの間に回路シートが入っている ◦ 押し返す機構はシリコンキャップ ◦
押し込んだらペコペコした反発、ぐにゃりとした底打ち
キーボードの入力方式 • パンタグラフ構造 ◦ ノートパソコンでよく使われる ◦ メンブレンと似ているが、まわりにX字型の支持構造 があることでしっかりとした打ち心地と薄型化が可能 ◦
MacBookはバタフライキーボード ▪ V字型の支持構造 ▪ とても薄くタイピングが軽いが、耐久性が低く(埃 に弱い)、反発がないため好みが分かれる
メンブレン方式とパンタグラフ構造 • どちらも安いなりに機能面が弱い ◦ nキー同時押しに対応していないことが多い ◦ 高速でタイピングすると入力中にキーボードがたわん だり動いたりして入力が安定しない ◦ 長く使えない(故障すると全取り換えになる)
• 価格は1万円を超えることはほぼない • メカメンブレンという新種
高価なキーボード (メカニカル、静電容量)
なぜ高価なのか • 1つ1つのキーに対してスイッチがついている • キーボード自体が重くて丈夫、耐久性が高い • ブランド
• 高価であるけれども、それでも選ぶ理由がある ◦ 先ほど述べた求められる機能は絶対持っている
キーボードの入力方式 • 静電容量無接点方式 ◦ キー押下時の電気容量の変化でキー押下を感知 ◦ 接点がないため、滑らかなキータッチ・軽い押し心地 ◦ 音が静か、特徴的
◦ キーボード自体が重く、入力中に動かない ◦ 日本では東プレのみ採用 ▪ 15000~30000円くらい
キーボードの入力方式 • メカニカル方式 ◦ いわゆるゲーミングキーボードはほぼこれ ◦ 採用しているキースイッチによって、押し心地が大きく 異なる ▪ Cherry製MXシリーズ、Kailh製シリーズ、
Gateron製シリーズ、独自スイッチ、etc...... ◦ 値段は8000~30000円前後 ▪ 有名なメーカをおすすめ • 良くないものもあるので......
メカニカルのキースイッチ • 最もメジャーなのはCherry製MXスイッチ ◦ 黒軸:スイッチ感は無くストレートな押し込み(linear) ◦ 茶軸:軽く素直な押し込み感と、底打ち前にカチリと 軽やかなスイッチ感がある(tactile) ◦ 赤軸:スイッチ感はなく黒軸を軽くしたもの(linear)
◦ 青軸:茶軸に明確なスイッチ感を加えた(clicky) • 押下圧:黒軸>青軸>赤軸≒茶軸 • クリック音の大きさ:青軸>茶軸>赤軸>黒軸
メカニカルのキースイッチ • 家電量販店、PCショップのゲーミングキーボードコーナー に押し心地を試せる場所があるので、実際に押して好み で選ぶ • 他にもKailh 銀軸、Gateron 白軸といったものや、ゲーミン
グであればオムロン独自軸などメーカ独自も存在
余談:ゲーミングとは? • PC:CPU,GPU, メモリなど高スペックなPC • ヘッドセット ◦ 長時間使用でも快適、サラウンド、普段使いに不向き
• キーボード、マウス、モニタ ◦ 長時間使用でも快適、応答速度が速い、 光らせることができる • アイウェア、チェアなどもある
自作キーボード
自作キーボードの概要 • 基盤やケース、プログラムなどどこからでも自作できる ◦ 市販されているキットの基盤にダイオードやキース イッチ、マイコンをはんだ付け ▪ 自分で基盤の形を考え、キット制作すると猛者 •
「自作キーボード キット」で検索すると色々出てくる ◦ キースイッチ、キーキャップ、ケーブルが付属していな いことが殆ど • かっこいい、楽しい、電子工作入門
キーボードキット • Helix,Corne Cherry, Zinc, ErgoDash, Mintなど ◦ キーの数はキットによって異なる
• 注意点 ◦ MicroBケーブル、4軸か3軸ジャックケーブルが接続 のために必要(別売り) ◦ キースイッチ、キーキャップは別売りのことが多い ▪ キット、キースイッチ、キーキャップ、ケーブル全部 で大体30000円前後
なぜ自作する必要があるのか • 自分で決められる ◦ キーの押し心地、触り心地(スイッチは100種類以上) ◦ キーマッピング、キーの数 ◦ 特定のキーだけ軸を変える
• キー自体の配置を変える ◦ 左右分離、格子状配列、立体的構造...... • 既存のキーボードの不満点を解決できる ◦ 親指のもったいなさ、小指の酷使
なぜ自作する必要があるのか • レイヤーを用いて自分の好きな入力方法ができる ◦ 1つのキーに対して、レイヤー1、レイヤー2、 レイヤー3、......で異なるキー設定ができる ▪ 可能性は無限 ▪ Ex.
レイヤー1ではよく使うキー、レイヤー2では 数字、レイヤー3では特殊キーを割り当てるなど
自作キーボード作成手順 1. (キット買ったとして)ダイオード、Pro Micro、(LED)、キー スイッチをはんだ付け 2. Pro Microにqmk_firmwareを書き込む
3. キーキャップをはめる 動作確認は各手順ごとに行ってください
qmk_firmware • オープンソースの自作キーボードのためのファームウェ ア ◦ 中身はC言語 • キーマップ設定を変更して、ビルドして書き込む ◦
少し環境構築が必要
キーマッピング • 現在最も普及しているのはQwerty配列(1882) ◦ 効率悪い • ローマ字は、母音を左手ホームポジションにすれば楽? ◦ 様々な先駆者がいる(英語も)
◦ 英語ローマ字:DvorakJP、Eucalyn、colmak...etc. ◦ ローマ字入力:けいならべ...etc. ◦ かな入力:親指シフト(Nicola)、月、飛鳥、新下駄、 蜂蜜小梅、薙刀式...etc. ◦ 自作キーボードは、簡単に自分で論理配列を設定可
興味を持った方は • 自作キーボード専門店「遊舎工房」 ◦ 元々はwebサイトだったが、実店舗を出店(秋葉原) ▪ パーツ取り扱いに加えて、2時間500円のDIYス ペースに必要な工具が全部揃いる ▪ わからないことは店員さんに聞くことができる
▪ 多くのキースイッチを試せる • Discord, twitter,ほぼ週刊キーボードニュース • 天下一キーボードわいわい会、ゆるキー、Tokyo Mechanical Keyboard Meetup
その先へ...... • 基盤を設計して業者に依頼 • 対応しないスイッチを削って装着、分解して組み合わせる • キーキャップを3Dプリンタで印刷(金属製、クリア柄など)
• 設計したらキット販売できるかも?
キーバインド設定
自作キーボードまでは...... • 自作キーボードまでは手が出せないが、不満点を解決し たかった私が行った方法 ◦ 配列のつらさをキーマッピングで解決
JIS配列の不満 • 変換キー、無変換キー、カタカナひらがなキー ◦ 押しやすい位置にあるが、使わない ▪ これらのキーをトリガーでキーバインドが便利そう ▪ スペースキーが短いとちょうど親指の位置、 長いと難しいかも
• 半角全角キ-が遠い
JIS・US配列共通の不満 • BackSpace, Delete, カーソルキーとその上の島 ◦ 遠い! • 記号入力、Enterの小指酷使
◦ 痛い、つらい • 述べた不満を解決していきます
キーバインド設定の動機 • 先ほどの不満を解決したい ◦ キーボードを自作までは...... ▪ キーバインド設定がデフォルトだったり、専用のソ フトで全てのキー設定を変更可能なものがある ▪ フリーソフトで設定できれば......?
フリーソフトでキーマッピング変更とキーバインド設定
用いるソフト • Windowsは「Change Key」+「AutoHotKey」 ◦ 私の業務PCはWindowsなので、私が やっている設定も紹介します • MacはKarabiner-Elements
(Sierra以前はKarabiner) ◦ Mac持ってないのでKarabiner-Elementsの 紹介のみとします
AutoHotKey • スクリプトを書くことで、キーバインドを設定できる ◦ 文法はかなり簡単(for, loop, sleepなどが使える) • 簡単なGUIも作成でき、コンパイルすると単独で実行可能
◦ 簡単なツールならこれだけで作れる • キー設定だけでなく、キー操作でマウス操作が設定可 ◦ 押しっぱなし、連打、指定時間押下などもできる ▪ 紹介する内容以外も実装したいならwikiを参考し てください
AutoHotKey導入 • サイトからダウンロード & インストール ◦ 英語表記だが、難しいことはほとんどない ▪ 途中で出てくる「Enable drag
& drop onto script」 にチェックを入れると、スクリプトファイルに直接ド ラッグ&ドロップで引数が入力可 • .ahkファイルに関連付けされ、右クリックメニューに追加 ▪ Run Script(実行) ▪ Compile Script(実行ファイル化) ▪ Edit Script(テキストエディタが開く)
キー操作置き換え • a :: b ◦ aを打つとbを打ったことになる • ScrollLock
& l :: Send, {Blind}^{Enter} ◦ ScrollLockとlを押すとEnterを押したことに ▪ Blindは一回操作したあと押下を明示的に離す • Return ◦ トリガーした文から最初のReturnまで実行 ▪ 最低一個無いとコンパイルできない
例 ScrollLock & l::Send, {Blind}{right} ScrollLock & j::Send, {Blind}{left} ScrollLock
& i::Send, {Blind}{up} ScrollLock & k::Send, {Blind}{down} Return ;;単語移動と行頭末尾移動 ScrollLock & o::Send, {Blind}^{right} ScrollLock & u::Send, {Blind}^{left} Return
変換/無変換キーの有効活用 • 変換キーを他の操作へのトリガーに使えばよいのでは? ◦ 変換/無変換キーはキーボードやドライバによっては AutoHotKeyが認識できないキーコードを送っている ▪ 使わないキーを割り当てる • ScrollLock,
Pause Breakなど
余談 • ScrollLock, Pause Breakキーってなに?
余談 • ScrollLock, Pause Breakキーってなに? ◦ ScrollLock:ONになっている状態だと、表計算ソフトで 上下キーを押すとセルではなく画面がスクロールする ◦
Pause Breakキー:BIOSによる画面表示を止める ▪ 19世紀に導入された電信の回路を切断するキー ▪ 独自の操作を割り当てているソフトウェアもある
Change key • Windowsはレジストリを書き換えることでキー設定変更可 ◦ ダウンロードし、実行すると下の画面 ◦ 変更したいキーをクリックして、開いた画面から 変更後のキーをクリックして、登録、再起動後完了 ▪
管理者権限で起動してください
Change keyによる割り当て後 • CapsLockはCtrl、無変換キーは半角全角、変換キーは ScrollLock、カタカナひらがなキーはBackSpace ◦ ScrollLockをキーバインドのトリガーとした
マウスクリックとエンター ScrollLock & Space::Send, {Blind}{Enter} ScrollLock & w::MouseClick,left,,,,,D ScrollLock
& r::MouseClick,right,,,,,D ScrollLock & w Up::MouseClick,left,,,,,U ScrollLock & r Up::MouseClick,right,,,,,U • wで左クリック、rで右クリック ◦ Upでキーを離す動作を指定、マウスもDとUでクリック と離す動作を指定
マウス移動 ScrollLock & s:: MouseMove, -11,0,0,R ScrollLock & f:: MouseMove,
11,0,0,R ScrollLock & e:: MouseMove, 0,-11,0,R ScrollLock & d:: MouseMove, 0,11,0,R • MouseMoveの後ろの数字は、 [X座標、Y座標、速度、R] ◦ 速度は0~100、Rがあると相対座標 • 細かい移動だけでなく、大きな移動も設定すると便利
他には • 他にもいろいろなことができるので、調べてみてください ◦ キーを無効にする ▪ 割り当てるキーは複数でもいいので、Alt+F4を 他のバインドに割り当てたりとか ◦ 外部プログラムを起動する
◦ スクリプトが有効になるウィンドウを指定 ◦ ウィンドウ関連コマンド ▪ etc...
Karabiner-Elements • 公式サイトからKarabiner-Elementsのインストーラを ダウンロード、インストール ◦ 設定は~/.config/karabiner/karabiner. jsonに保存 • 直接変更してもよいが、
~/.config/karabiner/assets/complex_modificationsディレ クトリに自分好みの設定を記述したJSONファイルを保存 そこから設定画面の「Complex Modifications - Add rule」 するのが簡単
主な機能 • 書式はJSON • Simple Modificationsでは、キーマッピングが変更できる ◦ From_keyからTo_keyされたものに変更される
• Complex Modificationsでは、公開されているキーバインド の設定をインポートできる(Emacs, vscode, ...etc.) ◦ Add rule→Import more rules...から項目を選ぶ • 独自設定できる
{"description": "control-pageupをcontrol-shift-tabに変換", "manipulators": [ {"type": "basic", "from": { "key_code": "page_up",
"modifiers": { "mandatory": [ "control" ] } }, "to": [{ "key_code": "tab", "modifiers": [ "control", "shift" ] }] } ] } 例:キーバインド変換
まとめ キーボードの不満を解決する方法はあります! 自分で自分に合ったキーボード・設定を見つけましょう!