メモ帳DPA

ぐぐってあまり引っかからないような何かがあったら書いたりする

財布の圧縮を考える

現金を使う場面がかなり少なくなっていることに気付いた。
クレジットカードとSuicaとPayPay(とPASELI)で大抵どうにかなるので、現金の出番はほぼ外食くらいしかない。最近は外食も小さめの個人商店でもPayPayは使えたりする。

財布一切持たないって所までは流石に不便なので踏み切れないけど、とりあえず持ってさえいりゃいいやという感じにはなった。
代わりの財布についていくつか試してみたので、そのあたりの試行錯誤の記録を書きます。

要件

  • お札が10枚弱入る
  • 小銭が15枚以上入る
    • 1円10円100円が各4枚、5円50円500円が1枚
  • カードが4枚以上入る
    • kyash、P-one Wiz、住信SBIキャッシュカード、免許証
  • 株主優待券がそれなりに入る
  • 家の鍵が1本入る
    • 常時持つ分はキーケースを省略したい
    • 車や自転車の鍵は使うときだけ別持ちでよい
  • 接触IC決済対応は不要
    • 全部携帯でやる
  • 見た目やブランド等はどうでもいい
  • ズボンのポケットに入る
  • なるべく小型軽量である
  • 極端に使い辛くない

これまでの財布

f:id:de0:20200115181353j:plain

大量のカード収納と大口の小銭入れを持ちつつも小さめにまとまっている財布。お札の収納が独特でちょっと癖があるがすぐ慣れる。
1箇所の蓋を開くだけで中身に全部触れるのでかなり使いやすい。けっこうお勧め。

いつ買ったかもう覚えてないけど、同モデルのP25から乗り換えつつ多分計7年くらいは使ってた気がする。
使うカードがだんだん減ってきたので、せっかくのカードポケットが年々スカスカになってきていた。

M+ Piastra

ここから、移行先として試したもの。
f:id:de0:20200112211905j:plain

ポケットに突っ込む用の薄型財布。この手の財布を調べるとまず出てくる abrAsus 薄い財布 に似ているが、若干大型化しコインケースの位置を逆転させた感じになっている。

お札は革一枚の上に突っ込んでるだけで、蓋(ただの革)を閉じるのはポケットの力でやれという割り切り設計で、サイズも若干大きめなので、ちゃんと優待と札の両方を収納しつつ薄くまとまった。
小銭入れが内側なのは薄さの面で不利なのではと思ったけど、厚みは札の折り目と同じ側に集中し外側の端は薄いままなので、ポケットへの突っ込みやすさではこっちのほうが良さそう。

普通の財布系の中ではこれは悪くない選択肢だった。しばらく使った。

他の候補


似た配置でタイベック製の財布があり、こちらは厚み3mmらしい。薄さを追求するならこっちのほうが良いかもしれない。

輪ゴム

f:id:de0:20200112214239j:plain
二つ折りパターン
f:id:de0:20200112214404j:plain
四つ折りパターンと優待束
Piastra財布もこれはこれでなかなか良かったんだけど、

  • 使用頻度が違いすぎる株主優待まで1つにしておく必要があるのか
  • 小銭どうにかしたらもっと薄くなるのではないか
  • そもそも別に財布要らんのではないか

という考えが出てきた。

とりあえず極端なところから調整するかと思い、次の財布候補(もう財布でも何でもないが)は輪ゴムになった。
薄さ軽さの面ではどう考えても間違いなく最強である。使い勝手も意外と悪くはなく、阻むものが何も無いので探しやすい。
普通の輪ゴムだと劣化するので、モビロンバンドを使うとよい。

小銭の扱いがどうしようもないのが最大の欠点。札の端も曲がる。

コインホーム

f:id:de0:20200112220050j:plain

小銭をポケットに突っ込むのは流石に使い辛すぎるのでコインホルダーを使ってみることにした。

これはストッパーの付いたプラスチックの塊で、金額ごとに各5枚ずつはめ込んで携帯することが出来る。金額分けされており枚数もすぐわかり取り出しもしやすいので、会計時の使い勝手は最高だった。

ただ、支払いまでは良いんだけど、お釣りをもらう都度一枚一枚はめていく作業が必要になる。また、当然だけど硬貨5枚分以上のそこそこの厚みがあり思ったほどコンパクトではなかった。
上限は5枚じゃなく4枚でいいし5円/50円/500円は1枚ずつ入ればいいので、限界まで削ったバージョンがほしい。

ほかの候補


カードサイズで薄くまとめるならよさそう。もう売ってないけど。


500円が若干取りづらそうだけどこういうのもあった。

ジップロック

f:id:de0:20200114192901j:plain
中身は最高に見やすいが小銭が取り出しにくかった。もっと大きいサイズのを使えば解決はしそうだけど。
見た目は気にしないつもりだったが、会計時にここからジャラジャラもたもたやってるのは流石に微妙な気がした。

これを使うなら小銭に限らずお札も一緒に入れてよさそう。サイズ的には小銭と一緒に収納できるタイプのほぼ下限のはず。

名刺入れ

f:id:de0:20200115184055j:plain
ある程度の薄さ小ささがあり開口部が広いので、小銭入れとして使えるのではないかと思い試した品。
使い勝手は悪くはなかったけど、小銭が擦れる音と壁に当たる音が発生するのでやたらうるさい。じゃあ革製にしたら良いのではと思ったが、革製の名刺入れはこういう開き方はしない。

abrAsus 小さい小銭入れ

f:id:de0:20200114191222j:plain

コイン15枚と鍵の入るキーホルダー。かなりの小ささとそこそこ妥協できる使い勝手がある。妥協できる範囲というだけで別に特別使いやすいわけではない。
小銭を放り込む感じにはならず、隙間に押し込んでいく必要はある。

他の候補

細長でなく正方形タイプのこういうのもよさそう。

カードケース

雰囲気で株をやっている。少しずつ買い足し続けていて100銘柄くらい所持している。雰囲気でやっているので、近場で使え還元率が悪くない飲食店の優待が付いてくる株なんかには特に釣られがちである。
汎用性のあるギフトカードでくれると助かるんだけど、大抵はその店でしか使えない優待券なので結構枚数がかさみ財布を圧迫していた。

f:id:de0:20200112210921j:plain

たまに特定の店に入った時にしか使わないので現金やカードとは利用頻度が全然違い、別に全て財布内に収めておく必要もないことに今更ながら気付いたので、優待だけ分割することにした。
一覧で探せるので、使う時ペラペラめくって対象の店の券を検索する必要がなくなって便利。面積がだいぶ増えるが、尻ポケットや上着のポケットに入るレベルなので許容範囲だった。

メインカードや紙幣もここに入れて、カードケース+小銭入れだけってのもありかもしれない。

Ichione Cow

f:id:de0:20200112220254j:plain

輪ゴムの代替として、小銭入れが一体化していると便利なのではと考えて買ってみた品。
お札もカードも小銭も確かに入りはするんだけど、札とカードの向きが逆のため無駄にかさばり、小銭は隙間から溢れ、サイズも別に薄いわけでもなしと全部中途半端だった。

マネークリップ

f:id:de0:20200112220144j:plain
マネークリップ単品ならもう少しましなのではと考えて一応試してみた。
クリップ分の厚みが増すし、札の厚みが出てくると挟みづらい。おまけにカード何枚か入れたら元の位置に戻らなくなった。取り出しやすさでは勝ってるのかもしれないが、輪ゴムに対する利点が少ないように思う。
枚数少ないなら普通の文房具クリップのほうがマシな気がする。

Mary Lamb マネークリップ

f:id:de0:20200112215725j:plain

カードを板で挟み、紙幣を板裏のゴムで止める財布。別々の収納になった分若干取り出しやすくはなった。
the Ridgeという財布のコピー品っぽい。

