人生シーケンスブレイク

シーケンスブレイク(Sequence breaking、シークエンスブレイクとも)とは、テレビゲームにおいて開発が想定している攻略ルートを逸脱し、ショートカットする行為のことである。

Vimのgit commitメッセージ編集で勝手に改行される問題の解消

git commit 時にVimが開いてコミットメッセージの編集画面になるが、この時に勝手に改行されることがある問題を解消する

f:id:ShineSpark:20201008164411p:plain

こんなん

状況確認

:set textwidth をすると、現在の自動改行設定が確認できる。

自分の場合には textwidth=72 になっていた。

解消方法

:set filetype すると、 filetype=gitcommit と表示されるので、 .vim/ftplugin/gitcommit.vim をつくって、下記を書けばOK

set textwidth=0

今度こそUbuntuでBluetoothが不安定だった問題を解消する

ハードウェア上の問題だった 自作PCでBluetoothが不安定だった問題を解消する - 人生シーケンスブレイク とは別の話。

症状

Ubuntuを起動した際に、ログイン画面からまったくBluetoothバイスと接続できない。

有線デバイスでログインした後に、Gnome上でBluetoothの有効化を試みても解消されない。

PC起動時に時々発生して、再起動すれば直る。

環境

症状の確認

serviceを確認したらRunnning状態で問題なかった。

$ service bluetooth status
● bluetooth.service - Bluetooth service
     Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-07-27 21:28:05 JST; 2h 20min ago
       Docs: man:bluetoothd(8)
   Main PID: 990 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 77059)
     Memory: 5.3M
     CGroup: /system.slice/bluetooth.service
             └─990 /usr/lib/bluetooth/bluetoothd

RFKillによる無効化もされておらずこちらも問題なし。

$ rfkill list
0: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no
1: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no

Gnomeバネルや設定からOFFになっている。ここで何度ONにしようとクリックしてもONにならない状態

f:id:ShineSpark:20200909000208p:plain

そもそもOFFの状態から、Turn Offしか選択できずONにできない。

f:id:ShineSpark:20200804154733p:plain

こちらもトグルを切り替えても反応なし。

発生原因は不明だが、なんだか時々発生するみたい。

解決方法

下記コマンドを実行する。

sudo modprobe -r btusb
sudo service bluetooth restart
sudo modprobe btusb

実行後、bluetoothが認識されるようになり、Gnomeパネルや設定からもBluetoothバイスが視えるようになった。

f:id:ShineSpark:20200727235241p:plain

f:id:ShineSpark:20200727235322p:plain

覚えられないので .zshrcにaliasとして追加しておいた。

alias restart_bluetooth='sudo modprobe -r btusb && sudo service bluetooth restart && sudo modprobe btusb'

参考

ゲームコントローラーをワイドハイターEXパワーで漂白したり綺麗にした

家のいろんなコントローラーを綺麗にする

ワイドハイターEXパワーにつけ置きするとコントローラーが漂白されて綺麗になるらしい。試行錯誤しながら家のいろんなコントローラーを綺麗にした。

写真はiPhoneのカメラフィルターのVividにして撮ったつもりだが、撮影環境の違いで色合いが明らかに違うものもあるので写真の色味はあくまで参考程度で受け取ってほしい。

f:id:ShineSpark:20200729040940j:plain

家にあるコントローラーのみなさま。

やり方

透明なケースに水とワイドハイターEXパワーを浸し、コントローラーをつけ込んで数日ベランダで直射日光に当てた状態で放置する。

f:id:ShineSpark:20200729035509j:plain

黄ばんだ PS コントローラー(デュアルショック)の漂白とクリーニングをしてみました - awgs Foundry とか ミニファミコンばりの“驚きの白さ”に? 黄ばんだファミコンを分解&クリーニングしてみた - 価格.comマガジン を参考にやってみた。

濃度に諸説あるが、結局パッケージに書いてある通り水1Lに10mlで良い気がする。

f:id:ShineSpark:20200729042757j:plain

スーパーファミコンのコントローラー

子供の頃に使っていたアスキーパッドを綺麗にしてみる。

Before

f:id:ShineSpark:20200729034204p:plain f:id:ShineSpark:20200729034556p:plain f:id:ShineSpark:20200729034947j:plain f:id:ShineSpark:20200729042138j:plain

