Quantcast
Channel: MacOSXの新着アプリテスト記録とトラブルシューティング
Viewing all articles
Browse latest Browse all 655

El Capitanでもことえり風のラ行をLで打つキー配列をRootlessにも引っかからないで実現する方法〜Karabinerを使えば簡単…というお知恵をいただいた

$
0
0

El Capitanでもことえり風のラ行をLで打つキー配列をRootlessにも引っかからないで実現する方法〜Karabinerを使えば簡単…というお知恵をいただいた

ことのおこりは先日あげた仮想環境でのEl Capitanのレビューで、システムファイルを書き換えてことえりキー配列を復元するTipsがEl Capitanでは実行できない(実行はできるがリスクも伴い、レスキューボリュームがない自家製FusionDriveではSIPの解除もできない)件を書いたこと。

ことえり風のキールールに変更するTipsはEl Capitanでは使えない…ていうか使えるが危険でお勧めしないが一応方法を書いとく〜Rootlessについて…カンブリア紀の終わりは近づき…

これに対してツイッターでMacの手書き説明書ヴェアダルさん、BBSでnya-0さんのお二人から

「Lキーでラ行を入力することえりキー配列を実現したいのならKarabinerを使えば簡単ですよ」

という旨のご指摘をいただいていた。

Karabinerは現在も私のMacBook Proのメニューバーに常駐しているので、お二人のおっしゃる通り導入は簡単だがキーカスタマイズのフィルタリング構文の書き方を考えるのがめんどいなぁ…そのうち時間があるときにじっくり考えよう…とか思っていたら、なんとnya-0さんがそのXMLを書いてBBSに投稿していただいた。

そのnya-0さんのKarabiner向けキーカスタマイズのプライベートXMLが以下の内容。



<?xml version="1.0"?>

<root?>

<inputsourcedef?>

<name?>MY_Ja</name?>

<inputmodeid_equal>com.apple.inputmethod.Japanese</inputmodeid_equal?>

</inputsourcedef?>

<item?>

<name?>Old fashioned KOTOERI key</name?>

<identifier?>private.old_fashioned_kotoeri_key</identifier?>

<inputsource_only?>MY_Ja</inputsource_only?>

<autogen?>__KeyToKey__ KeyCode::L, KeyCode::R</autogen?>

</item?>

</root?>

フィルタリングをどう書いたらいいだろうかと思っていたが、こうなんですね。

ありがとうございます。

実際にYosemite環境で試そうとしてちょっと問題が起きた。

Yosemiteの日本語IM環境の設定ファイルをデフォルトに書き換えようとすると、「アクセス権がありません」と言われて拒否られてしまった。

ひょっとしてこの前のアップデートでYosemiteにも本格的にRootlessが取り入れられてしまったのか…とちょっとひやりとしたが、そうではなくて愛用のCotEditorが今回アップデートからApp Storeのみの配布になって、その条件としてSandboxに完全対応したためシステム領域のファイルの書き換えができなくなった…ということだった。

その解決法はキャプチャー参照。

ここでEl Capitanを導入するとどういうメリット・デメリットがあるかをついでに整理してみた。

El Capitanのメリット

1)思いつかない

El Capitanのデメリット

1)Yosemiteならシステム領域、UNIX領域をroot権限で書き換えができるが、El CapitanではRootlessの制限でSIP領域はほぼ編集不可能

2)cDockなど愛用しているアプリが一部機能していない

3)El Capitan起動中は冷却ファンが異常高回転するなど動作が不安定

4)日本語ライブ変換が使いにくい

と圧倒的にEl Capitanを入れない方向で考えていたが、

1)のrootlessは確かにYosemiteでは制限が少ないが、CotEditorのSandbox化のようにこれからアプリの方も制限がかかるようになる方向なのでアップデートしなくてもいろいろ不自由になっていくのは結局同じこと

とEl CapitanよりYosemiteの方がましともいえない状況なのでアップデートするかも…という非常にネガティブな比較論になってきた。

3)の異常回転についても解決法の情報をいただいているので、これもうまくいくか近日中にテストする。

テストして成果が上がったら、2)の機能しないアプリという積み残しもあるがEl Capitan本格導入ということになるかもしれない。

4)のライブ変換の使いにくさは、そのうち慣れるだろう…慣れなきゃオフにもできるし…

キーの役割を自由に変更できるメニューバーアプリKarabinerの環境設定画面を開く

Misc & Uninstallタブに入ってOpen private.xmlボタンをクリックする

するとFinderでxmlの場所が表示されるので、これをCotEditorなどのテキストエディタで開く

このxmlに上記の構文をコピペする

すでに何か入っている場合もその後ろに追記する形で良い

Karabinerの設定画面に戻ってChange Keyタブに移動する

右上のリロードボタンでXMLをリロードすると追記した名前の新項目が増えているはず

まずこれをYosemiteでテストしようと思って前回のTips

ことえり風に変更していた日本語入力をデフォルトに戻そうとした

ところが「アクセス権がありません」と警告が出て上書きができない

ひょっとしてこの前のアップデートでYosemiteにもRootlessベースの

SIP機能が追加されたのか…とちょっとヒヤッとしたがそうではなかった

問題はCotEditorの方で、今回アップデートからApp Storeのみの配布になって

旧バージョンがあまりに頻繁に落ちるのでCotEditorも最新版をApp Storeから入れ直していた

このバージョンはSandboxに対応してシステム領域のファイルの

書き換えができなくなっていたのが原因だった

そこで昔のインストーラのバックアップから2.0.3を引っ張り出してきた

2.0.3も頻繁に落ちるバージョンだが、テキスト一枚コピペして

上書き保存する間ぐらいは保ってくれてちゃんとシステムファイルの上書きもできた

あらためて旧バージョンもこういうときのために残しておかないとという教訓だ

こうしてなんとか保ってくれて再起動後、日本語入力はデフォルトにもどった

「LA、LI、LU、LE、LO」と入力すると「ぁぃぅぇぉ」と小文字で入力されるようになった

この状態でKarabinerの新規で追加された方のチェックを入れた

するとこちらは再起動もしないでいきなりキーに反映された

もちろん「アクセス権がありません」なんて無粋なポップアップも一切無しにだ

これなら元に戻したいときもワンクリックだしシステムファイル書き換えよりはるかにお手軽だ

同じことをEl Capitanでやるときも特に障害になりそうなところは何もない

といいことばかりは続かない

懸念した通りかなモードでShiftキーを押しながら全角アルファベットを

LRLRLRLRLRLRLR…と入力すると全部Rになってしまった

これは残念ながら「エル」と入力して変換するしかない

めったに使うことはないし何回もやっていたら変換候補の

上位に上がってくるだろうから大きな障害ではないが

Shift+Lキーをまた別キーに割り当てたらいいのかな?

そのうち考えてみよう…


Viewing all articles
Browse latest Browse all 655

Trending Articles