AutoHotkey
Keyboard
karabiner-Elements

Mac上のVirtualBox Win10でJISキーボードをUS配列で使って英数かなキーも有効にする

とてもタイトルが長くなってしまいましたが、
これと同じことをやっているドンピシャ記事はなく、
意外と設定に苦労したので書いておきます。

TL;DR

  • 英数・かなキーの設定は、Karabiner-Elements使ってこの記事の通りにすればOK
    JISキーボードMacbookのWindows(VirtualBox)でもかなキーと英数キーでIME on/off する
  • MacでJANSIなど使ってUS配列にしててもVBoxのWinでは無視される
  • Win標準機能でUS配列(英語101/102キー)にすると英数・かなキーが無効になるのでNG
  • AutoHotkeyをインストールして以下の設定ファイルを作ってダブルクリック起動orスタートアップに登録
keymap.ahk
#UseHook

 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ; 1段目
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 +2::Send,{@}       ; Shift + 2         ["] -> @
 +6::Send,{^}       ; Shift + 6         [&] -> ^
 +7::Send,{&}       ; Shift + 7         ['] -> &
 +8::Send,{*}       ; Shift + 8         [(] -> *
 +9::Send,{(}       ; Shift + 9         [)] -> (
 +0::Send,{)}       ; Shift + 0         [ ] -> )
 +-::Send,{_}       ; Shift + -         [=] -> _
 ^::Send,{=}        ;                   [^] -> =
 +^::Send,{+}       ; Shift + ^         [~] -> +
 \::Send,{``}       ;                   [\] -> `
 +\::Send,{~}       ; Shift + \         [|] -> ~

 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ; 2段目
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 @::[              ;                   [@] -> [
 +@::{             ; Shift + @         [`] -> {
 [::]              ;                   [[] -> ]
 +[::Send,{}}      ; Shift + [         [{] -> }

 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ; 3段目
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 +;::Send,{:}      ; Shift + ;         [+] -> :
 :::Send,{'}       ;                   [:] -> '
 *::Send,{"}       ; Shift + :         [*] -> "
 ]::Send,{\}       ;                   []] -> \
 +]::Send,{|}      ; Shift + ]         [}] -> |

そもそもの僕の環境

MacBook Proに外付けUSキーボード(Matias Ergo Pro for Mac)を付けて、
Karabiner-ElementsでCommandキーを英数かなキーとして使いつつ、
本体キーボードはあえてJISを選んでJANSI使ってUS配列で使ってます。

普通のUSキーボードは左右Commandキーの位置が外側すぎて、
押すときに親指をすごく深く折り曲げないといけないので辛いんです。
でもそれ以外のキー配列はUS配列の方が好きなのです。

Matiasは、分離キーボードとして非常に使ってて楽ですし、
何よりスペースバーが短めで、Commandキーがスッと打てる。これならOK!
でもMacBook ProのUS配列はCommand外側すぎるので、
本体はJIS配列にしてソフトウェア的にUS配列に直すことで、
英数かなキーの恩恵も受けられるというわけなのです。

そのMacにVirtualBoxで構築したWindows10で同じようにしようとすると、
なかなか一筋縄では行かなかったのであります。

詳しい解説

めんどくさくなったので省略w

参考サイト

参考にしないほうが良いサイト

レジストリ編集(ダークサイド)です。それなりに時間かけて試したけど失敗したのでやめました。AutoHotkeyのほうがフォースにバランスがもたらされるとジェダイは考えます。