2013年10月28日月曜日

Macでキーボード入力を便利にする

この前 AkiIno Blog: Xmodmapでいろいろ便利になるように設定 で、Linuxでキーバインドを変更する設定を書いたので、こんどはMacで同じことをしてみました。 MacでもWindowsやLinuxと同じキーボードを使って、無変換キーを切替キーにしています。
こんな設定、ニッチすぎて誰も使ってないかもしれませんが、ちょっとでも参考になれば。


変更したキー

半角全角 => Esc
Esc => IMEのトグル 無変換をモードスイッチに設定(IMEのONは無功化)
変換を入力モード切換

以下は無変換キーを押しながら

i => home
o => end
h => 左矢印
j => 下矢印
k => 上矢印
l => 右矢印
b => バックスペース


使ったソフトウェア

Macのキーバインド変換といえば、 pqrs.org(https://pqrs.org/index.html.ja)こちらの方が作られているソフトウェアを使うのが定番みたいです。
前回も出ていたWin用のenthumbleの設定も入っているらしいですが、設定項目がたくさんありすぎてよくわからないので、今回は手作業でやってみました。

KeyRemap4MacBook
KeyRemap4MacBook - OS X用のソフトウェア
キーバインドを入れ替えるためのソフトウェア

PCKeyboardHack
PCKeyboardHack - OS X用のソフトウェア
MacにないWinキーボードのキーを使うためのソフトウェア


大まかな手順

  1. ソフトウェアのインストール
  2. PCKeyboardHackでキーの有効化
  3. KeyRemap4MacBookでキーバインドの変更

細かな手順

1. ソフトウェアのインストール

普通に2つのソフトウェアをダウンロードして、インストールするだけです。それぞれで再起動を求められます。 順番も特になさそうですがなんとなくPCKeyboardHackを先に入れて再起動、つぎにKeyRemap4MacBookを入れました。

2. PCKeyboardHackでキーを有効化

PCKeyboardHackで変換、無変換、カタカナ/ひらがなキーを有効にします。
アプリケーションのなかにあるので、ファインダーから普通に起動して、上側で一番下の方にある"For Japanese"の3つのチェックボックスにチェックをつけます。 ソフトウェアを終了するとキーが効くようになっています。

3. KeyRemap4MacBookでキーバインドの変更

タスクバーにある四角のアイコンをクリックして、出てきたメニューからPreferencesを選択します。
"Misc & Uninstall"を選択して、"Open private.xml"ボタンを押すとFinderでprivate.xmlが表示されます。このファイルを以下のように編集します。

ファイルの基本的な書式は、

<autogen>__KeyToKey__ <変更したいキーコード>, <変更したいモディファイキー>,<変更後のキーコード>, <変更後のモディファイキー></autogen>

例えば以下なら、

<autogen>__KeyToKey__ KeyCode::I, ModifierFlag::EXTRA1,     KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L</autogen>

EXTRA1を押しながらiキーを押したときに、Command_Lを押しながら左矢印キーを押したように変更されることになります。
モディファイキーが不要な場合は省略します。
キーコードは、ステータスバーのKeymap4MacBookのアイコンをクリックしたときに出る"Launch EventViewer"メニューで確認できます。

<?xml version="1.0"?>
<root>
    <item>
      <name>Swap Hankaku_Zenkaku and Escape</nam>
      <identifier>hankaku_zenkaku_escape</identifier>
      <autogen>__KeyToKey__ KeyCode::ESCAPE, KeyCode::SPACE, ModifierFlag::COMMAND_L</autogen>
      <autogen>__KeyToKey__ KeyCode::BACKQUOTE, KeyCode::ESCAPE</autogen>
    </item>
    <item>
      <name>Change MUHENKAN to MODIFIER</nam>
      <identifier>modifier_key_muhenkan</identifier>
      <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1</autogen>
      <autogen>__KeyToKey__ KeyCode::J, ModifierFlag::EXTRA1, KeyCode::CURSOR_DOWN</autogen>
      <autogen>__KeyToKey__ KeyCode::K, ModifierFlag::EXTRA1, KeyCode::CURSOR_UP</autogen>
      <autogen>__KeyToKey__ KeyCode::H, ModifierFlag::EXTRA1, KeyCode::CURSOR_LEFT</autogen>
      <autogen>__KeyToKey__ KeyCode::L, ModifierFlag::EXTRA1, KeyCode::CURSOR_RIGHT</autogen>
      <autogen>__KeyToKey__ KeyCode::J, ModifierFlag::EXTRA1, KeyCode::CURSOR_DOWN</autogen>
      <autogen>__KeyToKey__ KeyCode::B, ModifierFlag::EXTRA1, KeyCode::DELETE</autogen>
      <autogen>__KeyToKey__ KeyCode::P, ModifierFlag::EXTRA1, KeyCode::PAGEUP</autogen>
      <autogen>__KeyToKey__ KeyCode::SEMICOLON, ModifierFlag::EXTRA1, KeyCode::PAGEDOWN</autogen>
      <autogen>__KeyToKey__ KeyCode::I, ModifierFlag::EXTRA1,   KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L</autogen>
      <autogen>__KeyToKey__ KeyCode::O, ModifierFlag::EXTRA1,   KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L</autogen>

      <autogen>__KeyToKey__ KeyCode::JIS_KANA, KeyCode::SPACE, ModifierFlag::COMMAND_L</autogen>

      <autogen>__KeyToKey__ FROMKEYCODE_HOME, VK_COMMAND, KeyCode::CURSOR_UP, ModifierFlag::COMMAND_L</autogen>
      <autogen>__KeyToKey__ FROMKEYCODE_HOME, VK_CONTROL, KeyCode::CURSOR_UP, ModifierFlag::COMMAND_L</autogen>
      <autogen>__KeyToKey__ FROMKEYCODE_END, VK_COMMAND, KeyCode::CURSOR_DOWN, ModifierFlag::COMMAND_L</autogen>
      <autogen>__KeyToKey__ FROMKEYCODE_END, VK_CONTROL, KeyCode::CURSOR_DOWN, ModifierFlag::COMMAND_L</autogen>
      <autogen>__KeyToKey__ FROMKEYCODE_HOME, KeyCode::A, ModifierFlag::CONTROL_L</autogen>
      <autogen>__KeyToKey__ FROMKEYCODE_END, KeyCode::E, ModifierFlag::CONTROL_L</autogen>
    </item>
</root>

保存したら、KeyRemap4MacBookの一番最初の画面にもどり、"ReloadXML"ボタンを押して、設定を有効化します。 一番上に出てきた、"Swap Hankaku_Zenkaku and Escape"と"Change MUHENKAN to MODIFIER"にチェックをつけて、終了すると反映されます。


参考にしたページ

KeyRemap4MacBook/files/prefpane/checkbox.xml at Japanese-handling-improvement · tekezo/KeyRemap4MacBook · GitHub
GithubにおかれてるKeyRemap4MacBookのリポジトリにある、設定ファイルです。これを参考に作りました。

Macでキーバインドを変更する ~KeyRemap4MacBook~ - 世界中の羊をかき集めて KeyRemap4MacBookでキーバインドの変更するための設定を公開されてます。
キーマップっていうと、キーボード全体のレイアウト的なものを指して、今回みたいなのはキーバインドが正しい呼び方です。


感想

これで打ちやすく、というか打てるようになりました。完全にenthunbleに調教されてしまって、変更なしでは無理です。
Windowsになれてるからかもしれませんが、キーボードで操作するっていうことでは、間違いなくWindowsの方が使いやすいと思います。なんで、アプリケーションの切替がアプリごとでウィンドウごとじゃないのか。ぜったいウィンドウごとの方が便利だと思うんだけど。あと、ウィンドウを並べて表示みたいなのがないのも不思議。Linuxにはあるから特許とかの問題ではないと思うんだけど、どうなんだろ?

Written with StackEdit.

2013年10月18日金曜日

Xmodmapでいろいろ便利になるように設定

Windowsでenthumbleというユーティリティを使ってキーボードを便利に使っているんですが、同じ事をLinuxでもやりたくなったので、がんばってみました。
キーボード、もっと便利にしませんか? | キーボードソフト enthumble
http://jp.enthumble.com/
keycodeを確認するには、xveというアプリケーションを使う。
"$xmodmap -pke"で現在のキーマップが表示される .xmodmapファイルの書式
keycode 33 = $1 $2 $3 $4

$1 => 普通に押した時

$2 => shiftキーと一緒に押した時

$3 => モード切り替えと押した時

$4 => モード切り替えとShiftキーと押した時

変更したキー

  1. 半角全角 => Esc
  2. 左Caps => Ctrl
  3. 無変換をモードスイッチに設定
以下は無変換キーを押しながら
  1. i => home
  2. o => end
  3. h => 左矢印
  4. j => 下矢印
  5. k => 上矢印
  6. l => 右矢印
  7. b => バックスペース
  8. p => PageUp (Prior)
  9. ; => PageDown (Next)

.Xmodmapファイルの内容

clear Lock
clear Control
remove Control = Mode_switch
add Control = Control_L

keycode 66 = Control_L
keycode 102 = Mode_switch
keycode 49 = Escape
keycode 56 = b B BackSpace
keycode 31 = i I Home
keycode 32 = o O End
keycode 33 = p P Prior
keycode 47 = semicolon plus Next 
keycode 43 = h H Left
keycode 44 = j J Down
keycode 45 = k K Up
keycode 46 = l L Right
keycode 49 = Escape


(追記:2014/07/01)
一部うまくキーが送れないアプリケーションがあるみたいです。
例えばChromeでCtrl+PageUpでタブが移動できるはずですが、Ctrl+Mode_switch+Pを押しても移動できませんでした。



Written with StackEdit.

Chromeアプリの"StackEdit"がすごくいいかも

Chromeアプリ?ChromeApp?正式にはなんなんだろ?
AppLauncherだし、ウェブストアではアプリって表示されてるし。

Chromeアプリの"StackEdit"っていうエディタが便利。

StackEdit - Chromeウェブストア

benweet/stackedit · GitHub

良い所

  1. マークダウンで書いて、リアルタイムでプレビューされる
  2. ショートカットがいろいろある。
  3. Bloggerに直接投稿できる
  4. GoogleDriveの指定のフォルダに保存できる
  5. Dropboxに直接保存できる
  6. ローカルに保存できる

不満なところ

  1. 画像のアップロードができない。ローカルのファイルを指定して、文章と一緒にアップロードできたらいいのにな。
  2. Bloggerへの上書き保存ができない -> "Syncronize All"ボタンでなく"Publish this document"ボタンで上書き保存できました。

Written with StackEdit.

Firefoxでアドレスバーにhttpから全部表示させる

Firefoxでアドレスバーにhttpから全部表示させる。

ChromeもFireFoxもいつの間にかhttp://の部分が表示されなくなってたけど、どういう意味があるんだろ? スペースを取らないほうが良いといえば良いのかもしれないけど、なんとなく気持ち悪い気がする。あと、自分で設定したリダイレクトがきちんと働いてるか見るときに不便に感じたので(めったにないことだけど)。

手順

about:configを開いて
browser.urlbar.trimURLsを検索
値をfalseにする。

参考にしたページ

Firefoxを便利にする魔法の呪文「about:config」を使った裏ワザ10選 : ライフハッカー[日本版] http://www.lifehacker.jp/2013/10/131015firefox_aboutconfig.html