Windows11でJIS配列とUS配列のキーボードを可能なかぎり両用したい

# はじめに
Qiita Advent Calendar 開催中ですね。今宵も、筆者は完走賞のために、ノートパソコンのキーボード( JIS 配列)をカチャカチャとタイピングしています。そんな私のキーボード事情ですが、以前に US 配列のものを誤って購入してしまいました。そこで、両配列のキーボードを気分で乗り換えられればよいなと思い、本記事に至ります。頻繁に Windows の設定をいじることがないので、自身の備忘録としてこの小ネタをまとめていきます。

システムの根幹的内容を変更するわけではないので致命的な問題は発生しないと思われますが、**あくまで自己責任でお願いいたします**。基本的には、本記事の手順に手順で行った設定の変更を元に戻せば解決されるかと思われます。

## 本記事について
本記事では JIS 配列と US 配列のキーボードを可能な限り二刀流で利用することを目的に、Windows の設定アプリで変更していきます。しかし、筆者が調べた限り、標準の設定アプリによる正規の方法では限界があるようです。この記事で紹介する方法で実現できることは次に限ります。

:::note info
実現できること
- JIS 配列のキーボードは日本語の言語モードで全てのキーを正常に利用できる
    - 半角英数字，ひらがな、全角カタカナ、etc
- US 配列のキーボードは英語の言語モードで半角英数の入力を正常に利用できる
- US 配列のキーボードは日本語の言語モードで仮名文字 (ひらがな + カタカナ)を正常に入力できる
- 言語モードはマウス操作もしくはキーボードのショートカットで変更できる
:::

一方で、次の要件は満たすことができません。

:::note alert
実現できないこと
- JIS 配列のキーボードは英語の言語モードで一部の記号を正確に入力できない
    - 例: ```[``` を打鍵したはずが、 ```]``` と入力される
- US 配列のキーボードは日本語の言語モードで一部の記号を正確に入力できない
    - 例: ```[``` を打鍵したはずが、 ```＠``` と入力される
- どちらの配列のキーボードでも英語の言語モードでは日本語入力ができない
:::

# キー配列の違い
キーボードの配列には次のような種類があります。

>![Physical_keyboard_layouts_comparison_ANSI_ISO_JIS.png](https://upload.wikimedia.org/wikipedia/commons/7/74/Physical_keyboard_layouts_comparison_ANSI_ISO_JIS.png)
> 『キー配列 - Wikipedia』の画像「物理配列」より引用
> 
> https://ja.wikipedia.org/wiki/キー配列

1つ目の ANSI 米国国家規格協会のキーボードが US 配列です。恐らく、私たち日本人が見慣れているのは、3つ目の JIS 配列のキーボードではないでしょうか。なお、2つ目の ISO 国際標準化機構のキーボードは本記事で言及しません。

特徴的な違いとしては [Enter] キー(画像では [Return] キー)の形状が挙げられますね。US 配列は横長の長方形、JIS 配列は上下左右に反転した L 字型の形状をしています)。また、図には記載されていませんが、```[``` や ```]``` など一部の記号キーは配置されている箇所が異なります。

# 手順
1. [言語の追加](#言語の追加)
1. [レイアウトの確認](#レイアウトの確認)
1. [操作方法](#操作方法)

それではやっていきましょう！

## 言語の追加
### 設定アプリを開く
デスクトップ画面左下にある Windows のロゴマークをクリック、もしくはキーボード上にある Windows のロゴを押してスタートメニューを開いてください。そして、検索ボックスに「設定」と入力してください。

<img width="50%" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844961/eb760210-05e0-9f89-032b-6a98e5142945.png">

表示された「設定アプリ」をクリックして、アプリケーションを起動します。

<img width="50%" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844961/16608370-c5c6-6c1d-d1dc-5e0f23925276.png">

## 言語のインストール
設定アプリの画面左側から [時刻と言語] を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844961/d405c94b-c1d3-3958-5c90-a3f388b83845.png)

[言語と地域] を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844961/fc9f63df-6df2-4504-ccdf-8588ede62005.png)

[優先する言語] という項目の [言語の追加] をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844961/4e9dc6e6-8bd4-2f91-5fca-7c0584060bb5.png)

