BETA

JIS配列とUS配列の設定をさっと変更する

投稿日:2020-06-15
最終更新:2020-06-15

はじめに

私はプログラミングを行う際は US 配列のキーボードを好んで使用します。
理由としては、プログラミングの際に頻繁に打つ記号などが US 配列だと JIS 配列より打ちやすいからです。
ですが、会社で渡されるキーボードやノート PC のキーボードの配列は、特別な事情がない限り JIS 配列のものとなっています。
これが悪いと言いたいのではなく、私物の US 配列キーボードを利用するとなると設定を変更してやらなければなりません。
この設定において、Windows め……と思いながら工夫した出来事があったので共有します。

ノートPCで、US配列とJIS配列の共存はできなくなっている

職場で、複数人のチームメンバーで共同利用しているノート PC があります。
もちろん JIS 配列です。
単純に Windows の設定を変更して、101 キーボードにしてしまうと他のユーザーの設定も変更されてしまいます。
不思議ですよね。
ユーザーごとキーボードの設定を分けられたのなら悩みなんてなかったんですけどね。

どうにか自身のユーザーだけキーボード配列を変更できないか調べてみたところ、同じ悩みを抱えた方が解決方法を共有してくれていました。
どうやら、レジストリキーを変更することで外部接続したキーボードだけ US 配列として認識するようにしているようです。
なんとノート PC の JIS 配列キーボードはそのままだそうで、こんなにもうってつけな方法が見つかって良かったと安堵しました。
ここではその方法については触れませんが、共有された手段を試してみたところ自身の環境でも成功しました。

外部接続したキーボードが、しっかりと US 配列で入力できています。
では、ノート PC 側の入力はどうなっているかと「Shift + 2」を入力したところ、「"」が出てきました。
失敗ですね。

こういう悲しんでいる人が多そうなネタは、Twitter で調べると解決策や原因が判明したりします。

どうやら、レジストリキーを利用した JIS 配列と US 配列の共存は出来なくなってしまったようですね。
なんということでしょう……。

環境

OS : Windows10 Home
Ver: 1909

対策

対策1:言語を追加して、適宜言語を切り替える

脳がバグるものの、あまり特別なことをしない解決策です。

もしも日本語配列キーボードと英語配列キーボードを併用する環境の場合は、別途「英語言語」を追加し、キーボードの入力方式を切り替えて使用するのがおすすめです。
USキーボードと日本語キーボードの切り替えは、【Windowsキー+Spaceキー】で行えます。

https://enjoypclife.net/2016/10/17/windows-10-us-keyboard-layout-japan-tips/

対策2:Shellによるレジストリキーの書き換え

当初、対策1を試していたもののあまりにも不便だったので、何か別の解決方法を考え続けました。
その結果思いついたのが、「レジストリを書き換えてキーボード配列を変更できるのであれば、Shell で処理したらいいんじゃね?」です。

早速レジストリを書き換える Shell の作成に取り掛かろうとしたところ、既に同じことを考えて実践されている方がいらっしゃいました。
https://github.com/Takeru-chan/chgkbd/blob/master/README.md

製作者には深い感謝を贈ります。

ちなみに、下記の手順を毎回実施するのは非常に面倒です。

  1. 管理者権限で Power Shell を立ち上げる。
  2. Power Shell でスクリプトを実行出来るように権限を変更する。
  3. スクリプトを実行する。
  4. 実行権限を戻す。

仮に、実行権限を付与したままにするとしても、Power Shell を立ち上げてプログラムを実行するのは面倒です。
もし、長期間自分しかノート PC を利用しないのであれば良いですが、頻繁に設定を戻す事が必要なのであれば随分な苦労です。
ですので、まずはお借りしたスクリプトをどこかに設置して、ショートカットを下記の 2 つのパスで作成します。

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -File "スクリプトのパス" jp  
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -File "スクリプトのパス" en  

あとは、作成したショートカットを任意の場所に置いて、必要な時に管理者権限で実行すれば良いだけです。
Windows を再起動すると、キーボードの配列が変更された状態になります。
ログオフでも設定が有効になるとの噂もあります。

おわり

これ、US配列のキーボードが共存できないのであれば普通にWindowsの標準の設定変更を行えば良いのでは……?
いや、設定する場所を探して毎回変更するより手順が少なくて便利になるから良いよね!

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

気になった技術や、開発を楽にするテクニックなどについて書きます。 基本的に備忘録として記事を投稿します。

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう