0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[メモ] 一般的な日本語配列キーボードで 変換キー+J(/K/L/I) を 矢印キー に割り当てる

Last updated at Posted at 2021-02-11

自分環境構築用のメモです。

市販されている一般的な日本語配列キーボードを使用しているのですが、矢印キーを打鍵しようとするとホームポジションから外れなければなりません。
Fnキーがあるキーボードだとホームポジションで済む場合がありますが、通常のキーボードでなんとかしたいのです。

やりたいことは、下記のようになります。

  • 変換キー+J -> ←キー
  • 変換キー+K -> ↓キー
  • 変換キー+L -> →キー
  • 変換キー+I -> ↑キー
  • 変換キー+H -> Homeキー
  • 変換キー+N -> Endキー
  • 変換キー+U -> PageUpキー
  • 変換キー+O -> PageDownキー
  • 変換キーの機能自体は使いたいので、カタカナひらがなキーはつぶす

そこで、ソフトウェアでなんとかするための設定です。

PowerToys(Keyboard Manager)

ショートカットの再マップ機能で、修飾子キー+文字を、矢印キーなどに割り当てることができます。
ただし、変換キーは修飾子キーにはならないため、変換キー+Jといった組み合わせをマッピングできません。

ここでは変換キーのことは置いておいて、代わりにAlt(Right)を修飾子キーとして使用し割り当てます。

image.png

スキャンコードのマッピング

Alt(Right)キーとの組み合わせができるようになったので、変換キーをAlt(Right)キー扱いにしたいと思います。
PowerToys(Keyboard Manager)にキーの再マップ機能があるので、これを使って入れ替えれればいいのですが、残念ながらできませんでした。(v0.31.2時点)

そこで、Windows側の設定でキーをマッピングします。
よくCaps Lockキーの入れ替え方法として紹介されている、スキャンコードのマッピングを行います。

レジストリーのKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout下のScancode Mapに、下記の設定を行います。

  • 変換キーをAlt(Right)キーに割り当て
  • カタカナひらがなキーを変換キーに割り当て

レジストリーの値は下記です。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,38,e0,79,00,79,00,70,00,\
  00,00,00,00

使用している値はスキャンコードで、Microsoftのドキュメントではscancode.docに記載があるようですが、面倒なのでSharpKeysというソフトを使って編集しました。
(編集が終われば不要)
編集後にログオフ&ログオンすれば反映されます。

これで望んでいたことができるようになりました。

制約

変換キーをAlt(Right)キーに割り当てているので、単体で押すと当然Altキーとして振舞ってしまいます。

また、コンテキストメニューのようなポップアップするメニューではメニューが閉じられてしまい、正しく動作しません。
(もしかしたらCtrl(Right)とかにすれば改善するかもしれません。)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?