いい感じに年季が入っている。ニンテンドークラシックミニ スーパーファミコンのコントローラーとの色差が凄い。

Do

f:id:ShineSpark:20200729042709j:plain

64コントローラーやPS2のDUAL SHOCK2と一緒につけこんだ。

After

f:id:ShineSpark:20200729035030j:plain f:id:ShineSpark:20200729035039j:plain

すごい綺麗になった。最高。

でも次にこのコントローラーを使うのはいつだろう。

64のコントローラー

こいつは未だに時々使うんだぜ。

Before

f:id:ShineSpark:20200729042000j:plain

Cユニットの溝に汚れが溜まっていた。

Do

f:id:ShineSpark:20200729042709j:plain

一緒につけ込んだのでさっきの画像の使いまわし。

f:id:ShineSpark:20200729042505j:plain

3Dスティックは基板を取り外した上で別途水洗いした。

After

f:id:ShineSpark:20200729053710j:plain f:id:ShineSpark:20200729053700j:plain これは失敗してしまった。

つけ置きしたら、色や光沢が落ちて手触りも悪くなってしまった。 特に背面の黒部分の色落ちがひどく、傷があった部分が白っぽくなってしまった。

緑の64コントローラーはスポンジに食器用洗剤を付けて水洗いしたのだが、それだけで充分綺麗になった。

f:id:ShineSpark:20200729053732j:plain

↑ スポンジで水洗いしただけのコントローラー。

ただし、マリオカート64の大会で優勝した時にもらった金のコントローラーはスポンジで洗ったら金の塗装が剥がれてしまった。

f:id:ShineSpark:20200729053751j:plain

金塗装のスポンジ洗いは注意しなければならない。

PS2のコントローラー

Before

f:id:ShineSpark:20200729055554j:plainf:id:ShineSpark:20200729055604j:plain

所謂スケルトンカラーが流行った時代の遺物。でもオレはこの色味が今も大好きだ。

After

f:id:ShineSpark:20200729053948j:plainf:id:ShineSpark:20200729053958j:plain これも失敗で、スケルトンカラーが色褪せてしまった。

f:id:ShineSpark:20200729054008j:plain

特に左手の持ち手部分などが白く褪せてしまっている。

この辺りから何でも漂白すればいいってもんじゃないことを知る。

ゲームキューブコントローラー

Before

f:id:ShineSpark:20200729043204j:plain

実家に預けてる間に謎の汚れが付いてしまったシルバーのコントローラー

f:id:ShineSpark:20200729042251j:plain

こっちは背面のみ透明のコントローラー

Do

ゲームキューブコントローラーとWiiリモコンの分解にはY型の特殊ドライバーが必要。

f:id:ShineSpark:20200729042335j:plain

アナログ入力のLRを取り外すのにコツがいる。

f:id:ShineSpark:20200729042316j:plain

失敗を踏まえて、黄ばんだスティック部分や透明パーツのみ漂白することにした。

After

f:id:ShineSpark:20200729054137j:plain

f:id:ShineSpark:20200729054112j:plainf:id:ShineSpark:20200729054122j:plain

いい感じ。

黄ばみがあるパーツだけ漂白で、それ以外には食器用洗剤をスポンジに付けて洗うだけで良さそう。

Wiiリモコン

f:id:ShineSpark:20200729043347j:plain

Wiiリモコンはケースを外すのがどのコントローラーよりも難しい。十字キー付近の左右にツメがあるのでマイナスドライバーなどを挿し込んで外す必要があるのだが、力を入れ過ぎてツメが壊れてしまいそうだった。

f:id:ShineSpark:20200729043743j:plain

ストラップも一緒に漂白した。ワイドハイターEXパワーの本来の用途は布製品の漂白なので、綺麗に漂白できることだろう。

Wiiリモコンは他のコントローラーに比べて小さいパーツが多く、つけ置きの際に青色LEDランプ部分の半透明のパーツを失くしかけたので、要注意。

f:id:ShineSpark:20200729043651j:plain f:id:ShineSpark:20200729041433j:plain

左が漂白済み, 右が未漂白のリモコン。

みかんを食べながらトワイライトプリンセスをプレイした時に付いてしまった十字キーの黄色い黄ばみはあまり落ちなかった。

こっちはみかんを食べながらファイアーエムブレム暁の女神をプレイしたコントローラー。Wiiはスティック部分の黄ばみが全然落ちない。

f:id:ShineSpark:20200729054351j:plain

セガサターンコントローラー

所謂白サターン。

f:id:ShineSpark:20200729054503j:plainf:id:ShineSpark:20200729054514j:plain

保存状態が良かったので中性洗剤を付けてスポンジで洗うだけにした。

今は無線に対応されたものが売られている。

最終的なやり方

試行錯誤した結果、以下のやり方に落ち着いた。

白やグレーのコントローラーの黄ばみ・変色汚れ

  • パーツを後、一度汚れをスポンジで落とす
  • ワイドハイターEXパワーでつけ置きする
  • 水1Lに10mlの濃さで充分

少なくとも原液そのままの濃度ではコスパ悪し。

それ以外のコントローラー

  • 中性洗剤をつけたスポンジで洗って乾かす

色落ちや表面の光沢がなくなってしまうことがあるのでワイドハイターEXパワーのつけ置きはオススメしない。

初めてコントローラーを分解する時には、元に戻せるように写真を撮りながら分解しよう。

斜視手術日記

人生2度目となる斜視手術を帝京大学医学部付属病院で受けたのでその記錄。

スペック

  • 都内在住のアラフォー男性
  • 高校生の頃から斜視を発症
    • 間欠性内斜視
  • 視力は両眼とも0.1未満
  • ハードコンタクトレンズ

私と斜視の出会い

高校生の頃から黒板の文字や遠くの物体が重なって視える症状(複視)を患っていて、日常生活に支障をきたしていた。
当時はインターネットも普及しておらず、私の斜視に対する知識もまったくなかったので、地方の病院で斜視と診断され促されるがままに視界を屈折させるプリズム眼鏡を作ってその時は過ごしていた。

今ほど眼鏡も安価ではなくプリズム眼鏡が7万円もしたので親から相当怒られた。

斜視手術1回目に至るまで

もう10年ほど前。

当時の症状は、大体3m以上離れてしまうと殆どの物体が重なって視えてしまっていた。目が疲れていたり、アルコールを飲んだり、眠くなったりなど、眼筋調整力が弱まったタイミングで症状が顕著。何とか遠くのものを視ようとすると険しい目付きになったりするが、それも難しくて結局片目を瞑って過ごすことが多かった。

斜視について知らない人も多く、自分の症状について一々説明するのが億劫だった。

対向車もダブって視え、自分に迫って来るように視えて仕方ないので自動車の運転は諦めた。

そんな中、テリー伊藤が斜視手術をしたドキュメンタリーをみて手術で治るということを知った。(それまで手術を受けて治るものだと知らなかった。)

日帰りで手術できること。保険適用で3万円弱であること。上京しておりテリー伊藤が実際に掛かった高田馬場の丸尾眼科まで通院が可能であることなどが後押しとなり、自分も手術してもらうことにした。

日本視能矯正学会の招待講演の記錄として、テリー伊藤の対談内容が公開されている。 https://www.jstage.jst.go.jp/article/jorthoptic/39/0/39_039I001/_pdf [PDF]

斜視手術1回目に臨む

こういう器具(弱視鏡)で検査したりする通院を経て、日帰りの手術を行った。
手術といっても個人医院の一室で先生ともう1人の医療スタッフで行われ、あっという間に終わった。

自分は左眼が内側に寄りがちだったので、(たぶん)左内直筋後転術という手術だった*1

手術の最中のことは割愛。

取り敢えず、5年位は斜視のことを久し振りに忘れて生活できた。
苦労せず景色が視えることにとても感動した。

手術で一時的に治りはするが、再発する可能性があることはこの時に先生から説明を受けていた。

斜視手術2回目に至るまで

なんやかんやあって、普通の時や調子の悪い時、つまり日常生活の8割程は斜視が再発してしまっていたので9年振りに丸尾眼科に通院してみたところ、現在では斜視手術を執り行っていないとのことだった。

自覚症状としては、1度目の手術前と同じくらいの症状で手術してもらいたい意向を伝えたところ、帝京大学医学部付属病院なら手術を行っているとのことで紹介状を書いてもらった。

大病院のためか検査から手術まで1年程待つ必要があり、手術の際には入院が必要とのことだった。億劫さとあの手術をもう一度受ける辛さがあったが、一度大病院で精密検査を受け病状を正しく理解してみるのも悪くないかなと検査を受けた結果、やはり手術したほうがいいよねとの流れになり、2度目の手術に臨むことにした。

斜視手術2度目に臨む

3泊4日の入院で手術に臨んだ。今年の春頃のお話。

入院セット

入院日程は概ねこんな感じだった。

1日目: 入院日。手術前の軽い検査(手術検査は入院前に済ませてある)。
2日目: 手術日。
3日目: 手術後の経過チェック。
4日目: 退院日。

入院1日目

暇。
KindleiPadを持ち込んで時間をひたすら潰す。

ちょっと話は逸れるが入院時にAnkerのPowerPortを持ち込んだらベッド上でUSB充電できて非常に便利だった。 持っていかなかったら一々立ち上がってコンセントからLightningケーブルとUSB microケーブルを抜き差ししたことだろう。

入院2日目(手術日)

朝の回診。30人くらいの患者が一堂に会する。眼科では検査器具の都合か入院フロアの1室に患者が集まる形で回診するようだ。

手術は予定では15時ちょっと前とのことだったが、予定より1時間半ほど早く呼ばれて手術。

前回内直筋を手術したので、今回は左外直筋前転術になるとの話だった。
一度手術した部位は眼筋が癒着しているので別の部位を手術するのがセオリーらしい。
眼筋を引っ張る必要があるので、1度目の手術と違って痛いとのこと。已む無し。

  • 1度手術を受けたことがあった
  • 手術室までの通路や手術台、手術台上の照明が1度目の手術より本格的だった
  • 予定より早く呼ばれた

すべてが恐怖を底上げするのに一役買っており、大変貴重な思い出となった。

手術

手術前後の記憶をメモってたので、折角なのでここに書いてしまおうw

予定より早く呼ばれて手術室へ向かう。ドラマでしかみたことのないような手術室の前で待機となり、担架が運べるような広い通路に医療スタッフと私だけで待つ。機械音が凄く響く。非常に緊張する。

数分程度で前の人が手術室から車椅子で出てきて自分の番になる。1度目の手術とは異なり、ほかの外科手術でも使われそうな手術室、手術台、照明、多めのスタッフ。 手術台に乗ったところで、血圧も測り始める。手術用の布で手術部位である左眼以外を保護される。布で覆われたことで、自分のはぁー、はぁーという呼吸音とピッ。ピッ。ピッ。という電子音が響くようになる。

目薬の麻酔。染みなくなったらOKと言われるが、緊張してしまったせいか結構な量の目薬をさしてもらっても染みるような気がする。というか、染みるんだか染みないんだかよく分からなくなってる。目薬マシマシにしてもらって少し時間が経ったら流石に麻酔が効いたような気がしたので「もう大丈夫です。」と応えたけれど、全然麻酔効いてなくて手術中痛かったらどうしよう。手術台に縛り付けられる。マジか。1度目の時は縛られることはなかったけれども、恐怖で自分で手術台を握りっぱなしで、手術中に想定外に動いてしまいそうでそれはそれで怖かったので、それに比べたらマシか。

眼球をヘラで固定される。う、始まる。眼筋が切られていく、怖い。布で覆われているので今は左眼でしかものが視えないのに、この左眼が切られていく。鋏が入り、切られていく度に視界が揺らぐ。できる限り視覚を削ぎたいが、ヘラで固定されているので眼は閉じれない。手術中に眼球を動かそうとするのも躊躇われるので、聴覚が過敏になり、自分の呼吸音が強く響き渡る。 手術器具の剪刀やっぱり切れ味いいんだろうな。あっという間に眼筋が全部切られて、目の前が鼻になった*2。もし視界がこの状態のままだったらどうしようとの恐怖でいっぱいになる。

手術台の照明がめちゃくちゃ眩しい。気が付いたら縫い始めている。少し安心するも、眼球も縫われているのが分かる。針が通る度に眼球がぶるぶるする。

「引っ張りますねー。少し痛いですよー。」 うおーーー世界が回る!!痛みよりも引っ張られることで視界が回ることがホラー。 今度は鼻じゃない方向を向いた状態になり、また縫われる。少ししたら「じゃあ今度は左下に引っ張りますねー。」え、またかよ!うおおおおおおおおおお!!

