MacBook USキーボード 日本語入力設定(Bootcamp,Parallels 仮想Windows両立)

いろいろ前例を調べたけどmacOSWindowsParallels上のWindowsを両立できなかったので,頑張った.

 

 長くなるので日本語入力に関係の無いキーリマップなどは別途説明します.

 

目次:

 

目標

  • macOSで日本語JISキーボードと同様にトグル切り替えで(英数,かなキーのように)日本語入力できるようにする.
  • Bootcamp領域のWindowsで(略)
  • Parallels DesktopによるBootcamp領域Windowsの仮想起動で(略)

 

環境

MacBook Pro Mid 2017 15インチモデル USキーボード

 

macOS

Karabinerによって解決可能です.

Karabiner

2018年現在,Karabinerは最新OSに対応していません(SierraでのOS側の変更によるもの).

代わりに「Karabiner Elements」 が用意されており,これを使用します.

Karabiner - Software for macOS

 

 1.Karabiner Elementsをインストール

 2.Karabiner Elementsを開いてキーボード設定画面が出たら,自分のキーボードを選択する

 3.Complex Modificationタブを開く

 4.Add ruleを選択

f:id:masa_flyu:20180306192945p:plain

5.Import more rules from the Internet (open a web browser)を選択

f:id:masa_flyu:20180306192951p:plain

6. 開いたWebページの下の方に行くとある,International(Language Specific)領域からFor Japanese(日本語環境向けの設定)をインポート(現時点ではrev 3しかない)

f:id:masa_flyu:20180306192939p:plain

以上です.

Commandキーとアルファベットの短時間差入力による誤作動


commandキーを英数・かなに割り当てたところでほとんど弊害は無いのですが,時々,commandキー直後に押したアルファベットと同時入力と判定されて不意にコマンドが発動してしまうことがあります.例えば長い文章をSafariで打ってた時にCommand+Wが作動してしまったら...

この問題の対処法は現在調査中です.

 

Windows on Bootcamp & Parallels

AutoHotkeyによって解決が可能. 以下の記事を多大に参考にしています.

shuymn.hatenablog.jp

日本語IMEの設定

Microsoft IMEの場合の説明です..

 

0. BootcampまたはParallelsからWindowsを開く

この先の操作はWindowsであれば仮想であっても問題ありません.

 

1. IMEのプロパティを開く

タスクバー通知領域の"A"または"あ"をクリックします.

右画像のように×と表示されている場合には,メモ帳開くと"A"や"あ"の表示に変わるはずです.

f:id:masa_flyu:20180308164214p:plain
f:id:masa_flyu:20180308164219p:plain


2.詳細設定からキー設定を変更

f:id:masa_flyu:20180308164230p:plain
f:id:masa_flyu:20180308164235p:plain


3.無変換キー,変換キーの割り当てを変更

”入力/変換済み文字なし”列の2箇所,無変換キーと変換キーの設定を書き換えます(画像はすでに書き換え済み).

無変換キーの設定を”IME-オフ”にします.

続けて,変換キーの設定を”IME-オン”にします.

f:id:masa_flyu:20180308164249p:plain
f:id:masa_flyu:20180308170100p:plain


これでIMEの設定は終了です.全てのウィンドウを閉じてください.

 

Auto Hotkey

1.AutoHotkeyWindowsにインストール

2.メモ帳で以下のテキストを書き,どこかにahk形式で保存する.

;IMEのプロパティなどから
;無変換キー → IME - オフ
;変換キー → IME - オン
;を設定しておくこと。

;応答が早くなるらしい?効果不明
#USEHOOK ON

;ParallelsでKarabinerが有効な時
vkEB Up::Send,{vk1D}  ;Mac用英数キー to 無変換キー
vkFF Up::Send,{vk1C}  ;Mac用かなキー to 変換キー

;Bootcampなどから
LWin::Send, {vk1D}  ;左Windowsキー to 無変換キー
RWin::Send, {vk1C}  ;右Windowsキー to 変換キー

#USEHOOK Off

 このファイルを"usmac.ahk"などahk形式にして保存します.保存場所はどこでもOKです.

 

3.コンパイルする

作成したahkファイルを右クリックし,「compile script」を選択します.

同じフォルダに.exe形式のファイルが作成されます.

 

4.試用する

作成された.exeファイルをダブルクリックします.

ウィンドウが出現した場合,エラーがある.エラー内容を確認のうえ,修正します.

何も出なければ成功です.タスクバーの通知領域に緑のHアイコンが出現しているはずです.

 

IMEの設定とAutoHotkeyの設定が共に完了していれば,この時点で正常に日本語入力できるはずです.

 

【おまけ】Auto Hotkeyスクリプトの解説

以上にのせたAuto Hotkey(以下AHK)のスクリプトParallels用のキー設定とBootcamp用のキー設定を合わせたものです.それぞれ解説します.

 

Bootcamp用

Bootcampでは左右のコマンドキーはWindowsキーとして機能します.

 

キーリスト - AutoHotkey Wiki によれば,左右のWindowsキーAHK上でLWin,RWinと表現されます.

また,

kts.sakaiweb.com

によれば,無変換キーの仮想コードは0x1D,変換キーのコードは0x1Cです.

そこで,各Windowsキーを無変換キー,変換キーに書き換えるようにします.

;Bootcampなどから
LWin::Send, {vk1D}  ;左Windowsキー to 無変換キー
RWin::Send, {vk1C}  ;右Windowsキー to 変換キー

 

Parallels

Parallelsでは左右のコマンドキーはWindowsキーとして機能します.

しかしながら,Karabinerが有効なとき,コマンドキー単独での操作は,JISキーボードにある英数キー,かなキーの操作に置き換えられてしまいます.

それらの仮想キーコードは0xEB,0xFFでした(Parallels上のWindowsでKeymillによって確認しました).

 

あとはBootcampのときと同様に無変換キー,変換キーに書き換えさせます.

;ParallelsでKarabinerが有効な時
vkEB Up::Send,{vk1D}  ;Mac用英数キー to 無変換キー
vkFF Up::Send,{vk1C}  ;Mac用かなキー to 変換キー

 

ここで,なぜ無変換キー,変換キーに変更するのかですが,

JISキーボードを搭載したMacでBootcamp上のWindowsを実行した時英数キーかなキーが無変換キー変換キーとして動作するからです.

 

よってIMEの設定を書き換える部分はJIS Macと同じ手順になります.