雑賀 力王オフィシャルサイト

Abby CTO 雑賀 力王のオフィシャルサイトです

社員募集と Let's split を使い始めてるという話

東京が死んで 僕が生まれた ...

こんにちは、人修羅です。

ジュリアナー!!トーキョー!

最近めっきり寒くなりましたが、皆さんどうお過ごしですか?え?ガチャの排出率を変えるのに忙しいって?

Good!

今回久々にブログを書きました。書いている理由は Let's split を手に入れたからです。

手に入れてから1ヶ月以上経っていますが、最近まともに使い始めてるのでその辺の話をしたいと思います。

その前に社員募集のお知らせです。

社員募集のお知らせ

株式会社Abby エビイ では現在、社員を絶賛募集しています。

www.abby.co.jp

yone098.hatenablog.com

会社紹介

弊社の仕事内容としましては、ゲームの開発がメインです。

今回の募集は箱庭ゲーム開発になります。

募集要項

東京本社でプログラマを募集しています。勤務地は中目黒になります。

箱庭ゲームのサーバサイド Go プログラマUnity の経験があるプログラマを募集しています。

今後のゲーム開発を見据え Unity のリードプログラマとして働ける方を募集します。

Go プログラマに関しては、箱庭ゲームにおけるサーバサイドの開発になります。 既にクレヨンしんちゃんムーミンなどの大きなタイトルのサーバサイドを Go で作っている実績があります。

どちらかに興味ある方、話を聞いてみたい方は是非 info@abby.co.jp にメール、あるいはTwitterなどで私(@mopemope)まで連絡していただければと思います!

皆様の応募お持ちしております。

では続き。

Let's split とは

Let's split とは最近巷を騒がせている分離型格子配列キーボードです。

Let's split の特徴は分離型、格子配列の他 40% キーボードである点です。

通常のキーボードの 40% しかキー数がなく片方 24 キー、計 48 キーしかありません。

非常にコンパクトで、キー数が足りないわけですが、その部分はファームウェアで補います。

ファームウェアqmk_firmware でユーザー自身プログラミングして自由にキーマップを設定することができます。

Let's split は略してレツプリなどの愛称でも呼ばれおり、2017年爆発的に人気が出たキーボードのひとつです。 。(今後はレツプリと略す)

レツプリいいなあと思ってたところ、レツプリ組み立て屋こと id:kumatoki 氏が売りに出している情報を得、即入手しました。

id:kumatoki 氏にはここでお礼を申し上げたいと思います。ありがとうございました。

ではレツプリを手に入れるまでの経緯を振り返ってみます。

2016年 空前の Ergodox ブーム

2016年、分離型キーボードにとても注目が集まりました。

注目が集まった理由は件の記事ですが、その中でもやはり Ergodox の存在はとても大きかったと思います。

出始めの頃は、自分で組み立てる必要がありましたが、Ergodox EZ の出現により一気に普及しました。

私自身もちょっと購入を検討してはいましたが購入を見送っていました。

2017年 Let's split, そして自作ブーム

2017年、既に Ergodox は市民権を得、挫折組がメルカリに売り出すぐらいにメジャーになりました。

Ergodox が素晴らしいのは事実なのですが、やはりデメリットもあります。

それは以下でした。

  • 筐体が大きい
  • 親指キーとの距離が遠い
  • キー数が多く設定するのが大変そう

個人的にはキーの間がほどよく近いコンパクトなものを探していましたが既製品ではなかなかない状態でした。

前年 Ergodox の流れもあったせいかキットによる自作キーボード、あるいは本当にキーボードを自作するブームが本格化してきました。

様々な組み立てキーボードが出てきていましたが、格子配列、コンパクトなものが多かったと思います。

なかでも Planck は有名でしたが分離型ではありませんでした。

そこでとあるユーザーがこの PlanckErgodox よろしく分離型にしてしまおうというコンセプトで PCB を公開しました。

それが Let's split です。

Let's split は必要なものを全て自分ではんだ付けして組み立てなければいけないのですが自作ブームの流れにのり流行しました。

レツプリで火がついたのかわかりませんが、最近では国内外でキーボードを自作する人がどんどん増え自作キーボードコミュニティの活動が活発になってきてるように思います。

40% キーボードの実用性、キーマップ

40% キーボードはやはりとてもコンパクトです。かさばらないのでフェルトケースに入れて持ち歩くことが十分に可能です。

この点がやはり一番の魅力でしょう。

しかしキー数が 48 に対するデメリットはどうでしょうか? 実用に耐えうるのか気になる方もいるかと思います。

