Hatena::ブログ(Diary)

Wisteria::Diary RSSフィード Twitter

2009/04/14

[] ハート型キーボード "heartkeys" v1

私は 標準的なハードウェアを使う という基本方針を立てているので、今まで物理配列に関する提案は自粛してきた。しかし こうやって 人のアイディアにケチ付けてると「じゃあオマエが対案出せよ」と言われるのが世の常。というわけで、私の考える理想的なキーボードの物理配列をここで提示しておこう。

f:id:mobitan:20090417024603p:image

名称

"heartkeys" と呼ぶことにする*1

ポイント

キーは全体としてハート型に配置する
五指の可動域からして当然の帰結。TRON キーボードも同様の検証に基づいて開発されている*2。もし格子状に配置するなら Kinesis Contoured keyboard のように深さを変えなければならない。ちなみに文字キーが垂直に並んでるのは作画の都合であって、エルゴフィットキーボード のように全体としてハの字になっててもかまわない。
モディファイヤはすべて親指に配置する
親指の運動独立性からして当然の帰結。Kinesis Contoured keyboard も同様の思想でいい線まで行っているが、[Shift] が小指に残されているのが残念。
[BS], [Delete], [Enter], [Space]
Kinesis Contoured keyboard と同じ並びで親指に配置する。しかし日本語入力中は [Space] ≒ 変換、[Enter] ≒ 無変換 なので、日本語環境では [Enter] は左親指の方がいいかもしれない。
[LShift], [RShift], [Fn]
[Shift] と [Fn] は左右どちらの手でも押せるようにする。μTRON キーボード も [Shift] を両親指に配置している。親指の付け根からやや離れた位置にあるので、キートップを他のキーよりも高くするべきだろう。左右の [Shift] は一体でもいいが、分割しておけば同じ物理配列で親指シフトを載せることができる。
[英数], [かな]
モードレスな IME 操作体系の提案 に基づきモディファイヤと想定している。つまり、[英数] を押しながら文字キーを押すと IME on 英語モードに、[かな] を押しながら文字キーを押すと IME on 日本語モードになり、[Enter] を押すと IME off になる。モディファイヤではなく単打でモード切り替えをしてもかまわないが、IME on/off をトグルにするべきではない。
[Alt], [Ctrl]
[Alt] は左に 1 個、[Ctrl] は右に 1 個とした。この位置 (中指の真下) なら同じ側の文字キーとの組合せも親指+他の指で難なく押せるし、「Fn+Alt+左側の文字キー」や「Fn+Ctrl+右側の文字キー」は頻度が低いと思われる。
[Win]
ホットキーランチャのモディファイヤとして使うため左右両方に必要。

Q&A

文字キーは QWERTY なの?
DVORAK でも何でもよい。これは物理配列の提案なので、文字の並べ方 (論理配列) はまた別の話。
文字キーが足りない
よく気づいた。これはあくまでコンセプトの提案なので、あまり目くじらを立てないでほしい。
ないキーがある
[Fn] が押しやすい位置にあるから無問題
Fn 側にもないキーがある
どうせ使わないから無問題。

実現…?

現行市販製品で思想が近いのはやっぱ μTRON キーボード かなぁ。しかしいかんせん中途半端だし値段が高い (Kinesis よりも!!)。

もはや たのみこむ しかないか?

09/04/17 追記

名称を "Ginkgo Keyboard" から "heartkeys" に変更。関連する記述を修正しました。

*1:こういうのは言ったもん勝ち。すでに同名のロックバンド? があるみたいだけど、分野が全然違うから商標権の侵害にはならないだろう

*2http://pc.watch.impress.co.jp/docs/2003/0725/tron.htm

sknykichsknykich 2009/04/17 16:51 これはまた過激な (^^;)。いっそ「ハートキー」とかキャッチ-な
愛称をつけて、カラーバリエーションも増やせば、ライトユーザー
層が騙さr… もとい、衝動買いしてくれるかも (← いいのか?)。

