Apple の脅威の通知と金銭目当てのスパイウェアへの対策について

しばらく返答が寄せられていないようです。 再度ディスカッションを開始するには、新たに質問してください。

ダイヤモンドカーソル

macOS Sierra でカラビナ使えなくなり、20年以上身体に染みこんでしまっているダイヤモンドカーソルが使えず、OSをアップグレードできません。

そろそろ次期OSも見えてくるこの頃、この問題を解決しなければ、OSの進歩から置き去りです。

最低限、次のキー割当を実現する簡単な方法はないでしょうか?


Control+D カーソル右移動

Control+S カーソル左移動

Control+E カーソル上移動

Control+X カーソル下移動


よろしくお願いいたします。

MacBook Pro with Retina display, OS X El Capitan (10.11.6)

投稿日 2017/06/05 15:00

返信
返信: 7

2017/06/09 16:37 hibariSAP への返信

わかりやすい解説などないでしょうか?


DefaultKeyBinding.dict の作成/編集方法は下記が参考になるかもしれません。


DefaultKeyBinding.dictを使って、macOSのキーバインドを変更 - Qiita

http://qiita.com/See_Ku/items/4bd8cfc6a7c4266f9bb6


テキスト編集のキー操作を自在にコントロールする - ザリガニが見ていた...。

http://d.hatena.ne.jp/zariganitosh/20101026/text_key_binding


なお、Google 検索でヒットした中から大丈夫そうなのをピックアップしただけなので、記事内容は精査してません。また、ページ内に貼られているリンクは全く見てません。(古い記事だとリンク先が消滅 -> リダイレクト -> MacKeeper 等のヤバいページ ... なんてこともあるので要注意)


あと、Apple の公式ドキュメントだと下記が参考になると思います。こちらはデベロッパ用のページなので内容が専門的になりますが、役には立つかなと。


Text System Defaults and Key Bindings

https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings.html

2017/06/05 22:32 hibariSAP への返信

カラビナ


ええと、これって、Karabiner のことですよね?しばらく待てば対応版をリリースしてくれそうですよ。


Karabiner

https://pqrs.org/osx/karabiner/index.html.ja


Control+D カーソル右移動

Control+S カーソル左移動

Control+E カーソル上移動

Control+X カーソル下移動


DefaultKeyBinding.dict を作成してみてはどうでしょうか?


保存場所は

$HOME/Library/KeyBindings/DefaultKeyBinding.dict


内容はこんな感じ

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>^e</key> <string>moveUp:</string> <key>^x</key> <string>moveDown:</string> <key>^s</key> <string>moveBackward:</string> <key>^d</key> <string>moveForward:</string> </dict> </plist>


で、ファイルを所定の場所に保存したら、一旦ログアウトしてから再ログイン。


当方の環境 (Snow Leopard) ではこれで大丈夫ですが、Sierra でどうかは分かりません。もしダメならご愛嬌ということで。

2017/06/07 22:50 Hiro__S への返信

Hiro.S様


早速、ありがとうございます

希望が見えてきました。

なおKarabinerですが、ずっと待っていますが、待ちくたびれました。


さてご指示の設定ファイルを探したところ、ユーザーの隠しフォルダーのライブリーがあり、

その中にDefaultKeyBinding.dictがありました。

当方の別MacのSierraでは、下記のようになっていました。

これをどのように書き換えると良いのでしょうか?


よろしくお願いします


{


/* Keybindings for emacs emulation. Compiled by Jacob Rus.


*


* This is a pretty good set, especially considering that many emacs bindings


* such as C-o, C-a, C-e, C-k, C-y, C-v, C-f, C-b, C-p, C-n, C-t, and


* perhaps a few more, are already built into the system.


*


* BEWARE:


* This file uses the Option key as a meta key. This has the side-effect


* of overriding Mac OS keybindings for the option key, which generally


* make common symbols and non-english letters.


*/




/* Ctrl shortcuts */


"^l" = "centerSelectionInVisibleArea:"; /* C-l Recenter */


"^/" = "undo:"; /* C-/ Undo */


"^_" = "undo:"; /* C-_ Undo */


"^ " = "setMark:"; /* C-Spc Set mark */


"^\@" = "setMark:"; /* C-@ Set mark */


"^w" = "deleteToMark:"; /* C-w Delete to mark */






/* Incremental search. */


/* Uncomment these lines If Incremental Search IM is installed */


/* "^s" = "ISIM_incrementalSearch:"; /* C-s Incremental search */


/* "^r" = "ISIM_reverseIncrementalSearch:"; /* C-r Reverse incremental search */


/* "^g" = "abort:"; /* C-g Abort */






/* Meta shortcuts */


"~d" = "moveWordForward:"; /* M-f Move forward word */


"~s" = "moveWordBackward:"; /* M-b Move backward word */


"~<" = "moveToBeginningOfDocument:"; /* M-< Move to beginning of document */


"~>" = "moveToEndOfDocument:"; /* M-> Move to end of document */


"~v" = "pageUp:"; /* M-v Page Up */


"~/" = "complete:"; /* M-/ Complete */


"~c" = ( "capitalizeWord:", /* M-c Capitalize */


"moveForward:",


"moveForward:");


"~u" = ( "uppercaseWord:", /* M-u Uppercase */


"moveForward:",


"moveForward:");


"~l" = ( "lowercaseWord:", /* M-l Lowercase */


"moveForward:",


"moveForward:");


"~d" = "deleteWordForward:"; /* M-d Delete word forward */


"^~h" = "deleteWordBackward:"; /* M-C-h Delete word backward */


"~\U007F" = "deleteWordBackward:"; /* M-Bksp Delete word backward */


"~t" = "transposeWords:"; /* M-t Transpose words */


"~\@" = ( "setMark:", /* M-@ Mark word */


"moveWordForward:",


"swapWithMark");


"~h" = ( "setMark:", /* M-h Mark paragraph */


"moveToEndOfParagraph:",


"swapWithMark");




/* C-x shortcuts */


"^x" = {


"u" = "undo:"; /* C-x u Undo */


"k" = "performClose:"; /* C-x k Close */


"^f" = "openDocument:"; /* C-x C-f Open (find file) */


"^x" = "swapWithMark:"; /* C-x C-x Swap with mark */


"^m" = "selectToMark:"; /* C-x C-m Select to mark*/


"^s" = "saveDocument:"; /* C-x C-s Save */


"^w" = "saveDocumentAs:"; /* C-x C-w Save as */


};




}

2017/06/08 00:57 hibariSAP への返信

ファイルの最後の方に以下を追加してみてください。

/* diamond cursor */ "^e" = "moveUp:"; "^x" = "moveDown:"; "^s" = "moveBackward:"; "^d" = "moveForward:";


それと、/* C-x shortcuts */ のところがダブってるので、コメントアウトするなり、他のものに書き換えるなりすると良いでしょう。


もし、ご希望の4項目だけで良いのなら、一旦全部削除してこんな感じでも良いかと。

{ /* diamond cursor */ "^e" = "moveUp:"; "^x" = "moveDown:"; "^s" = "moveBackward:"; "^d" = "moveForward:"; }


あと、ファイルの形式ですが、前掲のものは XML Property List、hibariSAP さんが貼ってくれたのは ASCII Property List。前者から後者への変換は、/usr/bin/pl でできます。

#!/bin/bash cat <<'EOF' | pl <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>^e</key> <string>moveUp:</string> <key>^x</key> <string>moveDown:</string> <key>^s</key> <string>moveBackward:</string> <key>^d</key> <string>moveForward:</string> </dict> </plist> EOF


# Google 検索したら、DefaultKeyBinding.dict を使った方法は Sierra でも大丈夫のようですね。

2017/06/08 22:43 Hiro__S への返信

Hiro.S様

色々とありがとうございます

ただ、当方未熟で、

>ファイルの形式ですが、前掲のものは XML Property List、hibariSAP さんが貼ってくれたのは

>ASCII Property List。前者から後者への変換は、/usr/bin/pl でできます。

が理解できませんでした。

単純にテキストエディタで保存して、拡張子を変えるだけでは案の定、ダメでした。

あと一歩なのですが、わかりやすい解説などないでしょうか?

よろしくお願いします。

2017/06/08 23:33 hibariSAP への返信

ファイルの変換については、今回はパスしましょう。将来的に余裕ができたら挑戦してみてください。


で、とりあえず、DefaultKeyBinding.dict の内容を一旦全部削除した上で、次のようにしてみてください。ファイルは標準テキスト形式、テキストエンコーディング: UTF-8、改行: LF で保存。

{ /* diamond cursor */ "^e" = "moveUp:"; "^x" = "moveDown:"; "^s" = "moveBackward:"; "^d" = "moveForward:"; }


多分、これでダイアモンドカーソルは実現できると思います。あとは、必要に応じて他の項目を追加すると。


ファイルを編集する際は必ずバックアップを取ってくださいね。

ダイヤモンドカーソル

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple ID を使ってご参加ください。