実際に 40% キーボード は実用的なのでしょうか?これは個人差があるためなんともいえないとこですがコンパクト好きであれば多少はデメリットも許容できるのではないかと思います。

それに著名なプログラマもレツプリを使っているぐらいです。きっと良いはずです。

正直、万人向けではないと思いますが、設定をいじくりまわすのが大好きな人にはやりがい、いじりがいがあるシロモノだと思います。

またコンパクトな格子配列キーボードだと指の移動距離は本当に小さくなります。指の移動距離を最小限にしたい人、ホームポジションを矯正し直したい人にはとてもよい選択肢になるでしょう。

またキーマップはいくらでもカスタマイズできます。個人にあったキーマップを作成できればむしろ効率を上げることができます。

格子配列でカスタマイズ可能なキーボードを使い始めるとわかるのですが、カスタマイズが自由な分、自分とって打ちにくいキーはどんどん打たなくなり、捨てるようになります。

レツプリではキー数が少ないためこの現象が顕著にでてきます。レイヤーを使う前提であるレツプリでは打ちにくいキーは別レイヤーの打ちやすい位置にマッピングしてしまおうと割り切りが発生するからです。

また打ちにくいキーがあることを一旦認識してしまうとベースとなる配列ですら見直したくなります。

例えば QWERTY 配列の場合、小指で最上段 P を押すのは正直辛いです。となると最上段を少なく使うキー配列を使いたくなってくるわけです。

また記号の類のキーマップはキー数の関係から独自にマッピングするしかありません。 覚え直す必要があるなら思い切ってベース配列も変えてしまうのもアリだと思います。

キー配列はDOVRAK, COLEMAK, WORKMAN, NORMAN, 独自配列 など自分になったものを選ぶと良いと思います。

また最下段では親指を使うことも意識すると思いますが、親指にいくつキーを割り当てるかも個人差が出てくると思います。

私も当初はQWERTY を使っていましたが打ちにくさから COLEMAK に乗り換えました。COLEMAK を選択した理由は以下です。

  • QWERTY だとPを小指で打つのがしんどかった
  • QWERTY だとNを打つのがしんどかった
  • QWERTY からの移行コストが小さい
  • ショートカットで使うキー Q, A, Z, X, C, VQWERTY と変わらない
  • ホームポジションでの使用頻度が高い
  • gtypist で練習ができる

使い始めの頃、ホームポジションからズレると戻ってこれないような感じでした。 そのため、なるべくホームポジションから動かさなくてもいいようにホームポジションでの使用頻度が高い COLEMAK を試すとマシになったのでそのまま使っています。

移動距離のことを考えると WORKMAN でもいいかも知れません。

参考までに以下は私の現在のキーマップです。使用しているのはおよそ 36 キーで minidox などでも対応できるようにしています。 またラップトップに合わせて日本語配列で使用しています。

(あまり意味ないですが)

  /* COLEMAK
   * ,-----------------------------------------, ,-----------------------------------------,
   * |  Q   |  W   |  F   |  P   |  G   |      | |      |  J   |  L   |  U   |  Y   |  :   |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |  A   |  R   |  S   |  T   |  D   |      | |      |  H   |  N   |  E   |  I   |  O   |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |  Z   |  X   |  C   |  V   |  B   |      | |      |  K   |  M   |  ,   |  .   |  /   |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |      |      |      | CTRL |DEL/R |SP/SFT| |EN/SFT| BS/L | ALT  |      |      |      |
   * `-----------------------------------------' `-----------------------------------------'
   */

  /* EMACS(COLEMAK)
   * ,-----------------------------------------, ,-----------------------------------------,
   * |  Q   |  W   |  F   |  P   |  G   |      | |      |  J   |  L   |  U   |  Y   |  :   |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |  A   |  R   |  S   |  T   |  D   |      | |      |  H   |  N   |  E   |  I   |  O   |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |  Z   |  X   |  C   |  V   |  B   |      | |      |  K   |  M   |  ,   |  .   |  /   |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |      |      |      | CTRL |DEL/R |SP/SFT| |EN/EM2| BS/L | ALT  |      |      |      |
   * `-----------------------------------------' `-----------------------------------------'
   */

  /* EMACS2(COLEMAK Shortcut Layer)
   * ,-----------------------------------------, ,-----------------------------------------,
   * |RESET | M-W  | C-F  | C-Y  | C-G  |      | |      | M-.  | E-LT |  UP  | E-GT |      |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * | C-A  | C-R  | C-S  | C-T  |      |      | |      | M-%  | LEFT |DOWN  |RIGHT |      |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * | C-Z  | C-X  | C-C  |      | C-B  |      | |      | M-x  | C-;  | C-:  | C-|  | M-;  |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |      |      |      | C-SL | M-D  |C-SPC | |      |      |      |      |      |      |
   * `-----------------------------------------' `-----------------------------------------'
   */

  /* LOWER (Symbol)
   * ,-----------------------------------------, ,-----------------------------------------,
   * |  !   |   "  |   #  |   $  |   %  |      | |      |   &  |  '   |  `   |   |  | yen  |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * | ESC  |   @  |  {   |   }  |  _   |      | |      |   ~  |  =   |  :   |   /  |  *   |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |      |      |  (   |   )  |  \   |      | |      |   ^  |  -   |  ;   |   .  |  +   |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |      |      |      |      | HENK | GUI  | |      |      | ALT  |      |      |      |
   * `-----------------------------------------' `-----------------------------------------'
   */

  /* RAISE (Num + Fn + Others)
   * ,-----------------------------------------, ,-----------------------------------------.
   * |  1   |  2   |   3  |  4   |  5   |      | |      |   6  |   7  |   8  |   9  |   0  |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * | TAB  |  F1  |  F2  |  F3  |  F4  |      | |      |  F5  |  F6  |   [  |   ]  |   @  |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |  _   |  F7  |  F8  |  F9  |  F10 |      | |      |  F11 |  F12 |   (  |   )  |   -  |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |      |      |      |      |      |      | | GUI  | MHEN | ALT  |      |      |      |
   * `-----------------------------------------' `-----------------------------------------'
   */

  /* MISC (GUI)
   * ,-----------------------------------------, ,-----------------------------------------.
   * |RESET | WhDn | MsUp | WhUp |WRKSP1|      | |      |UWRKSP| PgDn |  Up  | PgUp |RESET |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |      | MsLf | MsDn | MsRg |WRKSP2|      | |      |DWRKSP| Left | Down |Right |      |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |      |      | Copy |Paste | GUI  |      | |      |COLEMA|EMACS | Mute |VolDn |VolUp |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |      |      |      |LClick|RClick|      | |      |EN/CTL|BS/ALT|      |      | NONE |
   * `-----------------------------------------' `-----------------------------------------'
   */

  /* MISC2 (GUI + Arrow)
   * ,-----------------------------------------, ,-----------------------------------------.
   * |RESET |      |      |      |      |      | |      |      |      |  Up  |      |RESET |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * | TAB  |      |      |      |      |      | |      |      | Left | Down |Right | TAB  |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |      |      |      |      |      |      | |      |      |      |      |      |      |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |      |      |      | ALT  | GUI  |      | |      | GUI  | ALT  |      |      | NONE |
   * `-----------------------------------------' `-----------------------------------------'
   */

  /* NONE
   * ,-----------------------------------------, ,-----------------------------------------,
   * |      |      |      |      |      |      | |      |      |      |      |      |      |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |      |      |      |      |      |      | |      |      |      |      |      |      |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |      |      |      |      |      |      | |      |      |      |      |      |      |
   * |------+------+------+------+------+------| |------+------+------+------+------+------|
   * |      |      |      |      |      |      | |      |      |      |      |      |COLEMA|
   * `-----------------------------------------' `-----------------------------------------'
   */

A, Oは LT で MISC, Z, / には LT で MISC2 が割り当てられています。

EMACS レイヤーの ENTER は LT で EMACS2 レイヤーでショートカットを割り当てています。

元々 Emacsキーバインドが爆発しているので hydra でまとめています。

メインでよく使う機能の類は C-Z に割りあてているのでショートカットはこれぐらいで足りています。

親指には 3 キー割当していますが、LT との組み合わせで計 5 キー割当しています。

レツプリで親指 3 キーを押しやすい形で割り当てるために親指が内側に入りすぎないように最外側から通常キーを割り当てています。

結果、最内側のキーを捨てる形になっています。

NONE レイヤーは同時押ししやすいかなどレイアウトの確認を行うためのレイヤーになっています。

今後

レツプリは親指部分のキーに関して考慮がありません。親指を積極的に割当たい派にとってはもっとよい選択肢があるはずです。

世の中には同じようなことを考える人はやはりいて、それらの問題を解消しようとしているキーボードが幾つかあります。

コンパクトでかつ親指を使うことを意識した代表的なキーボードには以下のようなものがあります。

Minidox は GB もあまり行われてないらしく、自前でPCBを発注したりと少々手間がかかります。

Iris に関しては keeb.io で扱っており比較的容易に手に入りそうです。私も Iris を組み立てるため PCB, ケースをオーダーしました。

Iris を組み上げた際にはまた報告したいと思います。