ただ、カードを挟む2枚の板に結構厚みがある。それぞれカード2枚か3枚分はあるので、収納する中身よりかさばっており本末転倒感がすごい。
金属製だと他の物を一緒にポケットに入れたときに傷をつけるのも良くない。

Kinzd 輪ゴムカードケース

f:id:de0:20200112210835j:plain

ポケットが付加されたカードサイズ幅のゴムバンド。

輪の中とポケット2つを使いカードと紙幣と小銭を3箇所に収納できる。さらに横向きの小ポケットとキーリング付き。
必要な収納をシンプルながらいい感じに抑えており、輪ゴムよりかなり使い勝手が良くなった。見た目も多少はマシにはなる。
小ささを求めるならこれが答えな気がする。

欠点は、小銭の使い勝手が最悪なこと。ゴムの隙間に挟んでいるだけなので、中身は見辛く、取り出しにくく、入れにくい。また、枚数が少ないとたまに中身が落ちる。

所持品が増えるが、コインホーム(または小さい小銭入れ)を併用するのはまあまあ悪くはなかった。しばらくこの構成を使っていたがサイズと使い勝手が結構良いバランスだった。

SAKU-SAKU コインケース

形状が違う以外は小銭も紙幣も同機能なのに、小銭入れが分離して収納先が別になっているのは使い勝手的にはあんまり良くない。それに、小銭入れも決して大きいわけではないんだけど、ゴム束に比べると相対的には大きく見え無駄を感じる。
じゃあ一体型なら良いのではということでいろいろ探した結果、小銭入れ付きのゴムというかゴム付きの小銭入れがあったので買った。

f:id:de0:20200115184524j:plain

単品で出来る小銭の収納がまともになったのでかなり使い勝手が良くなった。ゴムの部分は2箇所入れられるのでカードと現金で分けて収納可能。カードの幅より小さいので端ははみ出す。

他の候補

厚みが増えそうだが、小銭入れがボックス型の分使い勝手はこっちの方が良さそう。

Nano Boy Pocketwww.jaimiejacobswallets.com
こちらは、カード取り出しベルトが付いてるのが若干便利そう。

現状の構成

優待はカードケースに、現金とカードはゴムバンド付きコインケースに入れて使っている。
f:id:de0:20200115185542j:plain

手持ちの優待が減ってきたら輪ゴムカードケースにしてもいいかなと思っている。
f:id:de0:20200115185027j:plain

おわり

お札を使う時の処理は、1000円を何枚出すかが実質ほぼ全てなので、雑に入れていてもそんなに使い勝手は悪くならなかった。
現金で高額決済する場面は稀なので、5000円/10000円が必要かどうかを考えるのは1000円が足りなかった時くらいしかない。

一方小銭を使う場合は、支払額ZYX円に対し以下の考慮が必要になる。お札と違い3桁分の計算と5の端数処理が要るので、ある程度の見やすさと取り出しやすさが確保されていないと一気にかなり使いづらくなる。
・1円と5円の合計でX円ちょうどあるか
・ない場合、1円が(X-5)枚あるか
・ない場合、X<5かつ5円が1枚あるか

・1の位の支払額<X の場合、Y=Y+1
・10円と50円の合計でY円ちょうどあるか
・ない場合、10円が(Y-5)枚あるか
・ない場合、Y<5かつ50円が1枚あるか

・10の位の支払額<Y の場合、Z=Z+1
・100円と500円の合計でZ円ちょうどあるか
・ない場合、100円が(Z-5)枚あるか
・ない場合、Z<5かつ500円が1枚あるか

もっと適当に支払って小銭溜まったらたまにセルフレジとかに全額突っ込むという手もあるにはあるけど、財布を小さくしたせいで小銭が増えるというのは目的を見失っている。
小さくするのは結局使い勝手をどこで妥協できるかだと思う。ここまで極端な小型化をせず普通の財布を選ぶにしても、お札やカードは適当に入れときゃ使えるけど小銭入れはある程度マシな感じのを選んだほうがよさそうな気がする。

自作キーボード無線化した話(Helix+Ble Micro Pro)

ついにBle Micro Proが到着しHelixを無線化出来たので、その辺について書きます。
f:id:de0:20190210201341j:plain

導入の流れ

Pro Microを外し、Ble Micro Proに入れ替えて、何らかの電源を追加し、以下の手順に従いファームを焼くだけ。無線化のハードルが滅茶苦茶低くなって本当にありがたい。
github.com

※追記:今はwebからファーム焼きが出来るのでさらに簡単

作ったパーツ

単4搭載用プレート


f:id:de0:20190216194906j:plain
[asin:B07K21F579:detail]
最終的に使うことにした部品。
単4搭載用の金具を隙間に差し込んで、電池-電池間、電池-BAT間、電池-VCC間を導線で雑にハンダ付けして使う。
金具裏面-コンスル―の間と、表面の電池周りの金具同士は、接触すると短絡するのでテープを貼って回避した。

スペーサはデフォの8mmから6mmに換装している。こういうパーツどこで買えばいいのかよく分からなかったんだけど、遊舎工房のリアル店舗が出来たおかげで小物の入手性が良くなって助かる。

配置可能な位置の中で一番マシっぽい場所ではあるものの、かなり上に飛び出る(横も2mmはみ出す)ので、元の直線的で無駄のないデザインを台無しにしている点はよくない。
ロープロファイル構成だったら大体同じ高さなのでもう少しすっきりするかもしれない。

コイン電池搭載用プレート


f:id:de0:20190216194344j:plain

作ったけど使わなかったパーツ。市販の電池ボックスをそのままくっつけられる(内側はみ出すけど)。
このケースは直列用なので、内部の配線をいじって並列もしくは1個にする必要がある。
見栄えは電池基盤に劣り、使い勝手は単4に劣るので、難易度くらいしかメリットがなくやめた。

エルゴノミクス風チルト足


f:id:de0:20190216194413j:plain
中央を高くしてそれっぽい配置にするための足。現在は戻したけど180度回転させる配置でも使える。
作ってはみたものの、この手の配置はパームレストがないと余計に疲れるだけということが分かった。
パームレスト無しで済ませたいからロープロファイルにしているのでやめた。
持ち上げる構成にすると裏面のスペースにかなり余裕ができるので、電源配置の自由度はかなり上がりそうではある。

3Dデータ

一応以下に置いときます。(3種セット、STL+F3D)
ただし、ダヴィンチJr (使っている3Dプリンタ)の精度が結構低く、印刷してから適当に穴広げたり削ったりしてるので微調整が要るかも。
www.dropbox.com

ハマったポイント

※全てWin10+MinGW環境、2/10時点 (追記:現状全部解決している)

ペアリング後に元のレイヤーに戻ってくれなかった

LT()で切り替えた先のレイヤーからMO()で移動するAdjustレイヤーにペアリング用のキーを配置していたのだけど、ペアリング後にキー入力を受け付けてくれない状態になり、数時間悩んだ。
根本原因まではちゃんと調べてないけど、ペアリングキー(AD_WO_L)押下後にどういうわけか元のレイヤーに戻らず、Adjustレイヤーのままになっていたせいだった。(使わないキーはAdjustレイヤーでは無効化していた)
滅多に使うものでもないので、元のレイヤーに戻る用に TO(_QWERTY) をAdjustレイヤーに追加してとりあえず回避した。
※追記:現行バージョンでは直っている

USB接続していないと初回ビルド終わらない

ビルドがなかなか終わらないなあと思ったら、途中でUSB接続してないと進まないポイントがあったらしい。
特に表示が切り替わらないので気付かずに数時間余計に待ってしまった。

USBで認識してくれなかった

