bar_1

contents_map

ラベル Karabiner-Elements の投稿を表示しています。 すべての投稿を表示
ラベル Karabiner-Elements の投稿を表示しています。 すべての投稿を表示

2022年10月14日金曜日

OyayubiKE: Karabiner-Elements 14.10.0 でmacOS上の親指シフト環境を構築する2022

OyayubiKE: Karabiner-Elements 14.10.0 でmacOS上の親指シフト環境を構築する2022

2022-10-05

Karabiner-Elements (KE) を 14.10.0 にバージョンアップしたところ, だましだまし使っていた自前の親指シフト環境が使えなくなってしまった.

そこで今回, 以前リリースしたものを思い切って全面的に見直し, 新たにOyayubiKE
と称することとした. 一応使えるレベル (完成度は自己評価で51%くらい) にはなったと思うので公開する.
が……後述のように 一定の不具合は存在するので注意すること.

OyayubiKEの動作確認した環境

動作確認した環境は以下の通り:

  • ハードウェア環境
    • Mac本体: Mac mini (M1,2020)
    • USB Hub: ELECOM 2x7 USB switch U2SW-B27SBK
    • USB Keyboard: Logicool K120 (ごく一般的な日本語JIS 109キーボードです)
  • ソフトウェア環境
    • OS macOS Monterey 12.6
    • IME 日本語入力プログラム(Kotoeri)
    • Krabiner-Elements 14.10.0
  • 動作確認したソフト
    • ブラウザ - Safari, Brave.
    • エディタ等 - ターミナル.app, ターミナル上のvim, Visual Studio Code (+vscodevim).
    • その他アプリ - Libre Office (Writer), Discord, League of Legends.

2019年12月25日水曜日

Karabiner-Elementsだけで親指シフト環境を構築(2019年版)


以前, Karabiner-Elements (以下, KE)だけで親指シフト環境を構築した. これはKEのバージョンアップのいつかのタイミングで, 不具合が発生するようになっていた.
この不具合について今回対策を試みたので, 本記事で2019年版として紹介する. 確認したのは以下の環境である:
  • OS: macOS High Sierra 10.13.6
  • IME: Google 日本語入力 2.25.3700.1(ローマ字入力)
  • Karabiner-Elements: 12.8.0
  • システム環境|キーボード>キーボード>修飾キー…のKarabiner VirtualHIDKeyboardの設定: デフォルト
  • キーボード: USB接続のJISキーボード Logicool K120
なお今回提案の親指シフト環境で, システム環境設定でのキーボード設定で修飾キーの入れ替えをしている場合, 分節調整(Ctrl-I, Ctrl-O)がうまく動作しなくなることを, 筆者は確認している. 原因は不明である

2018年2月19日月曜日

macOS High SierraでKarabiner-Elementsだけで親指シフト入力環境を構築する方法

!!!!あたらしい記事が ここ にあります!!!!
Fortniteが動くかとおもいEl Capitan (10.11.x) から一気にHigh Sierraにアップグレードしてみたものの, グラボがないとダメですと言われてゲームが起動できなかった.
これまで私がSierra系に更新していなかった理由は, Karabinerが動かないと聞いていたからだ. こうなったらSierra以降向けに開発されているという Karabiner-Elements (KE) で, 無理矢理NICOLA配列での親指シフト入力環境を実現する しかない……というわけで, とりあえず動くものができたので公開します.
動作確認した環境は下記:
  • OS version - macOS High Sierra (10.13.3)
  • IME - Google 日本語入力 2.20.2700.1 (基本設定: ローマ字入力)
  • Karabiner-Elements version - 11.5.0
試してないけどSierraでもイケると思う.
インプリしたのは, とりあえず NICOLA配列 (JAWP) で, 右シフトを「変換」キー, 左シフトを「無変換」キーとしています.
現状のこのNICOLA配列の実装の不具合としては:
  • けっこう前もって (よっこらしょという感じで) 親指シフトキーを押す必要がある
  • ときどきシフト状況が正確に把握されないことがある
という点が挙げられます. もっとうまい書き方があるかもしれない.

使い方

Karabiner-Elements (KE) をインストールしてから,
上記の2つのjsonファイルをダウンロードして, ディレクトリ: $HOME/.config/karabiner/assets/complex_modifications/ に格納してください.
次に, Karabiner-Elementsを起動してから Preferences... を開き, Complex Modifications タブを選択します. 下の方にある Add rule ボタンを押すと, 設定の一覧が出てきます.
この一覧の下の方に, 「無変換, 変換キーでIME Off, On」, 「親指シフト入力のためのNICOLA配列」があるので, Enableして下さい.

おおまかな仕組み

シフトごとにフラグとなる変数: Oyayubi-R, Oyayubi-L, Oyayubi-Any (右か左のどちらかが押されたとき用) を用意 (set_variable) して, 押下されたらセット, 離されたらリセットしています. この処理の記述をしているのが, muhenkan_henkan_ime.json です.
フラグの状態とIMEの状態に応じてmanipulateの処理が決まります. こちらは nicola_genenerated.json で記述しています.
ファイル名から察しがつくように, いちいちキー一つ一つの設定を書いていくのは面倒なので, 設定のためのjsonジェネレータをRubyで書いた――のだけど, こういうものがあると後から知った:

Conclusion

macOS High Serraで, Karabiner-Elementsだけで親指シフト入力を可能にした.

References

実装するにあたり, 以下のドキュメントが役に立ちました.