アメリカの英語設定「English (United States)」を選択して、[次へ] をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844961/0dd7335f-469f-d955-0556-5f2197615269.png)

[言語パック] などの項目が有効になっていることを確認して、[インストール] をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844961/cab5b999-e74c-a530-4d11-be8e43a7dbac.png)

次の画像のように、言語パックに「英語 (米国)」が追加され、インストールが始まります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844961/47debce6-f8e3-3990-a64e-92b5bcc1f5fc.png)

## レイアウトの確認
言語パック「日本語」のメニューボタン [...] をクリックして、[言語のオプション] を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844961/423b438e-93f8-2d7c-f357-ff2112e72b67.png)

[キーボード] 欄にある [キーボードレイアウト] にて「日本語キーボード (106 / 109 キー)」と表示されていることを確認してください。これは、言語モードが日本語のときに、キーボードが JIS 配列として認識されることを示しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844961/e4f341d6-5a2e-cdbe-4774-1dbf883a28af.png)

### 「英語キーボード (101 / 102 キー)」の場合
次の画像のように、[キーボード] 欄にある [キーボードレイアウト] にて「英語キーボード (101 / 102 キー)」と表示されている場合、言語モードが日本語のときに、キーボードが US 配列として認識されます。従って、JIS 配列キーボードで日本語を入力している際に、一部のキーが正常に入力されません。この症状を解決したい場合は、「レイアウトを変更する」をクリックしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844961/ba99d1c9-a7d5-1418-16be-33baabaef989.png)

「ハードウェア キーボード レイアウトの変更」というウィンドウが立ち上がります。[英語キーボード (101 / 102 キー)] をクリックしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844961/c843e26d-97d0-0b23-d64a-97ef92f16873.png)

表示されたメニューから「日本語キーボード (106 / 109 キー)」を選択してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844961/d056f308-ee7a-4152-b3a6-2a220e64f815.png)

レイアウトの変更を反映させるために「今すぐ再起動する」をクリックしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844961/be77d805-5d88-f813-44fb-0458ceec6f7e.png)

以上で設定の変更は完了です。

## 操作方法
### キーボードの切り替え方法
デスクトップ画面右下にある [Ⓙ] もしくは [ENG] をクリックすると言語設定を変更できます。この操作は、Windows ロゴのキー + [Space] のショートカットキーでも同様の動作ができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2844961/907963b0-a6d6-f04b-d8d4-1527b34a82ab.png)

各言語設定について [日本語] では JIS 配列、[英語 (米国)] では US 配列のキーボードが正常に動きます。[日本語] の設定で US 配列のキーボードを利用すると一部の記号キーがタイピングと一致しない入力となりますが、アルファベットの入力は問題がありません。

### 使い分け(筆者の例)
利用例として、筆者の使い分けを示します。

#### JIS 配列のキーボードを使うとき
- ブラウジングや文書作成など日常的な利用
- 言語設定は [日本語] の固定

#### US 配列のキーボードを使うとき
- コーディングをするとき
- 言語設定は [日本語] と [英語 (米国)] を使い分ける

    |言語設定|使用内容|
    |---|---|
    |日本語|コメントアウトなど日本語のみを入力したいとき([英語 (米国)]の設定では [半角/全角] の概念がないため)|
    |英語 (米国)|記号やプログラムを書くとき(筆者の主観では記号の入力が楽)|

# おわりに
ライフハックと呼べるかどうかも分からない内容でしたが、ここまで読んでいただきありがとうございます。欲を言えばショートカットキー1つで JIS 配列と US 配列の切り替えをシームレスにできればよいのですが、標準の設定アプリでは難しそうです。各配列モードを制御できるソフトウェアとかないものですかね、ないなら開発を挑戦してみようかな...。