これはBle Micro Pro自体は何も関係なく多分接続先が悪いんだけど、何も繋がず裸でUSBだけ繋いだら動くが、基盤をキーボード上に搭載している時は何故かUSBデバイスとして認識されないという状態になった。
コンスルー取り替えたら直ったけど、どういう仕組みでそんな現象になったのか結局よくわからない。

ちなみに、構築の経過をTwitterに書き殴ってたら、特にBle Micro Proって書いてないツイートにも関わらず分で補足され、交換品を速攻で送って頂けたりした。
結果的に切り分け不足でただ余分な手間を掛けさせてしまっただけなんだけど、滅茶苦茶親切でちょっと感動した。本当にありがとうございます。

若干もっさりする

デフォの設定だと少し反応が遅めで、左右の打鍵タイミングが悪いと入力順序が反転したりする。(頻度はそこまで高くないけど)
電池持ちは悪くなるけど、通信インターバルは多少下げたほうが良いように感じた。

配置を考える

せっかく分割ワイヤレスになったので、普通のキーボードじゃできない配置を試してみた。

椅子に直接付ける

f:id:de0:20190216195913j:plain
椅子のアームレストに机用のマウストレイを付けてそこに置く配置。(お試しなので片方だけ)
位置的にかなり楽な場所に来る点は良かった。ただ、固定しないと落ちそうで怖い、机の昇降についていけない、机の高さ低いとぶつかる、という点が微妙だった。やっぱ机に置けば良いや。
オフィスチェアではなくソファなんかだったら良いかもしれない。

ベッドで足の左右の座面にダイレクトで配置

位置が結構低いので思ったより疲れる配置だった。だったら普通に膝の上に置けばいいんだけど、別にそれは分割じゃなくても出来る。

ベッドでクッションテーブル二つ配置して配置

f:id:de0:20190217064449j:plain
ならば位置を上げれば良いのではということでクッションテーブルを間に配置して嵩上げしてみる。クッションテーブルは膝の上において使うものらしいけど、そのまま配置してキーボード置き場にした。
非分割キーボードを使う時はベッドサイドテーブルを正面に持ってきて配置していたのだけど、この場合足に当たらない程度の高さまでしか下げられないので、低めに設置できるこっちの方がちょいど良い高さになる。
トラックボール置くと若干窮屈なのと、足回りが狭いのと、寝るとき邪魔なのは欠点。

クッションテーブル+サイドテーブル

f:id:de0:20190217064532j:plain
これが一番しっくりきた配置。右手側だけサイドテーブルに変更。
天板が膝をまたがないので、足回りが広くなり高さも低めに調整できて両方ともいい塩梅のポジションになる。
落下の心配がなくなるのと、長いので肘掛けにもなるのもよい。

おわり

立ったり座ったりベッドで使ったりと普段あんまりキーボード位置が定まっていないので、いつでも左右バラバラ好きな場所で使えるのは思ったより快適になった。

自作キーボード導入の最後の踏ん切りがついたのは無線化の手段があるという点だったということもあり、当初から理想形として考えていたものがやっと形になってうれしい。

ぼくのかんがえたさいきょうのキーボードが出来てこれで完璧...になるかと思ったけど、理想はいくらでも上がっていくようで、一体化したポインティングデバイスも欲しいな、とか、右側だけもう一列欲しいな、とかいろいろと欲が出てきた。しばらくはこのまま使うつもりだけど果てしない沼を感じる。

テンキーで無理やり試すワイヤレス分割格子配列キーボード

前々から自作キーボードは気になってはいたんだけど、有線であることが引っかかって結局ずっと購入に踏み切れていなかった。
ベッドで使う時に体の左右に置きたいのと、差し替え無しで机にも移動したいので、欲しいのは分割でワイヤレスのキーボードなんだけど、ワイヤレスの部分が自作だとネックだった。

ところが今はBLE Micro Pro というものがあったようで、基盤を置き換えれば自作キーボードをBluetooth化出来るとのこと。かなり理想的だったのと、予約注文で2ヶ月ちょっとくらい待つようだった(当時)ので、見つけた勢いで何も考えずに即座にとりあえず2枚ポチった。
(redditとか見ると他の無線化例もいくつかあったがどれも売ってなかった)
github.com

最大の課題だった点が解消できそうなので、これで安心してキーボード選びに入れるようになった。基盤買う前に決めろよという感じもするが買っちゃったものはしょうない。

デザインや省スペース性でHelixが第一候補になったんだけど、格子配列を導入するにあたって、普通の配列と切り替えるのにどれくらいの違和感があるのかということが今度は気になってきた。 

世の中のノートPCやコンソールは格子配列じゃないので、一生格子配列しか使わんという訳にはいかない気がするし、結局両方の配列に付き合っていく必要がありそうに思える。特殊配列使ってる人たちがその辺とどう向き合ってるのか大体なにも書かれてないのであまりよくわからなかった。

それなりの手間と金を突っ込んで結局やっぱ使いづらかったってなるとかなり悲しいので、なかなか踏ん切りがつかなかった。

テンキー

なかなかポチれないまま思考がぐるぐるしているうち、「テンキーって格子配列だし2つ並べればそれはもう分割キーボードでは?」という意識の低い閃きが降りてきた。

基本的なテンキーだと5行4列なので少なすぎて若干厳しそうだけど、ボタンを拡張してある6行4列のテンキーなんかだと、Let's Splitとだいたい同等(ただし2マス使ってるキーの分は少ない)のキー数がある。
調べたら6行5列かつおまけにワイヤレスのものが見つかった。「0」「Enter」が倍のキー幅であることと一番端はキーが狭いことが気になったが、ここまでのキー数の品は他に無いので、妥協してとりあえず買ってみることにした。

ちなみに、電池横にあった特に使われない謎のくぼみが気になって調べてみたら、元はレシーバー式だったミヨシのテンキーbluetoothに変えて売ってる品っぽい。外装がOEM的なものなのか金型流出的なものなのかは謎。

f:id:de0:20181209175049j:plain
使い方は単に90度回して2台置くだけ。

キーアサイン方法

ファームウェアの修正は不可能なので全部ソフトウェアで制御することになる。
もともとキー配列弄りはかなり前からAutoHotkeyを使っていたんだけど、複数のテンキーが接続されると素のAHKではデバイス単位での制御が出来ない。
なので、とりあえずキー割り当てはhidkeysequenceを使い、モディファイアは引き続きAutohotkeyを使用して無理やり割り当てた。

www54.atwiki.jp

hidkeysequenceでは電卓キーや00キーのような特殊キーには対応していないので、割当はAutohotkey側でしか出来ず、左右別々の設定は出来なかった。また、"$"と”("と")"はShiftキーとの同時押しで送られてくる影響で、同時押しの制御の効かないHidKeySequenceではアサイン後のShiftとの同時押しがちゃんと動作してくれなかった。ずっと使い続けるとは思ってないのでそのまま妥協した。

この辺の問題は、hidkeysequenceではなくAHKHIDのようなものを使い、全てAutohotkey側で割り当てれば多分まとめて解決する気はする。(試してはいない)
github.com

キーマップ(テンキーx2)

キー配列は、もともとAutohotkeyで調整した以下のようなキー配列を大分前から使っていた。(オレンジ:キー変更、緑/紫:元のキーとの同時押し)
左手には主に頻出のショートカットキーを割り当て、右手はマウスとの持ち替えを意識して移動系を割り当てているのと、Space周りの無駄キーを再利用している。
f:id:de0:20181209182416j:plain
※元ファンクションキーと右Shift周りにある謎のキー名は、周辺の物理的な装置(介護ベッド、照明、エアコン昇降デスク風呂)の制御用です

これをベースに、キーの足りない記号を入れた以外は大体同じ配置にした以下のような配列を試した。
f:id:de0:20181209183058j:plain
また、これを元に1-3行目を1つずらしたりするパターンも試した。

感想

職場のノートPCは普通の配列のまま、しばらく自宅では格子を使ってみた際の感想を以下に書きます。(長いので読み飛ばしてもよい)

  • 文字(左手)
    • Zキーの位置がきつい
      • "za"を"xa"にtypoしがち
      • 入力の運指は薬指-子指なんだけど、ZがAの真下になると窮屈
      • 小薬や子子にしたらしたで普通のキーボードできつそう
    • 割と出てくる"ce"と"cd"も同様にきつい
    • ASDFGとZXCVBは一つズレていたほうが押しやすいかも
      • Bは0.5U分くらい遠くはなる
      • だが運指差分のあるZCの違和感に比べると軽微
      • A行とZ行で指の斜め移動が発生するようになるがZXCVBの運指は薬薬人人人だったので影響はXキーくらい
      • 普通の人は子薬中人人なんだろうか
      • Xはあんまり使わないこともあって中指でも割と違和感なくいける
    • QWERTとASDFGは縦に同位置でも違和感なし
      • よくある同縦軸入力は"de"くらいだけど元々両方中指だった
  • 文字(右手)
    • 右手側文字入力は特に問題なさそう
    • 下段のNもMも全部人差し指だった
    • 非分割時の腕配置は内向きなので右手側は元々ズレと指移動の方向が合ってて差分が少ないのかも
    • キーキャップが回転しているだけで元の位置関係は実質Column-staggeredに近そう
    • 端が記号で主要キーが内側に寄ってるからってのもあるかも
    • 利き手分の精度差もありそう
  • 数字
    • QWERTの上に12345があると普段の感覚と位置がずれてる
      • 最初はこの配置で試したがtypoが頻発した
      • 普通のキー配置的には23456...の横位置はZXCVB...と同じくらい
    • 6も左手にほしい
      • 右手で押すのが主流なんだろうか
      • 左手側のほうが近いんだけど分割だとなぜか大体右にある
    • 1-6と7-9で割ったほうがよさそう
    • 右手が6スタートだと格子の場合ハイフンも遠い
  • 記号
    • 記号の位置がかなり変わるので打つたびに手が止まる
    • 数字キーを封印したパターンも試したが更に厳しい
    • 自作だと基本的に英語キートップなので日本語配列だと印字と記号も合わない
    • "\"は重複している、Shift+0は空いている
      • Shift+右上"\"の"|"をShift+0に持ってくると1キー減らせる
      • パイプの位置を覚え直す必要はある
  • レイヤー切り替え
    • これは特に違和感なし
      • AutoHotKeyでかなり前から使って慣れてただけではある
    • だったら記号も慣れで解決できそうな気はしないでもない
  • 全体
    • ズレの有無によるキー自体の押しづらさとかは特に無さそう
    • ただし運指が変わる箇所はかなり気になる(音ゲー脳なので外れ配置に敏感すぎるだけかもしれない)

この辺の内容はかなり人によるだろうけど、実際買う前にある程度確認できたのはそこそこでかいと思う。

結果

配列の差分を気にするようだったら、単に格子でない普通の配列のキーボードを買えば完全に解決するはずなんだけど、以下の理想を全部満たしかつRow-Staggeredであるキットや製品はざっと調べた限り見つからなかった。(あったらぜひ教えてください)
初手でフルに自作するのは厳しそうだし、既存品の完成度を超えるにはかなりハードルが高い。薄さまで考え出すと完全に勝ち目がない。