あ、前が視えるようになった。 この後も縫われ続けるのだが、視界が真正面になったので少し安心。 冷や汗かきまくり。今度はちゃんと真正面になってるかな。ちょっとズレてたらどうしようとの不安が付き纏う(大丈夫でした)。

縫合がどの程度か分からないけれどもある程度進んだタイミングで視界について確認。手術の緊張でパニクってたが少し落ち着いて、裸眼でも複視が治っていることが確認できたので仕上げの縫合。眼球にめちゃくちゃ軟膏を塗られて手術終了。

怖かったけれど無事に終わってくれて良かった。終わった直後から手術を乗り越えた開放感に包まれる。

予定より早く終わったので、手術前に到着するはずだった妻が手術直後にやってきて、差し入れのケーキを食べてやっと落ち着きを取り戻す。

術後

手術後は眼帯をしているものの、飲食可能になるので遅めの昼ご飯を食べて、コーヒーを飲んでたら麻酔が切れてきたのか痛みが出てきたので痛み止めを飲んだ。

眼帯を外した後にちゃんと視えるようになっていることを期待して過ごす。

手術後の眼球の写真は撮ったが、ちょっとアレなので貼らないでおく。

入院3日目

回診前に眼帯を外す。眼帯を外して1時間も経たない内に普通にものが視れるようになった。

片目で視た際の眼の位置のズレは腫れていることもあり多少あるが、その内自然になっていくとのこと。そういえば1度目の手術後もそうだった気がする。 痛みも引いて何も問題はないのでiPadで漫画を読んで暇を持て余す。退院までそわそわ。

入院4日目

退院告知が来たので退院支度する。スムーズに退院手続き。3泊4日の片目の手術で53000円。 53000円で斜視が治るなら安いものだ。

その後、IT健保の払い戻しと都民共済の入院保障の入金があり、逆にお金が増えてしまった。

手術後記

途中書き殴ってしまったが、斜視で悩んでいる人へ手術にあたって伝えておきたいことを残しておく。

斜視は治る

自分は2度目の手術となったが、知人は1度の手術以降は再発してないと聞いた。 手術すべきかどうかは主治医に相談してほしいが、もし斜視で困っているのであれば、手術するという選択肢についてポジティブに捉えて欲しい。

手術自体は結構怖いが、怖いだけなので頑張ろうw

コンタクトレンズ, 眼鏡は手術前に新調しておく

術後は1ヶ月はコンタクトレンズが付けられず、眼鏡生活になるので、眼鏡の度が低いと生活に支障が出る。

私は眼鏡で左眼だけ視力が出ず、眼鏡を新調したいとの相談をしたが、術後数ヶ月は視力が不安定なことや、一時的に視力が落ちることもあるらしく手術直後に新調するのは奨められないと伝えられた。

自分は術後に眼鏡の矯正時の視力が左眼だけ低く感じられたが、ちゃんと確認してなかったのでそれが手術前からだったのか、手術後に発生したのか区別できなかった。

数日後突然視力が回復し、結果的に術後に一時的に下がっていたことに気付いたが、手術前に確認しておいた方がよい。

コンタクトレンズ, 眼鏡はケチらない

今の視力にあったコンタクトレンズと眼鏡両方が無いとダメだ。

昔は眼鏡が高価だったので、コンタクトレンズにしてからは眼鏡を新調する費用を親が拠出してくれなかった。 しかし、度があってない弱い眼鏡だけだと、寝る直前までコンタクトレンズを外したがらず、ついついコンタクトレンズを付けたまま寝てしまったり、古い眼鏡を重ねて掛けて度を強くしようとしたりと、結果的に眼に良くない行動をとってしまう可能性が高い。

自分は眼鏡を2つ重ねて掛けると視界が屈折するものの良く視えることに子供の頃に気付いてしまい、少しだけ寄り目にしてゲームをすることを憶えてしまった。斜視とは因果関係ははっきりしないが、確実に良くない行動だったとは思っている。

コンタクトレンズと眼鏡の両方を適切に運用し、視力だけに限らず眼の健康を維持すべきだ。

斜視や手術の分からないことがあったら必ず訊く

