Mac と Amazon Linux WorkSpaces の組み合わせでアンダーバーを入力する


Amazon WorkSpaces (Linux US 版) に MacBook Pro (JIS キーボード) からつなげていますが、残念ながらこの組み合わせだと初期状態で "_" (アンダーバー) を入力できません。

試行錯誤の末、とりあえず対症療法でごまかせたので、備忘録として手順を残しておきます。

原因

アンダーバーが入力されないのは、既定でアンダーバーのキー(右 shift キーの左にあるキー)がサウンドの音量を上げるキーとして割り当てられているためでした。

そもそも、なぜ割り当てがおかしくなるのかは分かりません

回避方法

システムの設定を書き換えて、音量を上げるキーをアンダーバーキーにマッピングしました。

手順

警告: この方法はシステムのファイルを書き換えるため、自己責任で行ってください。誤って設定すると、キーボードの入力ができなくなるなどの重大な不具合が起きる可能性があります。

  1. 何かあったときにリカバリできるように、書き換え対象のファイル (/usr/share/X11/xkb/symbols/inet) をバックアップしておく。
  2. テキストエディタで /usr/share/X11/xkb/symbols/inet を開く。(システムファイルを書き換えるため、root 権限が必要。)
    例: sudo pluma /usr/share/X11/xkb/symbols/inet
  3. 次の行を探す。

    /usr/share/X11/xkb/symbols/inet
        key <VOL+>   {      [ XF86AudioRaiseVolume  ]   };
    
  4. 変更前に、念のため行を複製して、片方の行をコメントアウト。

    /usr/share/X11/xkb/symbols/inet
    //    key <VOL+>   {      [ XF86AudioRaiseVolume  ] };
        key <VOL+>   {      [ XF86AudioRaiseVolume  ]   };
    
  5. コメントアウトしていない方の行の "XF86AudioRaiseVolume" を "underscore" に書き換える。

    /usr/share/X11/xkb/symbols/inet
    //    key <VOL+>   {      [ XF86AudioRaiseVolume  ] };
        key <VOL+>   {      [ underscore  ] };
    
  6. 変更を保存して、エディタを終了。

最後にシステムを再起動すると、無事アンダーバーを入力できるようになりました

はやく公式になおってほしいです。