それはそうと、[Fn] + カーソルキー あたりは、上下に [Page Up]・
[Page Dn]、左右を [Alt] + [Esc]・[Alt] + [Shift] + [Esc] と
したり、あるいはマウス移動を割り振るとか、考えるだけでヨダレが
出ちゃいそうなところですね (´ρ`*)。

mobitanmobitan 2009/04/17 20:08 > これはまた過激な (^^;)。
そーかなー。だいぶ実現可能性を重視して設計したつもりなんだけど…。

> いっそ「ハートキー」とかキャッチーな愛称をつけて、カラーバリエーションも増やせば、
あ、そのマーケティング戦略は私も考えました(笑)
でも /.*(ハート|heart).*/ という名前空間はもうかなり使われてるんですよねー。

"ハートキー" の検索結果 約 83,000 件
"ハートボード" の検索結果 約 551 件
"heartkeys" の検索結果 約 1,540 件
"heartboard" の検索結果 約 6,980 件
"touch my heart" の検索結果 約 588,000 件
"hands on my heart" の検索結果 約 216,000 件
"fingers on my heart"の検索結果 11 件

うーん、ここはネーミングセンスが問われるところです。改称するなら早くしないと…!

> 考えるだけでヨダレが出ちゃいそうなところですね (´ρ`*)。
これでヨダレが出るようになると、もう社会復帰は難しいですね♪