眼科検査士, 視能訓練士, 主治医, 執刀医, 看護師, 医療事務と関係者が多く、誰に何を訊いたらいいのか分からなかったけれども分からないことをそのままに不安なまま手術に臨む位だったらやはり訊いておいた方がよい。

自分は左眼で右側(内側)を視るのはあまり苦ではない一方、左側(外側)を視ようとする時にバランス良く眼を動かせず苦労していたこと、右眼は今の所良好なので、できる限り手を入れたくないことを伝えておいた。

実際にどう施術するかは執刀医の判断だとは思うのだが、自分の意向を伝えることで不安が軽減されたので言ってよかったと思っている。

先生によって質問しづらい雰囲気の人もいるだろうし、誰に聞けばいいのか分からないことも多いが、質問しやすい人を見つけて聞くのがいいと思う。

手術後数ヶ月が経った。今では眼球の赤みはすっかり引き、視界は良好で2度目の手術となったがやはり受けて良かったと思っている。

生活習慣というか、眼筋のバランスが偏ってしまうとまた再発してしまいそうなので、できる限り両眼でバランスよく視るようにして再発しないようになればなと思っている。

*1:当手術のことをよく把握してなかった。斜視手術2度目にあたり、1度目のことを遡って調べただけなのでもしかしたら間違っているかもしれない

*2:片側の眼筋のみ切断されているので、視界の真正面が鼻を向いた状態

Ubuntu, Windows10をUEFIでデュアルブートにした

要件

普通にデュアルブートして利用していたら、ある時を境にUbuntuWindowsも起動せず、Windowsリカバリを試みても復活できない状態になってしまった。 幸いまだ環境構築したばかりだったことと、調べたらUEFIモードでブートした方がよいとのことだったので、再インストールしてみた。

UEFIのメリット

  • 高速なシステム起動/シャットダウン

ぐらいしかなかった。セキュアなブートもあるらしいが、BIOSUEFIブートを選択するとデフォルトでdisableになるし、調べた限りではトラブルの種になるとのことで非推奨だった。

インストール手順

  • BIOS設定で、boot関連の設定から、UEFIモードを選択する
  • Windows10を先にインストールする
  • Ubuntuをインストールしその際にブートローダGRUBを選択する

インストール順を逆にしたらGRUBWindowsが認識されない時があったので、確実に認識されるこの順序にした。

UbuntuUEFIで起動されていることの確認

/sys/firmware/efi/ ディレクトリがあればUEFIで起動されていることらしい。

$ ll /sys/firmware/efi/
Permissions Size User Group Date Modified Name
drwxr-xr-x     - root root  22  4月  0:08 .
drwxr-xr-x     - root root  22  4月  0:08 ..
.r--r--r--  4.1k root root  22  4月  0:53 config_table
drwxr-xr-x     - root root  22  4月  0:08 efivars
drwxr-xr-x     - root root  22  4月  0:10 esrt
.r--r--r--  4.1k root root  22  4月  0:10 fw_platform_size
.r--r--r--  4.1k root root  22  4月  0:53 fw_vendor
.r--r--r--  4.1k root root  22  4月  0:53 runtime
drwxr-xr-x     - root root  22  4月  0:53 runtime-map
.r--------  4.1k root root  22  4月  0:53 systab
drwxr-xr-x     - root root  22  4月  0:53 vars

Windowsによりファイルシステムが破壊されない処置

Windows10の設定で、高速起動とハイバーネート(休止状態)を無効にしておく。

デュアルブート環境でWindowsを触っていたら、1週間も経たない内にUbuntuWindowsも起動できなくなってしまった。 調べてみたところ、他のデュアルブート環境のユーザーでも同様の症状があるらしく、askubuntuではWindowsの高速起動とハイバーネートの無効化が回避策として推奨されていたので、因果関係は不明瞭だが無効にしておくことにした。

その分Windowsの起動が遅くなると思われるが、Windowsはサブなので個人的にはそれで問題ない。

その後

2週間位UEFI環境で利用しているが、今回は大きなトラブルに見舞われていないので恐らく問題なさそう。

参考

HHKBのキーマップ変更ツールはDvorakユーザーには辛い #hhkb

以前 HHKBのキーマップ変更機能が残念だった #hhkb - 人生シーケンスブレイク と書いたけど、購入に至るまでの高揚感とその後の落差でやや感情的な内容だったので、Dvorakユーザーにとっての要点だけ纏めて整理してみた。

f:id:ShineSpark:20200417013926p:plain

Dvorakユーザーの憂鬱と、ハードウェアリマップへの期待

主にソフトウェアリマップで困ることとして、

  • 新しい環境の使い始めにQWERTYになってしまう
  • ホストOSではDvorakなのに、仮想OSでQWERTYになってしまうことがある
    • AWS WorkSpacesとかね
    • iOS Simulatorもか
  • リマップ方法によってはリマップが完全でなく、一部でQWERTYになる
    • 起動直後のログイン画面とか
    • BIOS画面とかセーフティモードとか
  • 人のPCを使う際にQWERTYで困る
    • 設定を変えるわけにもいかないし

ハードウェアリマップならこれらが解決されるのでHHKB HYBRIDにはものすごい期待があった。

それで、購入後、早速キーマップ変更ツールを使ってみた。

デフォルトのキー配列

f:id:ShineSpark:20200417014320p:plain
通常レイヤー

f:id:ShineSpark:20200417014105p:plain
Fnレイヤー

ご存知の通りこうなってますと。

Dvorak配列用にキーマップの変更を試みる

Dvorak配列の Z は右シフトキーの隣。

Z のリマップを試みると、

f:id:ShineSpark:20200417015100p:plain

嫌な予感のするアラートが出て、そのままOKすると、

f:id:ShineSpark:20200417014856p:plain

キーとして長年利用していたキーが として利用できなくなる。

どうすることもできない。
他にFnレイヤーにZキーを割り当てたとしても書き換えられてしまう。

つらい。

この制限についてのアナウンス

公式サイト Happy Hacking Keyboard | HHKB HYBRID | PFU には、

※特別な機能を割り当てられた一部のキーを除く。

としか書いておらず、どのキーのことかどうかが分からない。

HHKBキーマップ変更ツールのヘルプには Q, Z, X キーなどはFnキー押下時のリマップができないよと書いてあるけれども、ツールを起動してHHKB HYBRIDをUSB接続しないとヘルプを閲覧できないので実質購入後でないと分からない。

f:id:ShineSpark:20200417022342p:plain

数万円の出費をしてから気付く。

つらい。

妥協案

ハードウェアリマップが現状つらいので、他のアプローチを取らざるを得ない。

妥協案1. キーの右隣を とする

f:id:ShineSpark:20200417015833p:plain

  • 直感的でなくなる
  • カーソルキーの中で最も利用頻度の高い キーまでの距離が遠くなる
  • 新しいマッピングに慣れる必要がある
  • ソフトウェアリマッピングして利用しているHHKB Classicとカーソルキーの位置が変わってしまう

会社用、自宅用とHHKBを使い分けているので、
ハードウェアリマップできないHHKBとはカーソル配置が変わってしまうことが致命的な為NG

他のキーへの割り当てや、カーソルキー全体をズラすことも考えたけれども、デメリットが多くて辞めた。

妥協案2. ハードウェアリマップを辞めてソフトウェアリマップを使う

ハードウェアリマップによってどの環境でもDvorak配列が利用できると思って買ったDvorakユーザーにとって、ハードウェアリマップできずQWERTYを利用せねばならないのであればHYBRIDを買ったメリットが殆どなくなってしまう。

元々Type-Sを利用していたので、無線になったことぐらいしか恩恵が得られない。
とはいえ、ハードウェアリマップの弊害の方が大きいのでソフトウェアリマップの方がまだデメリットが少ない。

妥協案3. 他のキーボードを使う

結局KINESISキーボードに逆戻りした。

静電容量方式じゃないのが不満だけれども、Dvorak印字モデルが販売されてるぐらいなのでDvorakユーザーにとってとっても使いやすい。

ハードウェアリマップなので接続するだけでどの環境でもDvorakが使える。

PFUへお願い

下記のような対応などで、この問題を解決してくれることを強く希望します。

  • Q,Z,XキーもFnレイヤーの個別リマップができるようにして欲しい

"ペアリング削除"などの操作に使うキーといえど、別に通常レイヤーとFnレイヤーを同じキー配置でなくてもいいのではとユーザーとしては思います。

新型コロナウイルスで大変な時期ではありますが、次回以降のファームウェア更新で改善されることを切に願っております。

Ubuntuでマウスホイールのスクロール速度を上げる

環境

  • Ubuntu 19.10
  • MX Ergo
  • MX Master 3

IMWheel をインストールする

いろいろ調べたら IMWheel で設定するのがセオリーらしいのでこちらをインストールする

$ sudo apt install imwheel

ヘルプを叩いてみた

$ imwheel --help
imwheel 1.0.0pre12 by -=<Long Island Man>=- <jcatki@jcatki.no-ip.org>
imwheel [--auto-repeat|-a delay-rate] [--buttons|-b grab-buttons] [--config|-c] [--debug|-D] [--detach|-d] [--display|-X display-name] [--flip-buttons|-4] [--focus|-f] [--focus-events|-g] [--help|-h] [--key-defaults|-K] [--kill|-k] [--pid|-p] [--root-window|-r] [--quit|-q] [--version|-v]
--auto-repeat|-a  delay-rate   auto repeat until button release (default=250)
--buttons|-b      grab-buttons
                       Specify button remappings (default="4 5 6 7 8 9", 0=skip)
--config|-c                    Open configuration helper window imediately
--debug|-D                     Spit out all debugging info (it's a lot!)
--detach|-d                    IMWHeel process doesn't detach from terminal
--display|-X      display-name Sets X display to use
--flip-buttons|-4              Swaps buttons 4 and 5 events (same as -b "5 4")
--focus|-f                     Use event subwindow instead of XGetInputFocus
--focus-events|-g              Disable the use of Focus Events for button grabs
--help|-h                      For this help!  Now you know
--key-defaults|-K              Use the old key style default actions
--kill|-k                      Kills the running imwheel process
--pid|-p                       IMWheel doesn't use or check any pid files
--root-window|-r               Allow wheeling in the root window (no cfg dialog)
--quit|-q                      Don't start imwheel process, after args
--version|-v                   Show version info and exit

IMWheelの設定ファイルを作成する

$HOME.imwheelrc を作成した。

".*"
None,      Up,   Button4, 2
None,      Down, Button5, 2
  • ".*" でどのアプリケーションでもこの設定を適用するように指定している
  • 行末の数字がスクロール量の大きさ。1がデフォルトで大きくする程スクロール量が増える。
    • 個人的にはMX Ergo, MX Master 3ともに2で良かった
  • None はキーボードのModifier Key
    • Shiftなどを定義していないので、この設定ならShiftキーを押しながらスクロールすると従来のスクロール量になってちょうどいい。

下記コマンドでimwheelを起動、再起動できるので、それでスクロール量の挙動を確かめるとよい。

# 起動
$ imwheel

# 再起動
$ imwheel -k

# 停止
$ imwheel -q

自動起動設定

設定が決まったら、systemd用のserviceファイルを作成して.config下に配置する。

[Unit]
Description=IMWheel
Wants=display-manager.service
After=display-manager.service

[Service]
Type=simple
Environment=XAUTHORITY=%h/.Xauthority
ExecStart=/usr/bin/imwheel -d
ExecStop=/usr/bin/pkill imwheel
RemainAfterExit=yes

[Install]
WantedBy=graphical.target

serviceファイル設置後、下記コマンドを順に実行してimwheelの自動起動設定を有効にする

$ sudo chmod +x /usr/bin/imwheel
$ systemctl --user daemon-reload
$ systemctl --user enable --now imwheel
$ journalctl --user --unit imwheel

これでスクロールが快適になった。

2020-04-22追記: back / forwardボタンが効かない場合

imwheel 適用時にMX Ergo や MX Master 3の戻る/進むボタンが効かなくなっていたことに気付いた。

改めてヘルプコマンドを叩いてみたら、

--buttons|-b      grab-buttons
                       Specify button remappings (default="4 5 6 7 8 9", 0=skip)

のように、-b オプションでホイールスクロールの4, 5のみを指定すれば、他のボタンには作用しない。

$ imwheel -b "4 5"

serviceファイルのExecStartも

-ExecStart=/usr/bin/imwheel -d
+ExecStart=/usr/bin/imwheel -b "4 5" -d

とすればOK

参考

  • IMWheel - ArchWiki
    • ホイールスクロールのみ指定する方法がこの通りでなくて少し手間取ってしまった。