Keyboard Quantizer

キーボード( FILCO Majestouch2 Tenkeyless S 日本語配列 )のキー配列はAutoHotKeyなどで変更していたんだけど、すべてのPCや仮想マシンで設定するのが面倒だった。
やっぱハード側で変えたいよな、ということでKeyboard Quantizer Miniを購入。

yamlで設定を記述してみた。 現時点(2024/02/04)の設定は以下の通り。

# See https://github.com/sekigon-gonnoc/keyboard-quantizer-doc/blob/master/mini/full_config.md for details
# Config version: 13
# Majestouch 2 Tenkeyless
- application:
    keymaps:
      - layer:
          id: 0
          keys:
            # Esc <-> 半角全角 (US配列で認識されているのでKC_LNG5ではなくKC_GRVでないといけない)
            KC_ESC: KC_GRV
            KC_GRV: KC_ESC
            # 左Win <-> 左Alt
            KC_LWIN: KC_LALT
            KC_LALT: KC_LWIN
            # App -> 右Alt
            KC_APP: KC_RALT
            # 右Alt -> 右Win
            KC_RALT: KC_RWIN
            # CapsLock -> 左Ctrl
            KC_CAPS: KC_LCTL
            # DoubleHoldでLayer1へ
            #KC_CAPS: { tap_dance: { single_tap: KC_LCTL, double_hold: MO(1) }}
            # 左Ctrl -> Layer1へ
            KC_LCTL: MO(1)
      - layer:
          id: 1
          keys:
            # カーソルキー
            KC_J: KC_LEFT
            KC_I: KC_UP
            KC_K: KC_DOWN
            KC_L: KC_RIGHT
            # Enter
            KC_M: KC_ENTER
            KC_N: KC_ENTER
            # 削除
            KC_Y: KC_DEL
            KC_U: KC_BSPC
            # HOME,END
            KC_H: KC_HOME
            KC_SCLN: KC_END
            # PAGE
            KC_O: KC_PGUP
            KC_P: KC_PGDN
            # APP (US配列で認識されているのでKC_SCLNではなくKC_QUOTでないといけない)
            KC_QUOT: KC_BTN2
    combos:
      - combo:
          keys:
            - "KC_SLASH"
            - "KC_4"
          keycode:
            {
              macro:
                [
                  { action: down, keycodes: [KC_RALT] },
                  { action: tap, keycodes: [KC_F4] },
                  { action: up, keycodes: [KC_RALT] },
                ],
            }
# 以下はビルドがなぜか通らないのでコメントアウトしている
#- default:
    #os_language: JP
    #keyboard_language: JP

レイヤーキーはとりあえず左Ctrlにしているけど、慣れなかったら変えるかも。

自分にも他人にも整合性を求め過ぎない

人に対して「前にあんな事言っていたのに今は正反対のこと言ってるじゃないか」と思うことがある。逆に人から一貫性のなさ、整合性のなさを指摘されることもある。

この世界は完璧ではないので、当然そこで生きている私たちも完璧じゃない。現実世界に完璧な直線や完璧な円が存在しないのと同じように、完璧な人間も存在しない。

過去と今の意見を比較するとほぼ必ず矛盾を含んでしまう。また今時点での自分の中だけを見ても矛盾はたくさん見つかる。だけどそれは人間が完璧でない以上当然のことだ。

最近自分の中の矛盾を人間として当たり前のものだと認められるようになった。ただそれだけで色々な思いが救われた。

もちろん度が過ぎるものはダメだろうけど、自分や他人に対してある程度の矛盾は許容できるようになると良い。現実世界に即した考え方になるので今よりもっと生きやすくなる。

 

社会のルールを上手く受け入れる考え方

以前、思ったことのメモ。

社会や会社、学校など色々なところにルールというものはある。このルールについてイライラしたり疲れたりすることがあるけど、考え方を変えると少しマシになる。

ルールには表面上のルールと、実際運用されているルールの2つがある。表面上のものは理想のルール、実際運用されているものは現実のルール、とも言い換えられる。

例えば速度40km制限の開けた道の場合、表面上のルールは40kmだけど実際運用されているルールは50kmくらいなことが多い。

落とし物は交番に届けるのが表面上のルールだけど、実際は10円拾って交番に届ける人はほぼ居ないだろう。(そもそも10円交番に届けても手続きなどのコストが掛かって周りが困るかも)

理想を言えば速度制限の40kmで走ったり10円でも交番に届けたりした方が良いんだけど、私達が生きている世界は理想の世界ではなく、正しくなさが含まれている現実の世界なので表面上(理想)のルールに従うと不都合が出やすい。そして多くの人は実際運用されている方のルールに従っている。

なら表面上のルールなんて要らないじゃん、と思うけど、目指すべき努力目標みたいな意味合いで存在しているんだと思う。

うつっぽくなり余裕が無くなると、表面上のルールに囚われて周りと衝突して疲弊したりするので、2つのルールの違いを意識すると良い。

 

Alexsaとスマート家電リモコンでオリジナルの文言を作る

環境

  • AmazonEchoDot
  • スマート家電リモコン(RS-WFIREX3)

問題

AmazonEchoDotとスマート家電リモコンを連携させたものの、動作に不満が有った。
Alexsaカスタムスキルを使っていたけど、やたら長ったらしい文言を言わなければいけない。

ex) 「アレクサ、家電リモコンで除湿26℃をつけて」