mobitanmobitan 2009/04/17 20:31 複数形で「ハートキーズ」なら日本語圏ではまだ使われてないみたいなので、さっそく改称しました。(^^;

mskmsk 2009/04/17 21:55 >文字キーが足りない
>よく気づいた。これはあくまでコンセプトの提案なので、あまり目くじらを立てないでほしい。

読んで吹いた。
今度会社の研究提案資料あたりに使います(笑)

ketttkettt 2009/04/18 01:26 KINESISユーザーでSKKユーザーな変態ketttから提案です。瑣末なことですが、

・邪魔でなければ、小指のShiftキーは残してほしい (ハート型を形成する上では邪魔でしょうが、小指の運動範囲 http://pc.watch.impress.co.jp/docs/2003/0725/tron08.jpg を考えれば、もう一個くらいキーがほしい。違うキーコードを発行するようにしておけばさらに夢が広がる)

・SpaceとEnterが両方とも右にあって困るなら、Spaceを左へやってほしい (TRONキーボードが左にSpaceを持つこと、および、KINESISのキートップが入れ替え易いことと関係します)

mobitanmobitan 2009/04/18 04:44 msk さん>
吹いたらはてなスターを付けてください(笑)
さて、どのキーが足りないでしょうか?

kettt さん>
Kinesis で小指を酷使とは、とても自虐的ですね!
heartkeys v1 は、日本語配列だとすれば文字キーが 2 個足りません。また [Tab] や [全角] もマーケティング的には必要でしょう。これらのキーを小指の外側に配置しておいて、必要なら Shift に読み替えて使えばよさそうです。
[Space], [BS], [Enter], [Delete] はこの順で使用頻度が高いと思います。なので、「[Space] と [BS]」「[Enter] と [Delete]」をそれぞれ同じ側に置くのは避けたいところです。とはいえ、このへんは人によって事情が異なるでしょうし、特にスペース「バー」文化圏のユーザーはスペースが両手で打てないと発狂するでしょうから、[Esc] を含む親指の 5 キーの割り当ては自由に入れ替えられます、ってことにするしかない気もします。(^^;

mobitanmobitan 2009/04/18 05:07 はてブコメントへの返答。

> でも、実際には親指がつりそう。親指が最手前以外のキーを押すのは人間工学的につらくないか?
「最手前以外」というのは [英数], [LShift], [Fn], [RShift], [かな] のことかな? これらのキーは背を高くすれば押せると思います。親指シフトキーボードを触ったことがない人は、ぜひ写真を見てみてください。

> しかし親指4段はちと無理がないか?
一番手前の [Esc] はホームポジションからでは届かなくて、手首を動かして「押しに行く」感じになりますね。全体としてハート型に見えるように [Esc] をこの位置に置いた、というのが真相です。実際には Fn+[ A ] の方が打ちやすいので、みんなそっちを使うようになるでしょう。(^^;

ketttkettt 2009/04/18 07:44 > とても自虐的ですね!

そうなんですよ〜。しかし、Enter(≒無変換)を小指で叩きに行くよりは大変ではありません。
元々親指シフトを使っていたので、SandSなんかも試してみたことはあるんですが、結局、SKKにはどうしても小指シフトが合うんですよねぇ。
ここらへんの謎を解明してくれる人を待っています。

> [Tab] や [全角] もマーケティング的には必要でしょう。これらのキーを小指の外側に配置しておいて、必要なら Shift に読み替えて使えばよさそうです。

それはいい考えですね。幸せになれそうです。

> [Space], [BS], [Enter], [Delete] はこの順で使用頻度が高いと思います。

SKKではあまり[Space]・[Enter]を使わないので、私の場合の使用頻度は[BS]が[Space]の1.6倍になっています。英文タイプや通常のIMEでは、おそらく[Space][BS]の順でよいのでしょう。

nickynicky 2009/04/19 08:42 [Bs]を打つ直前には、その次の作業視野域を「左側に認識」しているのではないでしょうか。このキーレイアウトだと[Bs]の左側はペーパー空白域に方向づく感覚です。小さい子供の指さし意思表示のように「意志(目線)と注意先(ゆびさし)」を原初的な行為は大切な人間工学的デザインサーベイだと考えます。(すいません、[Bs]多用者なものでして)

CGとして見ると立体感、グラデーションの程度も良くなかなかなものです。

mobitanmobitan 2009/04/19 13:32 kettt さん>
SKK ですかー。私は使おうと思ったことがないですねー。
SKK が登場した 1987 年当時に比べて形態素解析の精度は飛躍的に向上したし、何より和英交じり文を入力する機会の多い私にとって「和文←→英文」「漢字←→かな」という 2 軸の切り替えを意識するのは思考負荷が高そうな気がします。
kettt さんは英文入力と和文入力の切り替えはどうしていますか?

> SKKにはどうしても小指シフトが合うんですよねぇ。
うーん、そうですか。
私は Mod2+ で和文の開始位置を指定する方式を使っています (http://d.hatena.ne.jp/mobitan/20090309/1236784071)。これは運指法的には Shift+ で漢字の開始位置を指定する SKK と非常によく似ています。私は Mod2 を [変換] に割り当てて違和感なく使えていますから、SKK で [Shift] を親指に割り当てても違和感なく使える気がするのですが…。
運指法などといった外面的な話ではなく、何かユーザー固有の内面的なファクターが影響しているのかもしれませんね。

nicky さん>
私もバックスペースは「左へ戻る」という意識を持っていて、だから [BS] は左手で押すのが自然だと感じています。また、英語圏の複数のキーボードも [BS] を左親指に配置しています。
nicky さんは [BS] はどこにあるべきだと思いますか? (すみません、コメント内容からご意見が読み取れませんでした)

絵は PowerPoint2007 で描いてます。パワポでこのぐらい描けるなら Illustrator は要らないかも!?

ketttkettt 2009/04/23 07:14 > SKK が登場した 1987 年当時に比べて形態素解析の精度は飛躍的に向上した

その通りですね。しかしSKKの目的は、日本語入力をシンプルに提供することであって、形態素解析を利用したシステムの性能を超えることではありません。そしてその副産物として、日本最大級の語彙を持つ辞書を備えます。辞書の改変が誤変換を誘発することなく自由で、非常に使いやすいと思っています。

> 「和文←→英文」「漢字←→かな」という 2 軸の切り替えを意識するのは思考負荷が高そうな気がします。

「和文←→英文」「かな入力←→変換←→文節区切り直し」という切り替えよりは大分楽だと思っています。

> kettt さんは英文入力と和文入力の切り替えはどうしていますか?

「右Altキー」に英文/和文トグル機能を持たせた(KINESISのキーマップによる)のと、
「Control-J」で日本語入力ONに(「のどか」で実現)、「L」キーで英文になります。これらはそのときどきによって使い分けています。
現在の日/英モードが分からなくなったときは、「Control-J」してから「L」を押したりしています。

> 私は Mod2+ で和文の開始位置を指定する方式を使っています (http://d.hatena.ne.jp/mobitan/20090309/1236784071)。これは運指法的には Shift+ で漢字の開始位置を指定する SKK と非常によく似ています。

興味深く拝見しております。

> 私は Mod2 を [変換] に割り当てて違和感なく使えていますから、SKK で [Shift] を親指に割り当てても違和感なく使える気がするのですが…。

たぶんですが、KINESISの親指担当が多くて、その割に右小指が遊んでいる、というのが違和感の原因の一つではないかと思います。
最近、「;」キーをSticky-Keyに使うようにしてみましたが、これにはすぐ慣れそうです(よって、小指で押すShiftキーも不要になりそうです^^;)。


横レスですが、

> [BS] は左手で押すのが自然だと感じています。また、英語圏の複数のキーボードも [BS] を左親指に配置しています。

「普通の」キーボードでは、かなり右寄りにBackSpaceがありますが、特に違和感ないはずです。旧来のキーボードに合わせたほうが移行は楽かもしれません(少なくとも私はそうでした)。

mobitanmobitan 2009/04/24 02:36 なんか SKK の辞書って初期状態では語彙がかなり偏ってる気がしたのですが…、それはユーザーが個別に鍛えることが前提になってるからなのですね。そういう点もやはり玄人好みなのかなと思います。
私は ATOK を使っていますが、辞書に関して言えば、確定時に学習する/しないを指示したいと思うことがあります。例えば「Shift+Enter = 学習しないで確定」とか。

> 「和文←→英文」「かな入力←→変換←→文節区切り直し」という切り替えよりは大分楽だと思っています。
たしかに SKK だと文節区切り直しは避けられますね。いずれ同音異字の選択も避けたくなって、人は漢直へ突き進むのかもしれません。

> 「Control-J」で日本語入力ONに(「のどか」で実現)、「L」キーで英文になります。
なるほど。その方法はアリかもしれません。
ところで、Ctrl は (私の認識では) アプリケーションレベルのモディファイヤなので、その名前空間? を侵食するのはまずいと思うのですが、アプリに Ctrl+J を入力したくなったときのために何か代替策を講じていますか?

> 最近、「;」キーをSticky-Keyに使うようにしてみましたが、これにはすぐ慣れそうです
スティッキーシフトですかー。親指にシフトキーを置けない環境での苦肉の策のような気もしますが……、私も一度やってみようかな…。

> 旧来のキーボードに合わせたほうが移行は楽かもしれません(少なくとも私はそうでした)。
もちろんそうだと思います。なので、heartkeys の仕様としては親指 5 キーの配置は自由にカスタマイズ可能ということにしておいてください。(^^;

ketttkettt 2009/04/25 09:56 > なんか SKK の辞書って初期状態では語彙がかなり偏ってる気がしたのですが

そうですね。確かに偏っていました。(ひょっとしてSKKに触ったことがあるのですか?)
SKK自体が、「どんな語彙でもとりあえず放り込んでおけばそれなりに動く」という性質を持っているので、辞書がほぼメンテナンスフリーであるということの反映だと思います。

> 確定時に学習する/しないを指示したいと思うことがあります。例えば「Shift+Enter = 学習しないで確定」とか。

おお、いいですね。
話はちょっとずれますが、SKKはカタカナ語を学習しません。この動作は気に入っています。カタカナの擬態語や擬音語、誤入力の訂正片でユーザー辞書が埋め尽されてしまうことがありません。
SKKでは「Q(カタカナ変換キー)」で済むところ、これがATOKだといちいち「Ctrl+I」と、2キー入力しなければならないので、ATOKでは「カタカナ変換を学習しない」に設定するのがためらわれます。

> いずれ同音異字の選択も避けたくなって、人は漢直へ突き進むのかもしれません。

ええ、私は突き進みかけました(今後突き進むかも?)。しかしSKKから漢直に移行したという話はあまり聞きませんね。SKK向け漢直のKZIK (http://ohac.pun.jp/old_pages/kzik.html) でさえ、作者さんが現在使用しているかあやしいと思います。

> アプリに Ctrl+J を入力したくなったときのために何か代替策を講じていますか?

アプリに Ctrl+J を入力したいことが今までになかったので、特に代替策は講じていませんでした。多くの場合、Ctrl+Mで代用できますし……。
「このアプリのCtrl+Jは便利だ!」
というのがあったら是非教えてほしいです。
それから、xyzzyというエディタの検索ウィンドウでは、Ctrl+G (SKKにおける「キャンセル」) が、xyzzyに横取りされてしまうという現象が起きていて、むしろこっちの問題の方で往生しています。たぶん、xyzzyがCtrl+Gをホットキーに設定しちゃってるのがいけないんだと思うんですが……。

> スティッキーシフトですかー。親指にシフトキーを置けない環境での苦肉の策のような気もしますが……、私も一度やってみようかな…。

繰り返しになりますが、skkimeではEnterを使わず、またセミコロンの位置にカナを置くのも困難なので、明らかに右小指が遊んでしまうんですよ。親指はすでにオーバーロードです。そこでセミコロン・スティッキーシフトにしてみた次第です。すでに[;]=「ん」をお使いで、親指に余裕があるなら、無理にスティッキーシフトを使う必要もないような気がします。

ketttkettt 2009/04/26 00:48 > 確定時に学習する/しないを指示したいと思うことがあります。例えば「Shift+Enter = 学習しないで確定」とか。

そういえば、書き忘れていましたが、SKKには「ユーザー辞書から単語を削除(Shift-X)」という機能がありまして、単語の学習状態をクリアすることができます。なかなかですよ。
普通のIMEでも実現すればいいのにと思います。

mobitanmobitan 2009/04/26 13:57 > そうですね。確かに偏っていました。(ひょっとしてSKKに触ったことがあるのですか?)
KAKASI を使うために SKK の辞書を入手したとき、「この辞書で本当に正しい逆変換ができるのか」と、かなり懐疑的な気持ちになりました。:-P

> ATOKでは「カタカナ変換を学習しない」に設定するのがためらわれます。
そうですか? 私はカタカナ変換の学習を「する(弱)」に設定して、2度使った語は学習するようにしています。

> SKK向け漢直のKZIK (http://ohac.pun.jp/old_pages/kzik.html)
マッピング「案」って…。それは仕様として成立してないのでは。

> 「このアプリのCtrl+Jは便利だ!」というのがあったら是非教えてほしいです。
というか、Ctrl+ はアプリ側のキーカスタマイズで埋め尽くされるのが常だと思っていました。
例: http://d.hatena.ne.jp/mobitan/20081026/1225013571

> すでに[;]=「ん」をお使いで、親指に余裕があるなら、無理にスティッキーシフトを使う必要もないような気がします。
ですよねー。スティッキーシフトはモードレス化の思想と相反するので、私にとっては使いどころが難しいです。

> SKKには「ユーザー辞書から単語を削除(Shift-X)」という機能が
ATOK も Ctrl+Delete で単語削除できますよ。MS-IME にはそういう機能はないのかな?

ketttkettt 2009/04/28 02:09 > Ctrl+ はアプリ側のキーカスタマイズで埋め尽くされるのが常だと思っていました。

アプリ毎のキーカスタマイズって、「モード」が存在するということだと思うんですよね。
だからグローバルなホットキーで置換してしまいます。これならモードレス。
すべてのアプリで同一のキーカスタマイズが使える方法があるなら別ですが。

ですがそうも言っていられないので、とりあえず、IMEがONの状態でCtrl+Jが押されたら、アプリにCtrl+Jが渡るように改造してみました。
これだと先述の技、「IMEのモードが分からなくなったとき、とりあえずCtrl+JしてLする」というのが使えない場合が出てきますが、まあいいです。

> ATOK も Ctrl+Delete で単語削除できますよ。

それだと、候補に二度と表示されなくなっちゃうじゃないですか。ATOKのヘルプを見る限り、復帰させる方法は載っていませんでした。
SKKの場合、候補に挙がる順位が下がるだけ、ってところがいいんですよ。
通常のIMEで実現する場合には、こうするのがいいと思います;
「抑止単語辞書」を持って、抑止単語に設定されたものは、出現しにくくなるようにする。
どうでしょう。

mobitanmobitan 2009/04/29 19:10 あわわ、なんか私の発言が kettt さんを不急の作業に駆り立てちゃったようですみませんです。

> アプリ毎のキーカスタマイズって、「モード」が存在するということ
そういう見方もできますね。「前のタブ」「次のタブ」という似たような操作が Ctrl+Tab だったり Ctrl+PgDn だったりすると混乱しますから、そのへんは私も keyhac を使ってなるべく統一しています。もっとも、アプリごとに機能が異なる以上、使用頻度の高い操作もアプリごとに異なりますし、すべてのアプリで同じキー割り当てをするのは不可能だと思いますが。

> SKKの場合、候補に挙がる順位が下がるだけ
ほほう。学習結果だけをクリアするってことですね。その操作が簡単にできるといいかもしれません。

> 「抑止単語辞書」を持って、抑止単語に設定されたものは、出現しにくくなるようにする。
そういえば ATOK の単語登録にも「抑制単語として登録する」なんて機能がありましたね。なんか今まで使いどころがよくわからなかった。。。

ketttkettt 2009/04/30 07:31 好きでやってるから大丈夫ですー。
今こんな感じ:
http://d.hatena.ne.jp/kettt/20090428

> ATOK の単語登録にも「抑制単語として登録する」なんて機能が
ああ、どこかで聞いたことがあるかもなと思ったら、ATOKでしたか。
「単語の削除」を無くして「抑止」一本槍にすればいいのに。
商用ソフトって、既存のユーザーのために、一旦付けた機能は二度と外せないところがありますから、複雑化する一方で、新参にはあまり嬉しくないです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト

コメントを書くには、なぞなぞ認証に回答する必要があります。

トラックバック - http://d.hatena.ne.jp/mobitan/20090414/1239904491
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2015 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |