2023-09-07

"Wonderlust" なApple Event 2023秋、再びハートマークなので、空間コンピューティングへの更なる期待を表明します

毎年恒例の秋のApple Eventが来週火曜日2023年9月12日の深夜26時からです。

新しいiPhoneを出さない訳はないとして、他の最大限の希望を書いておきたいと思います。

春のWWDC23もハートマークに変化するAppleロゴでした。
今回のテーマは Wonderlust - Wonderful と Wanderlust を掛けて「夢中の旅」となっています。
旅先でもワクワクの最先端デバイスを、ということは、これしかないですね。

  • M2 Apple Silicon版iPhone Ultraに、より軽量なメガネ型デバイスを接続して、どこでも大画面、空間コンピューティングを楽しめる。
    あるいは、MacBookとメガネ型デバイスを接続してどこでも作業ができる。
    さしずめこのデバイスはVision Air、表示とヘッドトラッキングのみに機能を絞って軽量・お手軽を優先する。
    Pro向けのフル機能の空間コンピューティングを実現するMac Proのような位置づけのVision Proと、日常的に空間コンピューティングを持ち歩いたり、コンテンツの消費(iPhoneに大画面を提供、音楽を持ち運ぶ、から映画館を持ち運ぶへ)や、既存デバイスの仮想ディスプレイを拡張する(MacBookに大画面を提供、操作はMacBookで行う、ハンドトラッキングは省略)ための軽量デバイスであるVision Airのラインアップ。
    この充実したラインアップを、いきなり揃えて、他社をさらに引き離すのです。

ちょうど今日、XRealから、本国のサイト限定告知ですが、Air 2、Air 2 Proが発表されました(製品ページと、ブログ記事(私には読めなくて雰囲気しか分かりませんが))。
軽量のメガネ型デバイスはどう考えてもトレンドですし、今の時代の主流です。

はてさて、この期待、盛りすぎのようにも思いますが、出来ちゃったりしますよね、Appleさん?
ハートを大きく揺さぶられる発表を期待しています。

 

[2023-09-13] Vision Airはもう少しお預けでした。
今回のロゴの粒子はチタンでした(オープニングのテザーの段階でうすうす気づきました)。

iPhone 15 Proではカメラを同時に2つ使って、Vision Proで視聴するための、Spatial videoの撮影ができるようになりますね。
visionOS以外用のSpatial videoのプレビューアプリも提供されることでしょう。

ところで、過去のApple Event (たとえばApple Silicon M1が最初に発表された2020年秋)を振り返りたいと思ったのですが、webサイト https://www.apple.com/apple-events/ では直近7件、2021年秋以降のものしか載っていません。
それ以前のものはPodcastに誘導されるのですが、残念ながらAppleデバイス以外では見ることができません。
少し調べて、Apple EventのPodcastのコンテンツへのリンクが見つかったので、ここからならどのデバイスでも見ることができます(Safariからの場合はPodcastアプリが開きます)。
直リンクは https://podcasts.apple.com/jp/podcast/apple-events-video/id275834665 です。

2023-08-20

今後は、左右分割キーボードは一体型キーボードとは別物と考えるようにしよう [自キ沼 #37]

Keychron K11 Proと自作Lilithの使い勝手を合わせようと試行錯誤して2週間が過ぎました。
早速、カーソルキーはfn1(MO(4))+IJKLに、左手親指の中央のキーにBackspaceを、テンキーをfn2(MO(2))+UIOJKLM,.に、割り当てて、Lilithと同様、ホームポジションから手を動かさずに使えるようにしました。
これは、結構快適です。

さらに、一体型のAliceキーボードでは、普段左右分割で使っている感覚からすると、右手と左手の開き具合がどうしてもまだ不足していると感じました。
そこで、右の図のキーマップのように右手側のキーを1文字ずつ右にずらした変則的な配列をかんがえてみました。
やってみると、6のキーが右側に置けて好都合、かつ、アルファベットの入力はブラインドタッチでも何不自由なく自然に行えます。
しかしながら、結構使う / や ” が非常にもたついてわたしには全然ダメでした。

また、Magic Trackpadをラップトップのように真ん中手前に置くのが、右や左に置くのに比べて操作性が格段に良いので、そうしたい思いも強いです。
ポインティングデバイスを操作するのに、わざわざ腕を右や左へ大きく移動するのは、左右分割キーボードを使っている今の身となってはあまりにも疲れる動作と感じます。
標準キーボードでは親指の付け根が当たって、トラックパッドは手前には到底置けません。
Aliceキーボードなら、Lilithの時よりもかなり離して置きさえすれけば、なんとか使える状態になることがわかりました。
しかしながら、これだと机上のスペースを大きく取ってしまい、あまり理想的とは言えません(なお、右の写真なのですが、NuPhyのキーキャップに付け替えて、かなりイメージが変わっています)。

これらの違いを体験してみて、こんな考えがうかんできました。
左右分割キーボードと、一体型キーボードは、同じ使い勝手にするのはもしかするとそもそもムリで、同じ目的の入力デバイスだけれど別物と考えたほうが良いのでは、と。
ちょうど、マウスと、トラックパッドと、トラックボールが違うように、です。

左右分割キーボードは、腕の幅や、腕の向き、更にはチルトやテンティングを自由に設定できるデバイスです。
一方の、一体型キーボードは、左右一体ケースで固定された安定性、左右をできるだけ詰めてコンパクトにする設計思想、キースイッチの連続的な整然とした配置を目指したデバイスだと思います。
同じキーボードの仲間ですが、使う側として違う向き合い方になる、と思いました。
これは、もう割り切って、違うタイプのデバイスと考えて、頭を切り替えて使うしかないと思いました。

この投稿は(変則的な配列に今のところはなっている)市販キーボードのKeychron K11 Proで作成しました。

2023-08-08

Keychron K11 Proを到着初日にさっそく分解してみた [自キ沼#36]

Keychron K11 Proを発売初日に購入し、5日目に手元に届きました。

メーカー製品としてキッチリとした造りに満足ですが、改造したいウズウズがどうにも止められず、下調べとしてまずは開腹してみました。
おそらくKeychronのキーボードの設計方式は目に見えるスペックの差以外は全機種共通だと思うので、他の機種の方にももしかしたら参考になるのかもしれません。

  • まず、K11 ProおよびK Proシリーズのケースはアルミニウム、ボトムは樹脂です。ケースがプレートと一体になっていて側面までカバーしていますが、マウント方式はいわゆるサンドイッチマウント構造です。プレート面に11個のネジ頭が出ていて、これを外すとボトムの板が外れます。この時、スイッチを外す必要はありません。内部のPCBは、ボトムから伸びたスペーサー穴で浮かんでいてネジ等で固定されておらず、スイッチの足だけで支えられています。
  • スタビライザーはルブされていますし、使用されているGateron Low Profile 2.0スイッチもファクトリールブ仕様です。プレートースとPCBの間、PCBとボトムの間に空間があるので、使い方によっては反響音が響きます。良い音なのだと思いますが、音量をなんとかしたいと感じました。
  • 次にPCBに関して、キーの右ブロックと左ブロックそれぞれ用にシフトレジスタが設けられています。コントローラとの接続は少ないピン数おそらく2本だけで接続されているようです。これならフルサイズのキーボードからテンキーパッドまでの幅広い製品全てに、キーマトリックスのピン数を気にせず対応できますね。
  • コントローラMCUのコアは、QMKファームウェアのinfo.jsonの記述からSTM32L432 (Arm Cortex-M4) です。QMKファームウェアのソースコードはまだベータ(プルリクエスト中)ですがすでに公開されています
  • コントローラのMCUチップは、Bluetooth機能を内部に持ったシングルチップのCYW20730A2KFBG(汎用名 BCM20730)です。このMCUチップが載った端面スルーホール接続の汎用モジュールが使用されています。心臓部が共通化されているんですね。検索してなんとか調べたところこの汎用モジュールは、ITON TechnologyのBT3GMD-B47Pかその後継のようです。データシートが公開されているので空きポートをQMKで自由に制御できる可能性が広がりました(しめたものです、こういうところの柔軟性がKeychronさんは良いですね)。I2CやADCポートもちゃんと引き出されているようです

今回は、一般的ではないかもしれない、自分の知りたい観点でレビューをさせていただきました。

この投稿は自作Lilithキーボード(LilithKbd)を使って書きました。


[2023-08-12] Keychron K11 ProのQMKファームウェアのソースコードの正式版が公開されました。

2023-07-30

アナログジョイスティックデバイスを最新のQMK Firmware 0.21に対応してみた [自キ沼#35]

見慣れたNintendo Switch Joyconのアナログジョイスティックの保守部品を、以前から自作のLilithキーボードに組み込んでいます。

当初はQMK 0.12上でアナログデータを直接読み取ってマウスポインタ移動情報を生成していましたが、思ったほどスムーズな動きが実現できていなくて、メイン利用のMagic Trackpadを無くすにはまだまだです。

QMKの最近のバージョンを見ていると、アナログジョイスティックのドライバが少し前から提供されるようになっています。
このドライバが、QMK 0.21の設定だけでどこまで使えるかを今回試してみました。

ADC(ADコンバータ)入力はPro Microのほぼ全てのピンでサポートされています。
どのピンに接続するのかはconfig.hで設定します。
マウスボタンをレイヤに定義するだけで動作する自動マウスレイヤ機能や、左右分割キーボードでホストに接続していない側にジョイスティックがあっても動作させられるsplit pointing機能も、使えるようになりました。
以下、QMKに設定した内容です。

rule.mk :

POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = analog_joystick 

config.h :

// アナログジョイスティックの基本設定
#define ANALOG_JOYSTICK_X_AXIS_PIN F4 // ADC機能のある任意のピン
#define ANALOG_JOYSTICK_Y_AXIS_PIN F5
#define ANALOG_JOYSTICK_SPEED_REGULATOR 5 // default 20
#define ANALOG_JOYSTICK_SPEED_MAX 1 // default 2
// 自動マウスレイヤ機能
#define POINTING_DEVICE_AUTO_MOUSE_ENABLE
//#define AUTO_MOUSE_DEFAULT_LAYER 3 // 今回はkeymap.cで設定した
// 左右どちらのPro Microをホストに繋いでもジョイスティックが動作するように
#define SPLIT_POINTING_ENABLE
#define POINTING_DEVICE_RIGHT

keymap.c :

void pointing_device_init_user(void) {
    set_auto_mouse_layer(3);       // 今回はレイヤ3にKC_BTN1とKC_BTN2を置いた
    set_auto_mouse_enable(true);
}

最新のQMK Firmwareのアナログジョイスティックドライバで良い点は以下です。

  • 上記の簡単な設定だけで、ポインタ動作がある程度スムーズに動作するようになります。操作に慣れればこれだけでも日常使いできるかもしれないレベルです。
  • 抵抗値の変化でアナログ的に出力をするジョイスティックであれば、どのデバイスでも汎用的に対応できそうです。たまたまなのかもしれませんがセンターの抵抗値のキャリブレーションなしで問題なく動いています(ソースコードを確認しておきます)。
  • 自動マウスレイヤや、split pointingなど高度な機能を実現できます。

 この方式の現状の課題は以下です。

  • Joyconのアナログジョイスティック部品は0.5mmピッチのFPCリボン接続です。コネクタの手ハンダは(私には)無理なのでPCBA必須なのが費用的に少し不利です。PSP用の部品など他のデバイスも試してみたいところです。
  • ポインタ動作はほぼスムーズなのですが、小さな動きが少し難しいのと、大きく動かすのもじれったい感じがあるので、移動量データに補正を入れるなどして、なんとかしたいところです。
  • ポインタ操作でスクロールするモードも試してみたのですが、スクロール速度が速すぎるのを調整できていません。他の仕組みのポインティングデバイスであればCPIの設定等があるようなのですがアナログジョイスティックではできません。何が起こっているのかもう少し解析が必要です。

完成形まで後少しといったところかな、と思います。

この投稿は自作Lilithキーボード(LilithKbd)を使って書きました。

2023-07-26

AZ1UBALLをPro MicroでQMK Firmwareな自作キーボードで使うための検証をした(Pro MciroとRP2040) [自キ沼 #34]

AZ1UBALL(BOOTHの購入ページ、githubの技術情報)を現時点の最新のQMK Firmware version 0.21.3で動かしてみました。
最新のQMKを使うと非常に少ないコードで対応できました。
まだ実験なので、SU120から空中配線しています(写真は載せませんがお察しください)。

ポインティングデバイスのドライバの説明はこちらです。
Pro Microとの接続ピンは、I2C通信なのでD1とD2で固定です。
以下、QMKに設定した内容です。

rule.mk :

POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = pimoroni_trackball

config.h : ポインタの移動速度、2倍が限界、これ以上だとポインタが飛び飛びになる

#define PIMORONI_TRACKBALL_SCALE 10    // default 5

keymap.c : 加速度モードを設定しようとしています、必須ではない

// AZ1UBALL
void pointing_device_init_kb(void) {
    uint8_t addr=(0x0a << 1 );        // ic2 address with 1bit shift up
    //uint8_t data[]={0x90, 0x00};    // AZ1UBALL normal speed mode
    uint8_t data[]={0x91, 0x00};      // AZ1UBALL accellaration mode
    uint16_t timeout=100;             // in milli-seconds
    i2c_status_t status;
    status  = i2c_transmit (addr, data, 1, timeout);
    //if (status != I2C_STATUS_SCCESS) {
    if (status != 0) {
        return;
    }
}

AZ1UBALL を実際に試してみて良いな、と思った点を挙げます。

  • 触感:どういう仕組みなのかわかりませんが、操作するとジ、ジ、ジと指先にクリック感が来ます。これがとても良いフィードバックです
  • 細かな操作:細かな操作はとても直感的に行えます
  • QMKですぐ動作:I2C接続のPiromoni互換のトラックボールとして設定するだけで動きます
  • 1u、ロープロファイル:16mm角の正方形なのでキーボードの1uの余裕で収められます。また、ソケットプレートの上に置いて、ちょうどロープロファイルキーボードのキートップと同じくらいの高さに抑えられているので、デザインの自由度が大きいです

工夫して使わないと、と思った点もあります。

  • 移動速度:タブレットくらいの画面までは快適なのですが、大画面では難ありと思いました。ボールが小さいので一度にたくさん動かせないのと、同方向に慣性で転がし続ける動きができません。keymap.cで0x91の加速モード設定も試してみましたが、それほど違いが出ませんでした(設定できていないのかもしれずもう少し調査必要)
  • 天面の処理:低頭の小ネジの頭が天板に出ているため、操作の際に邪魔に感じることがありました。3Dプリンタ等でケースを作った方が良いのかもしれません
  • キーボードへの固定方法:基板への実装は、2.54mmの標準ピンヘッダでのハンダ直付けかソケット化しかなさそうで多少心許ないかもしれません。ネジでしっかりと固定する方法があれば良いのですが。また、側面が空いているのでケースで覆うかマスキングテープでカバーしたいです

このAZ1UBALLと、Joyconアナログジョイスティック(それと、もしかして秋月電子のPSPアナログジョイスティック部品も、あとジャンクのトラックポイント部品もあったような)は並行して試していきます。

この投稿は自作Lilithキーボード(LilithKbd)を使って書きました。


[2023-08-24] Yuta Sakaiさんがコードのスペルミスと、i2cアドレスの指定方法の誤り(QMKのi2cアドレス指定方法の説明箇所)を見つけてくださいました(Twitterでのやりとり)ので、手直ししました。
さらにこの方は、加速度機能の動的ON/OFF、感度の動的変更と、気の利いた追加機能まで考えられています。
コチラの記事に掲載されています。

[2023-12-29] QMKをRP2040(Raspberry PI PicoやRP2040-Zero)で使う場合の設定です。
m.kiさんのTwitter投稿「AZ1UBALLをqmk0.22.3とRP2040-Zeroで試してみました (2023-12-26)」と、よしザウルスさんのブログ「QMK FirmwareをRaspberry Pi Picoで使ってみる (2022-07-24)」からの転記です。

rules.mk :

POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = pimoroni_trackball
I2C_DRIVER_REQUIRED = yes

halconf.h :

#define HAL_USE_I2C TRUE

mcuconf.h :

#undef RP_I2C_USE_I2C0
#define RP_I2C_USE_I2C0 FALSE
#undef RP_I2C_USE_I2C1
#define RP_I2C_USE_I2C1 TRUE    # 例

config.h :

#define I2C1_SCL_PIN GP27    # 例
#define I2C1_SDA_PIN GP26
#define I2C_DRIVER I2CD1    # 例

2023-07-13

次のLilithは...2台同時進行で制作する!? [自キ沼 #33]

ロープロファイル&左右分割Alice配列の自作キーボード、わたしのLilith v2.5を1月に作ってからもう半年が経ちました。
自分としてはなかなかのお気に入りで、ざっくり80%以上の満足度と言ったところ。
もう日常的に手放せないキーボードになっています。

強いて挙げれば次のような難点が残っていて、改善版を作りたい気持ちはなえていません。

  • ポインティングデバイスのチューニング:
    ある程度は操作できるのですが、加速度の調整がまだまだだと思っています。
    アナログジョイスティックでアナログ値そのままではなくて、ゆるやかに段階的にギアチェンジするような感じが良さそうです。
    いわゆるマウスボタンの左右ボタンの配置もまだしっくりきていません。
  • Numキーの位置:
    親指ブロックの長いEnterキーの右側に置いているので、親指を少し捻って押すことになって、少し辛いです。
    左手親指のBackspaceとCmd(Win)の押し間違えも、手探りで区別しにくいためか多いです。
  • バックライト:
    目立ちたがり屋の電飾ではなくて、暗がりでもキーキャップの刻印が見えるようにする実用的なバックライトがやはり欲しいです。
    やれやれ、キーキャップの選択肢がさらに狭まってしまいますね。
  • USB-C左右接続:
    抜き差しでどうしてもショートしてしまうTRRSを排除したいです。
  • Gateron low profileスイッチが抜けやすい:
    GLPは足が細めで短いのと、プレートに引っかかる爪が弱いようで、キーキャップを抜こうとすると一緒にスイッチまで抜けてしまいます。
    基板をもう少し薄くしてソケットに深く挿さるようにする、プレートの穴をもう少し狭くするなどの対策を打ちたいです。

また、現状のLilithが7.5x4と多めの70キー(左右4行のうち8列と7列が半々なので7.5x)なのに対して、5x3または6x3の縮小キーボードも、実際使ってみてどんな感じなのか大いに興味があるのは、最近投稿しているとおりです。

前置きが長くなってしまいましたが、あれこれ試行錯誤中のキー配置をいったん図にまとめてみました。
標準サイズLilithとLilith miniです。

miniの方は、最初5x3あるいは5.3x3と攻めたやつ、と思っていたのですが、やはり6x3くらいの方が使いやすそうと思っています。
タイマーによるキー長押しレイヤ移動はわたしの指癖には合わないようで、やはり嫌なので、親指ブロックも多めです。
6x3と小指ブロックが2列に増えたので、Alice配列に寄せています。
憧れのCorne(crkbd)のレプリカとまではいきませんが、Corneの形状をインスパイアしています。

上記に加えて、今回の制作上のチャレンジポイントは以下です。

  • 標準サイズLilithの親指ブロックの配置がまだしっくりきていません。
  • Lilith miniは、この際なので、さらに攻めて、よりロープロファイルのmini chocを試してみようかと思っています。
    キーキャップはchoc v1と共通で、高さがさらに2〜3割減できます。
    ソケットがないので、Mil-Max(や、その類似品)でどうかと思っています。
  • いずれもリバーシブル基板は継続したいです。
    現状のLilithは左右で行のズレを変えていて、左右のスイッチの上下(南北)を変えないと収まらないくらいリバーシブルが限界ギリギリなのですが、Jones配列を参考に左右対称にしてやれば配置の余地が増えて、バックライトLEDも入れられそうです。
  • QMK Firmwareのバージョンアップをしておきたいです。
    現状はSU120用の古いものそのままです。
    最近のQMK Firmwareでは、アナログジョイスティックも標準サポートされて、ポインティング速度のパラメータ調整の自由度と、ポインティングレイヤでキーを共有できそうなのですが、これもまだ試せていません。
    現状のJoyconアナログスティックは0.5mmピッチのFPCコネクタがネックなので、AZ1UBALL(こちらは固定と配線が悩ましい)も試してみたいです。
    こちらもI2C接続のポインティングデバイスとしてQMK Firmwareで標準サポートされています。

2台並列制作をやっちゃうのが良いのかどうか、悩ましく、うれしい悲鳴をあげています。

この投稿はLilithキーボード(LilithKbd)を使って書きました。

2023-06-18

キーボード表面がタッチパッドになるMokiboをついに入手 [自キ沼 #32]

前々から気になっていたMokiboをついに入手しました。

まずは実機での感想から。

  • 18mmの狭ピッチなので、標準ピッチと5%の違いとはいえ、意外と慣れるまで苦労しそうです。
  • 静電容量無接点と称するキーの感触は、タクタイル感がはじめにあって、押した後すぐにコツンと底打ちします。1.5mmの極端に短いキーストロークなので好みが分かれるかもしれません。
  • 自動切り替えのキートップタッチパッドは、いい感じで切り替わってくれます。ポインタ移動とスクロールは全くと言っていいほど自然に使えます。旧機種は切り替え用のボタンがあったのですがもう不要になっています。Back/Forwardはスクロールと2本指操作を共有しているため、どう区別して発動させるのかのコツがまだ掴めていません。
  • iPadをポートレート縦置きでも使えるカバー兼スタンドは他になかなかないので、その点でも優れものです。
  • キー数はほぼ過不足ないのですが、Page Up/Downがキートップに刻印がないのでキーコードが出るのかどうか要調査だと思っています。

製品のページはこちら https://jp.mokibo.com/ です。

赤いラインがアクセントの初号機が何年も前に出ていたように思い、製品のリリース履歴を辿ってみました。

わたしが自作キーボードを始めた動機のひとつが、ポインティングデバイスとキーの操作の行き来をできるだけ手を動かさずに行うことだったので、Mokibo Fusionはこれを叶えてしまう一種のいわゆる脅威です。
しばらく使って、またレポートしたいと思います。

この投稿はMokibo FusionキーボードをiPadに接続して書きました。

2023-06-03

"A new era begins." なWWDC23で一喜一憂しないために、じぶんなりの期待はMac Pro、AI、XRと表明しておく

今年のWWDCは、どことなくいつもと違うようだ、とそこかしこで言われていますね。
Apple自身の告知でも "Code the new world." とか "A new era begins." とか、大きく構えてきています。

世間で取りざたされているうわさや予想に流されて一喜一憂するのは、WWDCの本来の楽しみ方ではないはずです。
なんとか最高の状態でWWDCを迎えたく、どうすればよいか考えたところ、やはりじぶんの期待と言うか希望を表明しておくべきと考えました。

わたし希望するトピック3題は、

  • M2 Mac Proの実機、またはM3 Mac Proの概略(拡張性を入れ込むのにM3世代までかかりました、準備は出来ているけれど、もう少しだけ待ってね)の告知。
  • LLM (AI) をMacBookやiPad ProのNeural Engineでローカルで実行するツールキットと、学習済みモデル。Apple Siliconの有効性がまだまだ続くことをここでも示すべき。
  • 長らく待たれている、XR。Appleならどう具現化するかを見せて欲しい。使いやすいARはすでにLiDARスキャナやジャイロセンサーで実現しているAppleなので。

です。
この中から2つ以上を出してほしいです。
そして1つは "One More Thing..." として。

さてはたして、どんなWWDC23になるのでしょうか。 


[2023-06-08] とうとう満を持して One More Thing が来ましたね。
いつも製品の転換点で出てくる hello が、今回はSpatial空間にて。

こんな時に限って、お勉強の時間が取れない。。。

[2023-06-21] このhelloの物体をよく見ると、あまりにも自然に実空間に溶け込んで、影までついて、そこに物体が実際にあるかのような3Dイメージとして、視界全体が生成されていますね。
このリアリティがあってはじめて、違和感なく空間でコンピューティングする自然さが引き出される、自分の体の一部というか、肌感覚として受け止められる、Appleはそこまで突き詰めて作り込んでいるんですね。

2023-05-25

ワカコ酒 Season 7 が2023年7月から

また酒飲みドラマの紹介です。
このブログで一度も紹介していなかったのが不思議なのですが、あのワカコ酒の続編が始まります
いつものワカコさんの髪形ですが、そうあの空手で瓦を割るアクション系のお方です。
いつもの、ほっこりが楽しみです。

2023-05-20

あこがれのCorneが欲しい、自分好みにカスタマイズして [自キ沼 #31]

自作キーボードの代名詞といえば断然Corne (crkbd) で(あくまで個人の見解です)、わたしのあこがれとも言える存在です(遊舎工房にてCorneシリーズ)。

ぎゅっと詰まったシンプルさ、ベゼルレスのすっきりした形状、何よりも自作キーボードらしい左右分割カラムスタッガードの配列。
遊舎工房で現物を見た時も、なにかこう特別な存在感を放っている感じがしました。
そうです、こういうのを、エモいというのがピッタリです。

ところが残念なことに、ひとつだけどうしても譲れない点があって、今までずっと手を出せずにいました。
それは、

  • Cのキーを人差し指で押したいのに押せない
    (カラムスタッガード共通の悩み、教科書的には正しいけれども)

からです。
であれば、単純にロースタッガードやAliceに寄せれてやれば良いかといえば、今度は別の優先事項が頭をもたげてきます。

  • 左右基板のリバーシブル化を、
    キー配列自体と同じくらい重要視している

この2つのハードルのために、欲しいのに手を出せないままで今まで来てしまいました。

先日の投稿で紹介した Jones配列キーボード(さらにロープロファイル版のNora立体配置に発展したSandyも) は、作者の @jpskennさん も提案されているように、いろいろな形状のキーボードに応用できます。
わたしも、アジャスタブルキーボード以外にも、と思いを巡らせていました。
そんな中、ついに思いついたのが、CorneへJonesのアイデアの応用です。

右の図がその結果です。
どうでしょう、Corneの一種に見えませんか?

  • せっかくならと5x3にしてみました。
  • Jonesのアイデアから、Cキーは人差し指と中指のどちらでも押せるように行を0.5uだけスタッガードしています。
  • 左Shiftキーや、親指のCtrl、Alt、Cmdなどのモディファイアとなるキーは、Corneliusのように追加増量しました。
  • 左右リバーシブルです。

今回は制作の付加価値としてRGBバックライトにも初挑戦してみようと思います。

さらに2番目の図では、

  • 小指の短さに合わせた、小指ブロックの配置(AliceやLilithで良好なことを実感)

にしてみました。
小指の長さは人それぞれとは思いますが、標準キーボードでは薬指のOに比べて小指のPがちょっと遠くて押しにくいと感じませんか。
小指キーは薬指キーから少し離れている方が力を自然に入れやすいと思います。
行やカラムの連続性が崩れた見た目になってしまいますが、小指の自然な位置を考えると、意外と使いやすそうです。
この配列もチャレンジしがいがありそうです。

最後の図がオリジナルのCorneの5x3配列です。
わたしには、もう不思議と、一連のシリーズのようにしか見えなくなってきました。

標準キーボードからの移行をもっと重視するのであれば、小指キーや数字行も追加して6x4あるいは7x4にしても良いかもしれません(もはやCorneではなくなるかも)。

ひとつの作品の制作に取り掛かろうとしている中でも、色々と別の新しいことを考えてしまうのは、自作キーボードのひとつの楽しみですね。

さて、この配列のキーボードの名前ですが「Corn and Jones inspired Lilith nano」「コルネのテーストにジョーンズのアイデアを加えたLilithのnano版」といった感じなのですが、まだちょっと煮詰まっていません(笑)。

この投稿はLilithキーボード (LilithKbd) を使って書きました。

 

[2023-05-23] 完成イメージをKLEで描いてみました。
5x3なのでキーキャップはカスタムレジェンド必須と考えました。
今回のレジェンドは単色で、自分のお気に入りのキーマップを描いています。
小指のQとPはAlice配列にもっと近づけてみました。

2023-05-04

Lilithキーボード概要まとめ [自キ活#30]

自分にとっての理想のエルゴノミックキーボードを求めて、分割Alice配列を発想したのを契機に、自作キーボード作成に取り組んできて、ちょうど一年が経ちました。

このLilithキーボードは先人の知恵をありがたく活用しつつ、自分でも色々と考えて作ったものです。
在庫を持って配布するのはちょっと次元の違う大変さがありそうなので、ゆくゆくは設計データをGithub等に公開していければと考えはじめています。

まずは最初のステップとして、Lilithの作成中の各バージョンの工夫点や特徴を、出来るだけ簡潔にまとめてみました。

Lilith共通の特性
  • Split Alice配列。手首や肩を楽に、小指も楽に
  • ロープロファイル。ボトムケースはキーソケットの厚みギリギリまで削減
  • リバーシブルPCB、左右同一サイズ
  • ホットスワップ
  • アナログジョイスティック、マウスやトラックパッドの使用頻度を下げる狙い
  • 親指ブロックの1.5u Spaceキーを縦に配置し親指のホームポジションを明確化
Lilith v0.9
  • SU 120による自作キーボードの仕組みの検証
  • 具体的なSplit Alice配列のおおよその形の確定
  • v1.0 FR-4プレートの検証
Lilith v1.0
  • Kailh choc v1スイッチ採用
  • 自身初PCBかつ初PCBA。JoyconジョイスティックのFPCコネクタが0.5mmピッチで手ハンダできないため
  • 右手に対して、左手はQ行とA行の間でPCBをカット、横に0.25uズラして、リード線で配線し、左右の配置の違いを擬似的に実現
  • FR-4プレート。プレートは左右別々にならざるを得ないけれど、ボトムプレートと共有することで節約
  • 右手側のジョイスティック部分は、高さを抑えるために基板をくり抜いて設置、対する左手側は通常キー用配線パターン、の選択式
  • FR-4積層ソリッドケース。PCB上下の空間をソリッドに埋めて音漏れを防止。100x100mmに収まるように細かく分割したので組み立てが大変
Lilith v1.1
  • 3Dプリントによるソリッドケース。ロープロファイルで体積が小さいので、それほど高価にならない。パーツ点数が大幅削減
Lilith v2.0
  • Gateron low profileスイッチ採用。chocよりかなり質感が良い
  • 右手に対して、左手はQ行とZ行を0.25uズラして配置することによるリバーシブル基板。配置がギリギリで、右手のソケットはNorth Facing、左手のソケットはSouth Facingと逆向き
  • 親指行のSpace以外は1uと1.25uの組合せで配置
Lilith v2.5
  • 親指行の2.25u Enterキー対応の配列。キーキャップのアクセントカラーを活かすため
  • PCBの右手Menuキーの位置にBug。ケース側を削って回避

Lilithはすでにもう自己評価80%の満足度&出来栄えで、日常的にフル稼働中です。
もう普通のキーボードには戻れません。
標準キーボード配列との差が少ないので、ラップトップのキーボードを出先で使う際にも違和感がありません。
やり残しているアイデアがまだあるので、Lilithはもう少しバージョンアップを続ける予定です。
(少しネタバレ:VCCのショートの恐れがあるTRRSに代えてUSB-Cに、Jones配列を参考に左右を対称配置に、Keychron Lowprofile Opticalスイッチでさらにもう少し薄型に。)

ところで、Lilithの名称は、富野アニメに登場するいわゆる妖精(有翼人)の名前から来ています。
主人公の頼りになる相棒であることと、言葉の響きが良くて、いつか自作の何かの名前に使いたいと温めてきた名前です。
左右分割Aliceキーボードがちょうど妖精の翼のように広がった形なので、われながらとても気に入っています。

この投稿はLilithキーボードを使って書きました。

 

[2023-05-06] 各バージョンの初出のTwitterツイートへのリンクを貼りました。
見返してみると、ブログの方は全然タイムリーに投稿できてきませんでした。

[2023-07-26] Lilith だと検索で特定しにくいので、LilithKbd のキーワード併記を自分の中では統一していこうと思います。

2023-05-01

よりコンパクトでエルゴノミクスなアジャスタブルキーボードをつらつら考えた [自キ沼#29]

かつてのApple ADB Adjustable keyboardは、わたしがエルゴノミクスキーボードの夢を抱くことになった原点のキーボードです。
現在の市販のエルゴノミクスキーボードは巨大なものばかりで、自分のデスクに置きたくなるものがありません。
無いなら自分で作るしかない、わたしが自作キーボードを始めた第一の理由はこれです。

Apple Adjustable keyboardを現代的なキーボードとしてなんとか実現したいと思い続けている中で、今回ようやく一つの解が見えたような気がしてきました。
右の図がその姿です。
以下、今回のアイデアに込めた・込めたい思いです。
いつもながら、思いつくまま綴ります。

  • 左右分割式か可動式か:
    Apple Adjustable Keyboardのように可動して好きな角度で利用できる方式も良いのですが、お気に入りのMagic Trackpadを、お気に入りの手前のポジションに置くことができません。Lilithではそれを許すために、あえてAlice配列で分割型にしました。もちろん、トラックパッドやマウスやトラックボールを素直にキーボードの右や左に置けば良いのですが、どうしても手の移動量が大きくなって、せっかくエルゴノミクスで楽な姿勢で使えるようにしているのが、半分犠牲になってしまいます。キーボード単体でポインティングまでできればとの思いで、ジョイスティックモジュールの組み込みの模索は継続しています。今回の配列では、分割ではなくApple Adjustable Keybordのように可動式にします。
  • 右手と左手で、手の向きと行の傾きが違うのを軽減したい:
    Apple Adjustable keyboardのように、単純に標準キーボードのカラムスタッガードを左右分割して手首の向きに沿うように傾けただけでは、左右とも行が依然として右下に傾斜して左右で非対称です。これでは、それほどエルゴノミクスとは言えないと考えています(以前の投稿での考察)。自作のLilithでは右手側のズレを緩やかにすることでこの差を緩和しようとしています。結果、この約半年間、自分としては気持ちよく使えていると思います。
  • 基板をリバーシブルにしたい:
    JLCPCB等への基板発注は5枚単位なので、リバーシブルにすることで余剰基板を最小限にしたいところです(1回の発注で5台分にもなるのを2.5台分に抑える)。現状のLilithでは左右を反転した時にQとZの行が左右で0.25uズレていて、左右でスイッチの上下を反対にしてようやく収まるくらい配置に苦労しています。
  • さらに進めて、Jones配列で完全リバーシブルに:
    最近、Twitterでのやり取りの中で、@jpskennさんJones配列に出会いました。Jones配列は、左右対称のシンメトリカルスタッガード(サリチルさんの分類)で、非常によく練られた配列だと重ました。これを見た時、まさに目から鱗が落ちました。これなら手の向きに対する行の傾斜が左右で同じになり(右手Jの右下のMを人差し指、左手Fの左下のCを同じく人差し指で押すスタイルの場合です(Cを中指で押すスタイルの人はカラムスタッガードじゃないと解決しない))、そのうえ分割した時の左右の基板のキーの配置が完全に一致します。なお、センター下のジョイスティックとBキー、それとポインタボタンの有無は切り取り選択式とします。
  • 極小コンパクトキーボードへのチャレンジ:
    先日来、Lilithで5x3あるいは6x3のミニサイズの配列を模索しています(先日の投稿)。単純に標準キーボードのキー数を削っただけのコンパクトキーボードでは手首に対するエルゴノミクスが実現できないことは自明の理です。Jones配列は行が水平なまま手首への負担を小さくする発想ですが、私はこれをさらに進めて、左右分割にして手首に対してより自然なな角度に調節できるようにすればもっと良いと考えました。また5x3まで縮小するのなら1列だけになる小指担当のキーはあえてAlice配列にしなくても良さそうです。
  • 長押しモディファイアは使いたくない:
    5x3配列のキーボード(QAZまで切り詰めるので「QAZ配列」とも言うんですね)では、キー数が不足する対策として、同時押しモディファイア、あるいは長押しモディファイア(Zを単体で押すとZ、ZとJを押すとShift/J、あるいはA+CでCtrl/C、Ctrl/AはL+A)がよく使われます。長押しかどうかの判断にはタイマーが使われます。これは以前試してみたのですが、キー入力のリズムをいつも厳密に揃えないといけなくて、少しでもキーを押している時間が短かったり長かったりすると途端に誤爆、自分には全く合いませんでした。CtlやShiftやレイヤなどのモディファイアキーは主に親指ブロックにフル装備して、キーボード配列としてうまくまとめるべきと考えています。

その他、Lilithから引き継いでいる特徴です。

  • できるだけ標準サイズのキーキャップが合うようにしています。
  • ロースタッガードの標準キーボードと指運びがほとんど変わらないようにしています。
  • 親指ブロックとメインブロックの間には0.25uの隙間をあけて、親指で最下行のキーに誤って触れないようにしています。
  • また、親指ブロックのBackspaceとSpaceは1.5uの縦置きにして、親指のホームポジションが明確になるようにしています。
  • 中央にジョイスティックを配置して、ホームポジションにいながらポインタ操作ができるようにしています。
  • 配列に直接は関係ないですが、ロープロファイルは継続するつもりです。

このキーボード、Jones にあやからせていただいて Lilith mini-J と名付けたいと思います。
いつ製作・完成するかはわかりませんが、思いついた構想が自分でも気に入ったので、まずはブログとして記しました。

最後に、Apple Adjustable keyboardの、オリジナルのカタログに載っていたであろう写真です。
いま見てもエモいというか、少し生物的と言ってもいいデザインだと思います。

この投稿は自作Lilithキーボードで書きました。

[2023-05-02] ケースも考えました。
中央上端にヒンジでアジャスタブルにして、補強のために下端には円弧のガイドレールがいるかなと思います。
左右の接続をどうするか、見えにくい場所にケーブルを隠すとか、コネクタにして長いケーブルに替えて左右分割も出来るようにするとか(無線だとバッテリが場所を取るのが悩み)。
直線の時にはマグネットでくっ付けても良いかも(強力すぎると小さな角度の時にもくっついてしまうかも)。
なお、わたしはロープロファイル派なので、パームレストは考えていません。

ところで、基板は高さ4.5u、幅7u(左右共通で、左手側は中央の不要部分をカットして使う)と、もっと切り詰めれば100x100mmに収まるかも、と期待してしまいそうなところですが、キーボードとして最低限成り立つのが優先事項なので、考えないことにします。
またそう考えるのならいっそ、5x3(+1、左Shiftの分)じゃなくて6x3(-1、Z行は現状から増やさない)にすれば、0.5u増えるだけで、Tabやクォーテーションマークが格段に使いやすくなるかもしれませんし(QAZ配列は目指さない、本当に使いやすくなるかはある程度の期間やってみないと分からないところ)、あるいは数字行も入れて6x4にしてしまうとか(色々考えてすぎると今回のキーボードでの設計目標・主眼がブレてしまいますね)。