ぼくのかんがえたさいきょうのきーぼーど
  • 左右分割
  • ワイヤレス(惜しい:Koolertron
  • 再下段NMカンマの下に3キー以上(かなり惜しい:Quefrency
  • 最下段CVBの下に2キー以上(惜しい:Handjoy 逍遥王座K3 x2台)
  • 数値キーあり(惜しい:zinc
  • 6まで左手(惜しい:mint60
  • なるべく薄いとよい(せっかく小さいのにパームレストは嫌)
  • 日本語配列(ソフト側で出来るので重要度低)
  • キーマップ可能(ソフト側で出来るがFnキーが良位置にあるのは駄目)
  • 赤軸か茶軸だと嬉しい
  • キー数カツカツに切り詰めなくていいがなるべく小さいほうがよい

格子配列でも運指差分だけどうにかすれば普通に使えることが分かったので、Helixを手に入れて以下の配列にした。

キーマップ(helix)

右手側とは違い、普通のキーボードの左手側はズレの方向と指の移動方向が合っていない。標準的な格子配列のように単に元の斜め配列通り揃えるのは、移動距離は小さくなるけど、その分左手側の上下段の運指が混乱するので、あまり好きになれなそうだった。

慣れで格子側に矯正すると今度は戻れなくなりそうだし、完全に格子だけ使う覚悟はまだ無いので、数値行とZXCV行を1つずらしてキー側で元の運指と合わせてみた。普通の格子で慣れた時に比べて1とBだけは遠くなるが、そこは慣れなくていいこととのトレードオフなので仕方ない。
f:id:de0:20181213190631j:plain

右側を反転させたところ、helix特有のおまけの2キーが左右ともかなり丁度いい感じのポジションに来てくれて、"]"以外はうまいこと収まった。
"]"については、”["を押したら後ろも自動補完するようにAutoHotkeyで設定しているので無くても困ってはいないが、全然使われないAdjustの位置に入れたり、"|"を0キーに詰めて空いた所に入れてもいいかもしれない。

なお、上下反転させるとLEDの位置も上下逆になるので、キーの印字はちゃんと光らなくなる。(普段全く光らせてないので別に問題ない)
f:id:de0:20181214194043j:plain

最下行両端の3キーとZの左とBの下は空いているんだけど、いい感じの割当が思いつかないので仮置きしている。

おわりに

思ったよりはテンキーでもちゃんと使えた。マッピングが若干面倒だけど、そこそこ良い位置で2マス使ってるキーがあることを妥協できるなら、テンキーだけでやっていくという選択肢も無くはないかもしれない。

今回買ったテンキーだとキータッチがペラペラだったり端のキーが小さかったりする不満はあったけど、一列減らすか有線にすると選択肢はかなり豊富になり、最初からCherryスイッチ各種付いているタイプや、自作じゃ難しい静電容量式のタイプもあったりする。
ちなみに、テンキー以外の選択肢としてはこういう製品もあるようで、単に2つ買うだけでも手軽にかなりそれっぽい形になりそうに見える。

常用までしないにせよ、とりあえず手軽に試してみるための取っ掛かりの一つの手としてはテンキーでもいいんじゃないかと思います。安いし。

試した末結局Helix買ってちゃんと使えて満足しているので、BLE Micro Proの到着が楽しみです。

adventar.org
この記事は謎の中華テンキー二枚とhelixで書きました。

f:id:de0:20181214194254j:plain
(机がかなり広くなってうれしい)


※追記:その後無線化出来た
de0.hatenablog.com

配列抜粋

  [_BASE] = LAYOUT( \
    KC_1,    KC_2,       KC_3,    KC_4,    KC_5,    KC_6,                               KC_RGHT, KC_DOWN, KC_LEFT, JP_ZHTG, KC_ENT,  LT(_LOWER,KC_SPC), \
    KC_TAB,  KC_Q,       KC_W,    KC_E,    KC_R,    KC_T,                               KC_RO,   KC_SLSH, KC_DOT,  KC_COMM, KC_M,    KC_N, \
    KC_BSPC, KC_A,       KC_S,    KC_D,    KC_F,    KC_G,                               JP_COLN, JP_SCLN, KC_L,    KC_K,    KC_J,    KC_H, \
    KC_LSFT, KC_RSFT,    KC_Z,    KC_X,    KC_C,    KC_V,               KC_B,  JP_LBRC, JP_AT,   KC_P,    KC_O,    KC_I,    KC_U,    KC_Y, \
    KC_LCTL, KC_F24,  KC_LGUI, KC_LALT, KC_LCTL, LT(_LOWER,KC_SPC),   KC_ENT,  KC_JYEN, KC_EQL,  KC_MINS, KC_0,    KC_9,    KC_8,    KC_7  \
    ),
  [_LOWER] = LAYOUT( \ 
    KC_F1,   KC_F2,        KC_F3,       KC_F4,      KC_F5,        KC_F6,                               _______,   _______,    _______,       _______,       _______,       _______, \
    _______, LSFT(KC_TAB), LALT(KC_F4), KC_ESC,     LALT(KC_TAB), KC_TAB,                              TO(_BASE), TO(_RAISE), LALT(KC_RGHT), LALT(KC_LEFT), KC_MS_BTN1,    LCTL(KC_TAB), \
    _______, LCTL(KC_A),   LCTL(KC_S),  KC_DEL,     KC_F2,        KC_F23,                              KC_WH_D,   KC_PGDN,    KC_RGHT,       KC_DOWN,       KC_LEFT,       LCTL(LSFT(KC_TAB)), \
    _______, _______,      LCTL(KC_Z),  LCTL(KC_X), LCTL(KC_C),   LCTL(KC_V),   KC_SPC,   MO(_ADJUST), KC_WH_U,   KC_PGUP,    LCTL(KC_RGHT), KC_UP,         LCTL(KC_LEFT), LCTL(KC_Y), \
    _______, _______,      _______,     _______,    _______,      _______,      _______,  KC_PSCREEN,  KC_F12,    KC_F11,     KC_F10,        KC_F9,         KC_F8,         KC_F7  \
    ),
  [_RAISE] = LAYOUT( \
    _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______, _______, _______, \
    _______, _______, _______, _______, _______, _______,                 TO(_BASE), KC_UP,   _______, _______, _______, _______, \
    _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______, _______, _______, \
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______  \
    ),

※ランチャ起動と機器操作関連は適当なFキー充ててソフト側で制御

TPCAST Wireless Adaptor for VIVE のカスタマイズいくつか

VRヘッドセットの無線化はかなり重要な要素だと思うんだけど、期待の星だった公式のHTC Vive Wireless Adapterは技適のせいで日本での発売が無くなり、堂々と合法で使えるのはTPCAST一択になってしまった。とてもかなしい。
そのTPCASTは無線化はちゃんと果たしてはくれるものの、(商品化第一号だからしょうがないんだけど)いろいろと細部が練られてはいない。
けっこうあるイマイチなポイントをなるべく潰して、使い勝手を多少なりともマシにするためいろいろ試したのでその辺について書きます。

ファームウェアの変更

TPCASTはソフトが結構不安定で、接続に失敗する時がたまに出てくる。1回接続できたら再起動するまでは安定するんだけど、いざ使おうという時にすんなり繋がってくれない場合はかなり鬱陶しい。

非公式で開発されているOpenTPCastなるファームウェアがあって、それを入れたら今のところは安定して繋がっている気がする(もともと頻度は高くないのでたまたまかもれない)。

TPCastは、バッテリ装着部がmicroSDからブートするraspi的なミニPCになっていて、USBデバイス関連は無線LAN経由で、映像のみ送信ユニットでやり取りする作りらしい。分解して単にOpenTPCast書き込んだmicroSDに入れ替えるだけなので導入は結構簡単にできる。
全然使わないので個人的には別にありがたさは無いけど、通常のTPCASTでは無効化されてしまうマイクがOpenTPCastだと使えるようになったりもする。

NW越しにUSBデバイスを認識させることの出来る、VirtualHereという有償ソフトがあり、こちらをTPCASTの付属ソフトの代わりに使うことになるので、$25のライセンス費が必要になる。
このソフトはOpenTPCastの流れで初めて知ったんだけど、装置をデバイスサーバ化できてUSB機器をワイヤレスで接続できるので結構他にもいろいろ便利に使えそうな感じがする。

一体化

バッテリ+ミニPC部分は頭頂部からケーブルが伸びていて、ポケットやベルトに別途付けるという作りになっている。これは頭部の軽量化になっている一方装着の手間は増える。
この辺は好みによるだろうけど、私としてはヘッドセットに一体化していたほうが嬉しいのでくっつけることにした。
f:id:de0:20181111184301j:plain
Thingiverseにマウントの3Dデータが公開されていたのでそのまま使った(バッテリ周りの白い部分)。もし3Dプリンタ無くてもそのまま適当に括りつけるだけでも大丈夫だとは思う。
バッテリの着脱がしやすい作りになっていたが、私の使い方だと付けっぱなしなので滑り止め(輪ゴム)付けて固定した。

電源スイッチ

TPCASTには電源スイッチがない。バッテリをミニPC部分と合体させたら勝手に起動し、外したら落ちるようになっている。
挿しっぱなしにしていると電源使いきるまで動くので、都度外さないとならない。また、合体中は充電ポートが配置上物理的に塞がるので給電もできない。
これは地味ながらかなり面倒なので、バッテリとTPCASTの間に二股のUSBケーブルとUSBのON/OFFスイッチを入れて、つけっぱなしのまま電源切り替え出来るようにした。

軽量化/高速充電

TPCASTのバッテリはAnkerの市販品の PowerCore 20100 がそのまま使われている。TPCASTの箱のなかに普通にPowerCoreが箱ごとそのまま一式入っていて割り切りがなかなか潔いなと思った。

バッテリ側の急速充電に非対応で充電が遅く12時間くらいかかるのと、353gあって頭に付けるにはくっそ重かったのが気になったので、PowerCore II 10000に置き換えた。出力が1ポートに減っているが二股で繋いで普通に動いてくれた。

標準の20100mAhだと稼働時間は5時間とのことだが、私の使い方だとVRゲー5時間もぶっ通しでやることは体力的にまず無いので容量半分でも特に不自由はなかった。(VRChat一日中やってるみたいな人とか配信に使う人なんかだと困るかもしれない)

なお給電さえできれば良いので別に他社製のモバイルバッテリでも普通に動く。マウントがそのまま使える以外はAnker製にする必要は別になかった。
似た構成としては、小型バッテリ2個に分割して左右に配置する作例なんてのも見つけた。

TPCAST用バッテリの話は以下が詳しい。単に予備バッテリ欲しい人もPowerCore II 20000があるので添付品と同型番買う必要はないっぽい。
www.reddit.com

マグネット充電

バッテリの充電のためにMicroUSB抜き差しするのが面倒なのでマグネット式にした。よくあるマグネットコネクタを普通にバッテリの充電用ポートに挿しておくだけ。
適当にケーブル近づければくっついて充電出来るので充電が楽になる。

ルータの撤去

TPCASTの導入にあたって、現用のルータとPCとの間にTPCAST用ルータを挟めと指示される。無線化するだけのためにネットワーク構成に盛大に影響与えてくるのはどうなのよという感じだし、無駄に複雑になるだけなので何も良いことはない。
マニュアルはこの辺の説明を完全に放棄しているんだけど、実際の所はNW越しのUSBデバイス関連のやり取りに使ってるだけのようで、PCのNICが2ポートあれば片方にTPCASTルータ単に挿すだけでちゃんと動いてくれる。それどころか、TPCASTの接続先を既存のルータに変えても普通に動く(OpenTPCastだと接続先が指定できる)。
相性問題とかルータ性能とか説明の簡略化あたりのためだろうとは思うけど、既存のルータでちゃんと動いたら付属のルータの存在価値は全く無いので撤去してよい。動いたから撤去した。

ちなみに、ルータはリセットボタンが結構押しやすいところに付いているにも関わらずリセットすると繋がらなくなる仕様らしく、「押すなよ」という内容が書かれた後付の注意書きペーパーが同梱されていたりする。試したことないけど、ミニPC側から繋ぎに来るSSID/PASSは固定されていてルータ側設定と合わせてあるっぽいのでその辺が合わなくなるのかもしれない。

未解決の課題

TPCASTの電源が入っていない時、HDCP非対応モニタが接続されている扱いになるという仕様らしい。
Nasneで録画した番組を以前はPC TV Plusで見てたんだけど、HDCP必要なアプリは使えなくなるので結構困る。

使わないときは有線で常に通電させておくという手もあったが抜き差しが面倒なのでやめた。
試しにHDMI引っこ抜いたりリンクボックスの電源落として戻した際にすんなり復旧してくれなかったので、切替器やリモコンコンセント等で制御する手も駄目そうな感じがする。(試してはいない)
今はNexus Playerにtorneアプリ入れてキャプチャボードから再生させているが、操作がPC側のマウスとキーボードと独立してるのがあまり良くない。
何かいい手ないですか。

まとめ

それなりにいじった結果使い勝手は大分良くなった。Vive本体+オーディオストラップ+映像受信ユニット+ミニPC+バッテリ+スイッチ とその装置間のコネクタ11個分のケーブルがくっついているのでサイバーパンク装備ばりにかなりゴチャゴチャしてるけど、全ケーブルは頭の上で完結しているので取り回しはかなり良い。
f:id:de0:20181111184350j:plain
TPCASTにいろいろ文句を付けたけど、無線化自体はかなり快適なので、細部のいろいろな不親切さや粗さを許容できる心があるなら買って損はしないかと思います。
あと電波法はいい加減もうちょっとどうにかしてほしい。
qiita.com

最近遊んだSteamゲームだけSSD上に自動配置する

背景

ディスクのパフォーマンスはゲームのロード時間に直結するので、ゲームはなるべくSSDに置きたい。ただSSDの容量は限られているので、どんどん積まれ続けていくゲームを全部SSDに置いておくわけにもいかない。
一番簡単なのはSSDを買うことだけど、実際に起動するゲームは大量に積まれているうちのほんの一部だし、ゲームは増え続けるのであまり積極的にこのために買う気もしない。

都度自分で移動するにしても、Steamのインストールフォルダの移動機能は1個ずつしか出来ないのと、ファイル実体を移動する場合はIDで記載されたファイルが何のゲーム用かは中身を見ないと分からないという問題があるので、結構面倒な作業になってしまう。
Steam Moverという外部ツールは手軽に移動できて結構いい線行っていたものの、結局は手動選択なのが惜しいポイントだった。

ということでどうにかした。

方法

そもそもストレージ自体を階層化出来れば綺麗にすべて解決しそうなんだけど、この機能はWindowsServerにしか付いていないらしい。
一応コマンドラインからWin10でも無理やり作れるらしいが、情報も実績も少ないので今は止めておいた。

最近遊んだゲームだけSSDに置くようにすればゲーム限定でそれっぽい動作にはなりそうなので、以下のようにスクリプト化してタスクスケジューラに突っ込むことにした。
2週間以内に遊んだゲームはSSDに配置し、それ以外のゲームはHDD上に配置されるようになった。便利。

情報取得

直近で遊んでいるゲームの抽出は、ローカルのライブラリからプレイ履歴直接取る方法が見つからなかったので、Steam Web APIから拾うことにした。API Keyを発行して、自分のSteamIDを指定すれば使える。

GetRecentlyPlayedGamesというAPIを叩くと、直近2週間でプレイしたゲームのリストが返ってくるので、ここから対象のゲームIDを入手し、Steam Mover相当のコマンドに変換して走らせるだけで済む。

http://api.steampowered.com/IPlayerService/GetRecentlyPlayedGames/v0001/?key=APIキー】&steamid=【SteamユーザID】&format=json

返ってくる内容の例

{"response":{"total_count":6,"games":[{"appid":49520,"name":"Borderlands 2","playtime_2weeks":2246,"playtime_forever":2246,"img_icon_url":"a3f4945226e69b6196074df4c776e342d3e5a3be","img_logo_url":"86b0fa5ddb41b4dfff7df194a017f3418130d668"},{"appid":620980,"name":"Beat Saber","playtime_2weeks":407,"playtime_forever":998,"img_icon_url":"2b54e9f73692cecf2c15c46fbfd2cded0cbded49","img_logo_url":"9863f8790902188c59c44d410f67a3e5ce452bb9"},{"appid":382110,"name":"Virtual Desktop","playtime_2weeks":132,"playtime_forever":7516,"img_icon_url":"c4f78db130aec6ee1188f432b0ceaf102d50e28a","img_logo_url":"4c32cf132501fb26528b3b3316363f89bcf81785"},{"appid":690510,"name":"Black Survival","playtime_2weeks":16,"playtime_forever":16,"img_icon_url":"2a407923a221e54921b7fa6c7bbcf86bb7a6a40e","img_logo_url":"4bdbe1fe41efaa1b5a7508c82d2782a5ab9ae602"},{"appid":206420,"name":"Saints Row IV","playtime_2weeks":7,"playtime_forever":7,"img_icon_url":"b5e8448a3e2ea31ddf3595addae4e1eee2375c0d","img_logo_url":"6f7e659c6b58971ebf9710b7f0048c20c68aadd7"},{"appid":631900,"name":"Airtone","playtime_2weeks":5,"playtime_forever":3021,"img_icon_url":"7f3e856650ac447f80f181aee59ab83d8608f743","img_logo_url":"a391d42fffbe283e16e8639efaf78b872df507d3"}]}}

Steamゲームのファイル

【Steamライブラリパス】\steamapps\appmanifest_【APPID】.acf

ゲームの情報が格納されているマニフェストファイルらしい。ゲームの実体のパスもこの中で指定されている。
このファイルは別にSSDに移動しなくても良いのだけれど、SSDに一緒に置いておいたほうがHDDに戻すときに対象の判別が楽なのでコピーすることにした。

【Steamライブラリパス】\steamapps\common\【ゲーム名】

ゲームの実データが格納されているフォルダ。
このフォルダをSSD上に移動し、元パスからジャンクションを貼れば高速化完了。

出来たスクリプト

# 初期設定 ###########################

$APIKEY = "【APIキー】"
$USERID = "【ユーザID】"

$HDDLIB = "D:\Games\SteamLibrary"
$SSDLIB = "E:\Games\SteamLibrary"

$LOGFILE = "D:\program\steammove\SteamMove.log"

######################################


# IDからインストールパス取得
function GetInstallPath($AppId){
    # AppIdからマニフェストパス指定
    $ManifestPath="${HDDLIB}\SteamApps\appmanifest_${AppId}.acf"
    if(! (test-path ${ManifestPath}) ){ 
        echo "$appid manifestファイルがない"
        exit
    } 

    # マニフェストファイル内から実パス抽出
    $InstallDir=(Get-Content $ManifestPath | grep installdir).trim().split("`t")[2] -replace "`"",""
    $InstallPath="SteamApps\common\${INSTALLDIR}"
    if($InstallPath -eq "SteamApps\common\"){
        echo "$appid InstallDir取得失敗"
        exit
    }

    return $InstallPath
}

# steamapiから2週間以内にプレイしたゲームリスト取得
$RecentlyPlayedList  = (curl "http://api.steampowered.com/IPlayerService/GetRecentlyPlayedGames/v0001/?key=${APIKEY}&steamid=${USERID}&format=json").content
if(! $?){
    echo "SteamAPI取得失敗"
    exit
}


# 最近遊んでないゲームをHDDに移動
echo "■ SSD→HDD"
foreach($Manifests in (Get-ChildItem "${SSDLIB}\steamapps\*acf").Name ){
    $AppId = ($Manifests -replace "appmanifest_","" -replace ".acf","")

    # プレイ済みなら飛ばす
    $RecentlyPlayed=0
    foreach($games in (ConvertFrom-Json $RecentlyPlayedList).response.games ){
        $PlayedAppId=$games.appid
        $Manifestname="appmanifest_${AppId}.acf"

        if($Appid -eq $PlayedAppId){
             $RecentlyPlayed=1
             break
        }
    }
    if($RecentlyPlayed){
        continue
    }

    # パス取得
    $HddInstallPath="${HDDLIB}\$(GetInstallPath $AppId)"
    $SsdInstallPath="${SSDLIB}\$(GetInstallPath $AppId)"

    $ManifestPath="SteamApps\appmanifest_${AppId}.acf"
    $SsdManifestPath="${SSDLIB}\${ManifestPath}"


    # 移動実施
    echo "------------------"
    echo "$HddInstallPath  -> $SsdInstallPath"

    cmd /C rd "${HddInstallPath}"
    robocopy /E "${SsdInstallPath}" "${HddInstallPath}" /LOG+:"${LOGFILE}" /NP 

    cmd /C rd /S /Q "${SsdInstallPath}"
    Remove-Item $SsdManifestPath
}


# 最近遊んだゲームをSSDに移動
echo "■ HDD→SSD"
foreach($games in (ConvertFrom-Json $RecentlyPlayedList).response.games ){
    $Appid=$games.appid

    # パス取得
    $HddInstallPath="${HDDLIB}\$(GetInstallPath $AppId)"
    $SsdInstallPath="${SSDLIB}\$(GetInstallPath $AppId)"

    $ManifestPath="SteamApps\appmanifest_${AppId}.acf"
    $HddManifestPath="${HDDLIB}\${ManifestPath}"
    $SsdManifestPath="${SSDLIB}\${ManifestPath}"


    # 存在してなかったら飛ばす
    if(! (test-path ${HddInstallPath}) ){ continue } 

    # リンク作成済みなら飛ばす
    if( (get-item ${HddInstallPath}).LinkType -eq "Junction" ){ continue  } 


    # 移動実施
    echo "------------------"
    echo "$SsdInstallPath  -> $HddInstallPath"

    robocopy /E "${HddInstallPath}" "${SsdInstallPath}" /LOG+:"${LOGFILE}" /NP
    Copy-Item $HddManifestPath $SsdManifestPath
    cmd /C rd /S /Q "${HddInstallPath}"
    cmd /C mklink /J "${HddInstallPath}" "${SsdInstallPath}"
}

課題とか

久々に起動したゲームはこのスクリプトが走るまでの間は当然HDDに配置されたままになる

→すぐに移動させたかったらスクリプト手動で叩くということで妥協

保持期間を調整できない

APIの対象期間が2週間固定で期間を増やせないのであきらめる

眼球の中にレンズ埋めた話

メガネは素晴らしい製品で、強度の近視と乱視を患っていながら普通に生きてこれたのは完全にこいつのおかげである。
ただ、たまに拭くのが面倒、寝ながら使いづらい、曇る、といった些細な難点もあった。

現状維持で別に不便でも何でもなかったんだけれど、無くて済むなら無いほうがいい気もしたのでなんとなく対処することにした。

方式

視力の矯正手段として主流なのは以下らしい。ちなみに上のほうがリスクが小さい。

・眼鏡
コンタクトレンズ
・オルトケラソロジー
・ICL
・レーシック

コンタクトは付け外しとメンテが面倒過ぎて数年でやめた。
オルトケラソロジーは寝るときにレンズを付けて起床後に外すと矯正効果がそのまま持続する方式だそうだが、付け外しが面倒そうなので却下した。
強度近視だとレーシックは出来ない。補正幅が大きいほど角膜削る量も大きくなるのが理由で、-6Dくらいが限界とのこと。私は-13Dあるので駄目だった。

ICL

ということでICL手術をやった。
これは目を切開して黒目の裏にレンズを組み込む方法(表に入れる方法もある)で、目を削らなくて済む、戻そうと思えば戻せる、長期的に効果が安定、後遺症や再近視化リスクが低、あたりが利点とされているらしい。
雑な理解としては、白内障手術で既存のレンズ抜かずにコンタクトレンズ突っ込むようにした感じに近い。
ネックは値段で、だいたい70万程度かかる。単純比較するもんでもないけど、諭吉一人で眼鏡が買えるのを考えるとかなり割高感はある。

測定

手術実施を決める前に、カウンセリングと検査が行われ、部屋に並んだ謎の機械を1つずつ移動しながらかなりの項目を測定された。10数項目くらいはやった気がする。
検査の結果、片目は眼内の凹凸の構造が若干特殊だったらしく、通常の角度(左右方向)で配置できず90度回転しての配置になるとのことだった。

乱視

眼内レンズには乱視入りのものもあり、通常はそれで近視と乱視が同時に直せる。
ただし、通常と別角度での配置となる点と、また手術後にレンズが眼内で回転する可能性がある点から、乱視入りは非推奨とのことだった。近視は特に角度に影響しないが、乱視には方向があるので、レンズが回転すると矯正の向きが合わず余計に見えなくなったりするらしい。
近視だけ矯正した状態をメガネ(上からレンズ何枚も指すタイプのあれ)をつけてテストしたところ、字も読めるし特に問題無さそうだったので、近視だけのレンズを入れることにした。

手術

契約して前金30万を払うとレンズが手配されて次は手術待ちになる。レンズの在庫があったため、翌週に手術が出来た。
ちなみにレンズの状況によってはここで数週間待たされるらしい。

事前に麻酔投与や検査があるが、手術自体は数十分程度ですぐに終わった。
手術台に固定され、目を閉じられないようにする装置を突っ込まれ、照明を直視させられ、開いてる目に向かって謎の器具が迫ってくる、って流れは何だか拷問めいていてちょっと怖かった。実際は麻酔かかってるので特に痛みはない。

目薬祭

手術は一瞬だったが、その前後でいろいろな目薬を山ほど注す必要がり、そっちのほうが面倒くさかった。
手術3日前から、3種類の目薬を1日各4回と抗生剤の飲み薬が必要で、当日は3種を1時間毎、1週間は3種を1日5回くらい注すことになった。一時的なものとはいえ思ったより手間だった。

さらに、術後一週間は、

  • 洗顔不可
  • 日中は防護ゴーグル着用
  • 寝るとき眼帯着用

が必要になる。
眼の切開箇所は縫合せず自然治癒待ちなので、そこから細菌が入って感染症になることへの対策が主らしい。

また、手術後から1日、1週間、2週間、1か月、3か月、6か月、1年にそれぞれ検診がある。
手術よりその前後のほうがやることが多い。

近視解消

特に問題なく終わり、おかげで無事眼鏡なしでも生きられるようになった。
これまでは常時ほとんど見えない謎の空間だった風呂とか床屋なんかがはっきり見えるのはちょっと新鮮な感じがある。VRゴーグルの付け外しが楽だったり、寝ながら携帯弄りやすかったり、風呂でタブレット使えたりするのも結構便利。

ただ風呂がはっきり見えるのにはマイナスの面もあって、汚れている風呂と汚れていない風呂がこれまでは重ね合わせの状態にあったお陰でたまにやる雑な掃除で済んでいたのに、汚れている風呂にすぐ収束するせいで必要な掃除の頻度が増えたりなんかもした。

やっぱ乱視疲れる

...と無事終わったと思ったが、細かい文字を長時間読むと疲れやすくなってしまった。乱視は近視ほど強くなかったので甘く見ていたのだけれど、やっぱり乱視の矯正も必要だったようだ。結局、乱視はレーシックで矯正した。

数分のテストで見えたからと言って乱視無しにしたのは完全に失敗だった。見えるからといって疲れない訳でもないらしい。
削らないで済むというICL手術のメリットの一つが完全に台無しになってる感はあるが仕方ない。削る量は少ないし、無理に乱視入りにして目の中で回られるとそれも面倒なので、取れた選択肢の中ではマシな方ではあると思う。
なお前房型なら最初から乱視入りのレンズも入れられたらしいが、選んだ医者では基本的に後房型だけだったのでいまさら気にしないことにする。

ICL手術後すぐにレーシック手術を行うことはできないので、6か月検診完了後までの間は、乱視だけ入った眼鏡を新しく作って使う羽目になった。

おわり

元々0.02くらいだった視力が両目とも1.2になった。術後1年くらい経ったが特にドライアイになったり光が眩しすぎるといったこともない。
手術費は正直くっっそ高いが、金さえ払えばステータス異状の回復とかパラメータアップ的なのが永続的に得られると考えればまあそこまで悪くもないかなあとも思った。

スマホリングと音ゲーを両立させたかったハードウェア小細工あれこれ

ファブレット端末の場合、背面に落下防止リング付けておくとかなり使い勝手が良くなるのだけど、音ゲーをやる場合は平置きで固定出来ていないとならないので、背面に凹凸があると邪魔で困る。
どうにか両方いい感じに出来る方法を模索していろいろ無駄な買い物をしたのでその記録。

現状の結果

ナノサクションシートを貼り付けて、その上に粘着シートを除去したリングを着脱する方式に今のところ落ち着いている。見た目はひどい。

f:id:de0:20180403194117j:plain

机に貼りつくので完全に固定できてフリックで吹っ飛んだりしなくなるし、シート側の吸着力をもってリングの着脱が可能になるので、要求に一番マッチしていて都合がよかった。
ナノサクションってのは目に見えない微小な吸盤が無数に並んでいる素材だそうで、平面に吸着するので壁に貼り付けたり出来、壁に貼ると自撮りに便利ですよみたいなのを売りにしてるらしい。(角度変えられないし絶対撮りにくそうな気がするけど)

どうもシート単体では売られておらず、ケースもiPhone用しか無いようなので、適当なiPhone用ケースを買いシートだけ分解して移植した。剥ぎとって両面テープで貼るだけ。
[asin:B07B9RW16R:detail]



形状はリング状のものでバンド状のものでも平面なら何でも行ける。ただし、負荷が端に偏るタイプだと使っているうちに外れるので避ける必要がある。
中央が支点?になっているものであれば、かなりしっかり固定されて意識的に手で外しに行かない限りは外れない。

ちなみに、左上はベッドに備え付けのアームのマグネットスタンドに固定する用のメタルプレート、右上はゲーセンでコナミのゲーム遊ぶ時に財布出さなくて済むようにe-amusument Pass用のFelica基盤を貼っている。
かなり前にsuicaを薬品で溶かして端末に埋め込んでいた事があったが、決済は素直にview suicaカード使ったほうが何かと便利なので今はそっちを使っている。

決済機能不要で単にeパスとして使うだけならfelicaでさえあればよく、ジクロロメタンとか用意しなくてもキーホルダータイプの外装を剥がすだけで簡単に用意できる。

他の選択肢

試したけど今は使ってない方式とか

耐震ジェルを四隅に貼る

一番手軽。
部品が4つになるので取り外しが面倒なのと、接地面積が小さいので固定が完全でないのが欠点。

スポンジゴムシート


干渉しないように背面のリングの出っ張りの部分だけカットしておき、プレイ時に下に置くだけ。
着脱が最も簡単だが、リング以上の厚みと本体以上の面積が要るのでかさばる。

シリコンケース+吸盤リング


吸盤の強度が思ったより低く、外れてほしくない時に外れるのが微妙だった。
また個人的にはケースは余分に大きくなるのがあまり好きではない。

メタルプレート+マグネット+リング


リングをマグネットで背面に固定する方式。固定と着脱のバランスは悪くない。
薄型のネオジム磁石ではリングを固定するだけの磁力が足りなかったので、そこそこの強さのあるマグネットが必要。
車載用のマグネットで実用的な強度になったが、マグネット分の厚みと重さが増えるのが欠点。

その他オプション

上記とは特に関係ないけど他の周辺機器とかについてのあれこれ

マグネット充電

ケーブルの抜き差しをしなくてもマグネットでくっつければ充電されるので便利。

各メーカとも似たような形状のケーブルを出しているが、互換性は無い。
見た目が同じ(に見える)安い別のメーカ製のを買い足したら互いに使えなくて金を無駄にした。1本買ったら同じ型で統一しましょう。

また、接点が円形のケーブルは向きを考慮しなくて便利だが、USB通信は行えず、充電専用になる点には注意。

後付qiプレート


マグネット式にする前に使っていた。
コネクタに挿して背面に充電プレート貼るだけでワイヤレス充電ができるようになる。
充電速度が遅いのと、たまに充電したつもりが充電できてないことがあるのが欠点。


有線接続可能bluetoothイヤホン

bluetoothだと遅延が酷くゲームにならないので有線のイヤホンが欲しいところだが、ゲーム用途以外だと当然線が邪魔になる。
また、ゲーセンの音ゲーでは有線接続のイヤホンが必要になる。有線無線2つ持ち歩くのも微妙な感じなので、両対応だと便利。

ヘッドホン型のものは結構種類があるが、イヤホン型のものは結構少ない。とりあえず以下は試した。

悪くは無いけどケーブルが余るので無線の時に地味に邪魔になる。短めのイヤホン+有線時に延長コードという手はある。
ちなみに、有線イヤホンはカールコードなら使い勝手よくなるのではと思って加工してみたけど、副作用として絡まりやすくなったのでイマイチだった。

  • ATH-BT04NC

ノイズキャンセル付きだがあんまり性能は高くなかった。クリップが壊れて取り回しが悪くなって使うのをやめてしまった。

  • ATH-BT08NC


BT04NCよりはノイズキャンセルはマシになっていたがそこまで高性能というほどでもない。ネックバンド方式なので見た目より結構かさばるのが欠点。
じゃあネックバンド部分の硬めの被覆を剥いで柔らか素材で巻き直せば解決じゃん...と思って加工を試みが失敗して断線した。

  • JPA2


ノイズキャンセルもう別に無くてもいいやという感じになってきたので、適当に安いのを買ったところ意外と悪くなかった。
かなりコンパクトで取り回しは良い。音質はそれなりだが、そもそもそんな大層な耳でもないので意識して比べないと分からない。バッテリ少なめなのが欠点。

有線接続ケーブルのマグネット化


bluetoothイヤホンの有線接続時は、付属のmicrousb-ピンジャックケーブルを接続する。
ケーブルの作りは共通のようで、上記3種とも同じケーブルが相互に使用できた。ちなみにiPod Shuffle用の変換アダプタを適当なUSBケーブルに接続しても使使えた。

microusb接続は耳から一旦外さないと差すのが難しいので、そのまま繋げられるようにこっちもマグネット方式にした。
接続用のケーブルにマグネット用アダプタを付ければOK。ただし、充電専用の円形コネクタは音が出ず使えないので、USB通信が可能なタイプを使用する必要がある。
なお、アダプタと円形コネクタのペアを一組作っておくと、マグネットケーブル形状の変換アダプタとして使える。(滅多に使わないけど)

ちなみにJPA2の場合は首の後ろにコネクタが来るので、接続時に攻殻機動隊ごっこみたいになる。

おわり

いろいろ試したけど結局そこまで便利になったわけではなく、とりあえず一番マシというレベル。
他に何か良さそうなもの見つけたら試したい。