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
akrolayer
September 17, 2019
How-to & DIY
0
340
あなたの知らないキーボードの世界 / A world of keyboard 2
akrolayer
September 17, 2019
Tweet
Share
More Decks by akrolayer
See All by akrolayer
最近読んだ本の話
akrolayer
0
110
LTのモチベーション
akrolayer
1
620
よく使うキーって何?
akrolayer
1
180
史上最強の哲学入門の紹介
akrolayer
0
220
13歳からのアート思考の紹介 / art thinking from 13
akrolayer
0
190
老後貯金と今の幸せ / Hump saving and Now Hapiness
akrolayer
0
130
感情のカテゴライズ / Categorize of emotion
akrolayer
0
140
不安とは / What is Vague anxiety
akrolayer
0
220
LT説明会 / Introduce to LT
akrolayer
0
120
Other Decks in How-to & DIY
See All in How-to & DIY
球体型ロボットと複合現実を活用したマルチエージェントシステム - M5stack Japan Tour 2024 Spring Osaka
tichise
0
230
さらなるアウトプットに、Let's ライトニングトーク! ― LTのやり方
ma2shita
2
830
一番やさしいDJ入門 2024
stefafafan
6
1.9k
苦いビールを避ける冴えたやり方
watany
2
180
JAWS-UGについて JAWS-UG TOHOKU [青森] 弘前開催
awsjcpm
0
120
「おうちクラウド」が今も熱い!
hirosat
2
1k
コロナ後の世界メイカーフェア事情 高須正和@Nico-Tech Shenzhen #KMMF2024 #KariyaMMF2024
takasumasakazu
0
290
銀座線・半蔵門線から、ふりかえりカンファレンス2024現地会場への行き方
pokotyamu
0
260
静岡県のお相撲さん20240509/sumo_wrestler_from_shizuoka_prefecture_20240509
nicepapa_hirano
0
160
Career Opportunities In WordPress
wchk2023
0
260
JAWS Days 2024 Keynote by Jeff Barr
awsjcpm
0
170
Terra Charge|普通充電器ご利用ガイドブック / Terra Charge Ordinary Charger Guidebook
contents
1
190
Featured
See All Featured
Done Done
chrislema
182
16k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Fireside Chat
paigeccino
34
3.2k
How to train your dragon (web standard)
notwaldorf
91
5.8k
Become a Pro
speakerdeck
PRO
26
5.1k
Unsuck your backbone
ammeep
669
57k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
410
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" ] }] } ] } 例:キーバインド変換
まとめ キーボードの不満を解決する方法はあります! 自分で自分に合ったキーボード・設定を見つけましょう!