at posts/single.html

HHK Lite (US配列) + USJP Pro な環境で Synergy から Mac を使う

こんなややこしい環境ってあまり無い気がするけど、自分がはまったので再インストール時に備えてメモしておく。 3年前(日記を読み返して気が付いたけど、本当にちょうど3年前だった)に、Windowsのキーボードを Happy Hakking Keyboard Lite (HHK) に買い換えた。 MacBook Pro のキーボードがあまり好きになれない(前に使っていたレッツノートのキーボードはカチカチしていて好きだった)こともあり、 MacBook Pro でも HHK を使いたいと思ったことがキッカケ。

これが3年前の写真。

Happy Hakking Keyboard Lite

こっちが今の写真。

MacBook Pro with HHK

Windows と Mac で同じキーボードを使うには、 Synergy を使うのがよさそう

Synergy のインストール

Windows版は公式サイトからダウンロードできる。 左サイドバーのLatest Releaseから1.3.1のバイナリを取得した。 Mac版は面倒だったので MacPort を使ってインストールした。

sudo port install synergy

Windows 側の設定

Windows に繋いだキーボードとマウスを使いたいので、 Windows 側がサーバ、 Mac 側がクライアントになる。

  • Windows にインストールした Synergy を起動
  • Share this computer's keyboard and mouse (server) を選択
  • Configure... ボタンをクリックし、 MacBook との接続を設定

Synergy の設定はちょっと癖がある。

  • Screen に Windows と Mac のホスト名を入力する
    • Windows のホスト名はマイコンピュータを右クリックして、「プロパティ」の「コンピュータ名」で確認できる
    • Mac のホスト名はコマンドラインから hostname コマンドを実行して確認できる。最後に .local が付く
  • Links に画面のどちら側を相手に繋ぐかを設定する。今回は右がWindows (machu) で左がMac (macbook.local)
    • 0 to 100% of the left of machu goes to 0 to 100% of macbook.local と設定
    • 同様に Mac の右側を Windowsの左側にも接続する。これをやらないと Mac 側から戻って来られない。
  • Options を開き、「Switch on double tap within」にチェックを入れる。画面の端でダブルタップすると相手の画面に移動するようになる。
    • Mac の画面の隅に Spaces と Expose を割り当てていて、誤操作防止のため。
  • AutoStart をクリックし、 When You Log In のボタンをクリックしてログイン時に自動起動する。
  • Start をクリックして Synergy をサーバとして起動。起動するとタスクトレイにアイコンが表示される。

Mac 側の設定

コマンドラインから起動する。

synergyc -f [Windows側のIPアドレス]

-f はフォアグラウンドで起動するためのオプション。 ちなみに MacPort でインストールした Synergy 1.3.1 は不具合がいろいろとあるみたい。 デーモンとして起動できないのもその一つで、パッチを当てると解消するみたい。 詳しくは以下のサイトが参考になる。ちなみに僕は面倒なので当てていない。

キーボードのマッピング問題

Windows から Mac を操作できるようになったけど、 Mac 側でキーボードを JIS 配列として認識しているようで、記号がうまく入力できない。

うちの環境ではキーボードは HHK の US 配列を使っていて、 USJP Pro というソフトを使って英語配列をエミュレートしている。 つまり、 Windows はキーボードを JIS 配列として認識している。 それがそのまま、 Synergy 経由で Mac に送られているので、 Mac でも JIS 配列として認識されているのかも。 例えば、 P キーの右の [ キーを押すと、 Mac 側では @ と表示される(JIS配列ではPの右は@)。

これじゃ使えないと思って色々と調べた結果、 Mac OS X: JIS配列キーボードをASCII配列で使いたい というページで公開されている JANSI を使うことで解決した。 ちょっとややこしいけど、以下のような状態になる。

HHK (US) → USJP Pro (US→JIS) → Windows (JIS) → Synergy (JIS?) → JANSI (JIS→US) → Mac (US→JIS)

これで、キーボードで入力した記号が、そのまま Mac でも出力される、と。 → 副作用で MacBook 側のキーボードも US 配列として認識されてしまう。 うーん。この方法じゃダメっぽいなぁ。 Mac 側の設定を簡単に切り替えるスクリプトを作るか、それとも USJP Pro のマッピング機能を使うのをやめるか…。 一応、 JANSI のインストール方法も残しておく。

結局、キーボード切り替えツールを使って Windows 側のキーボードを英字配列(AX)に設定し、USJP proの英字配列エミュレーションを使うのはやめた。 Mac側はJANSIの代わりにhttp://www.msyk.net/macos/winkeyboard/で紹介されているPS/2を入れてみた。 よく分からなくなってきたけど、以下のような感じか。もう自信ない。

HHK (US) → Windows (US) → Synergy (US) → PS2/J (US→JIS) → Mac (JIS)

JANSI のインストール

以下はMac側で作業した。

  • JANSI配列をMac OS X 10.4で使うから、「JANSI4Tiger.zip」をダウンロードする。
    • Tiger 用って書いてあるけど Leopard でも使えた。
  • ZIPを展開してできるJANSI.icnsとJANSI.keylayoutを、~/Library/Keyboard Layouts/ へ配置する。
  • 「システム環境設定」から「言語設定」を開き、「入力メニュー」の「JANSI」にチェックを入れる(忘れがちなので注意)。

JANSI

  • ことえりの場合 … 「ことえり環境設定」から、「英字入力時のキーボード配列」で「JANSI」を選択。
  • ATOK2008の場合 … 「ATOK環境設定」から「キーボード配列」の「英字入力時のキーボード配列」で「JANSI」を選択。

これで、 Synergy 経由で Mac にキー入力したときも、英字配列が有効になった。

その他のメモ

  • Alt キーが Mac の Command キーに対応する。コピーは Alt + C。
  • ATOK の ON/OFF は Alt + Space 。できれば別のキーに割り当てたいところ。

よくよく考えたら

以下の4つの環境を混在して使っている訳で、どれだけ面倒な環境を作ったんだと…。

  • JIS配列のWindows(MacのVmware Fusionで起動したWindows)
  • JIS配列のMac
  • US配列のWindows(HHKを接続したWindows機)
  • US配列のMac(HHKを接続したWindows機からSynergyで接続したMac)

関連する日記