それと「アレクサ、家電リモコンで照明をつけて」が何故か一発で動いてくれない。
「どの操作を行いますか?つけて、消して、明るく、暗く から選んでください」と聞き返されてしまう。
「アレクサ、家電リモコンを「使って」照明をつけて」と言わなければいけなかった。
「アレクサ、家電リモコンで照明を消して」はOKなのに...

オリジナル文言作成

ググっていたらAmazonのレビューに解決策を書いていた人がいた。

https://www.amazon.co.jp/gp/customer-reviews/R382GOHK1EWOCT/ref=cm_cr_othr_d_rvw_ttl?ie=UTF8&ASIN=B076Q99TT7

Alexsaカスタムスキルではなく、Alexsaスマートホームスキルを使えば良い。
この方法なら好きな文言と好きな一連の動作を登録できる。

手順としては

  1. 家電リモコンアプリで「電源スイッチ」としてリモコン操作を登録
    家電製品の追加 > 電源スイッチ > 手動で学習する > ボタン追加 > (リモコン操作学習) > ボタン名登録(on,offなどで登録する) > 完了 > 家電製品名登録

  2. 家電リモコン側の連携設定
    家電リモコンアプリの家電リモコン一覧画面でその他ボタン > AmazonAlexsaの設定 > スマートホームスキルを選択 > 登録した電源スイッチを追加して登録

  3. Alexsaアプリ側の連携設定
    スマートホーム > デバイスを追加 > 検出したデバイス(電源スイッチ)を登録

  4. Alexsaアプリで定型アクション設定
    定型アクション > +ボタン > 実行条件を設定 > (呼びかける時のオリジナル文言を設定) アクションを追加 > スマートホーム > デバイス(電源スイッチ)を選択 > (オン、オフを選択) > 次へ > 追加

!!! 注意点 !!!
オリジナル文言は、ひらがなで作成するとAlexsaが反応してくれないことがある。
ex)
「アレクサ、でんきをつけて」 -> ダメ
「アレクサ、電気をつけて」 -> OK

Androidスマホ(p10lite)のもっさり動作を解消

p10liteにシステムアップロードが降りてきたので実行したら、もっさり動作になってしまった。   ホームボタンやタスクボタンをタップしてから反応するまで8秒も掛かる有様。  

ネットで調べると、アップデート後の不具合には一度初期化を行うのが鉄則らしい。

p10lite-huawei-wiki.fxtec.info

試しに初期化してみるとサクサクになったので、簡単に手順を書いておく。

バックアップ

ひとまずバックアップ。Huaweiには専用ツールが有るのでそれを使う。
SDカードの空きに余裕が有ればスマホで完結するんだけど、折角だしPCでバックアップできるHiSuiteというソフトを使ってみた。

consumer.huawei.com

p10liteの開発者向けオプションで「USBデバッグ」をON。
さらに、設定 > セキュリティーとプライバシー > その他 > HiSuiteからHDBの使用を許可 にチェックを入れる。

PC側でHiSuite起動。
P10liteをPCにUSB接続すると、P10liteに「USB使用」のダイアログが出るので「ファイルを転送」を選択する。

HiSuiteでバックアップ実行。 LINEはバックアップ出来ないので、別にバックアップを取る。

official-blog.line.me

それ以外にも個別バックアップが必要なデータが有るか一通りチェックしておく。

初期化

p10liteを初期化する。 設定 > システム > リセット > データの初期化

復元

HiSuiteで復元実行。 LINEを再インストール。他のアプリも正常に動くか確認する。

VSCodeでGithubへPush

環境

手順

ローカルリポジトリ作成・登録

Windows上に作業用の空のフォルダ作成

VSCodeで作業用フォルダを開く

VSCodeのソース管理サイドバーを開く(ショートカット: Ctrl- Shift- G)

ソース管理サイドバー内のgitマーク(リポジトリの初期化)をクリックし、リポジトリ作成

作業用フォルダに適当なファイル作成

ソース管理サイドバーで該当ファイル右側の+アイコンをクリックしステージング

ソース管理サイドバーのコミットメッセージ入力欄に適当なメッセージを入力しCommit(Ctrl-Enter)

Github用の公開鍵・秘密鍵作成

WSLで公開鍵・秘密鍵作成

cd 
mkdir .ssh
cd .ssh
ssh-keygen -t rsa

オプションを聞かれるが何も入力しないでEnterでOK

鍵の中身をコピーしておく

cat id_rsa.pub

Githubへ公開鍵を登録

Githubのアカウント作成

以下URLへアクセス。「New SSH Key」をクリック

https://github.com/settings/ssh

コピーした鍵の中身を貼り付けて登録

GithubへPush(アップロード)

ブラウザからGithubサイトを開き、Github上に空のリポジトリ作成

WSLで以下のようにコマンドを打つ

cd {作成した空のディレクトリ}
git remote add origin {GithubリポジトリのURL}

ここでは「origin」をGithubリポジトリに紐付けしている

VSCodeのソース管理サイドバーのその他マーク > プッシュ先... をクリック

GithubのユーザID,パスを聞かれるので入力

rubyのString.deleteメソッド

文字列中から特定文字列を削除したくてdeleteメソッド使ってみたんだけど、思っていたのと挙動が違った。

以下を実行すると

fileNm = "03-example.mp3"
p fileNm.delete(".mp3")

こうなる。

"0-exale"

deleteメソッドは1文字ずつの判定になっていて、"."と"m"と"p"と"3"それぞれが削除されてしまった。
".mp3"を削除したかったので、以下のように正規表現を使う方法にした。

p fileNm.sub(/\.mp3/, "")