
カーソルキーやHOME, ENDキーに手を伸ばしてホームポジションを崩す事が地味に辛い……と思う今日この頃。
Macでは、コマンドとCtrl両方あって、ショートカットキーも充実しているけれど、私の使っているWindowsでは、カーソルキー等のショートカットキーはない様子……
と、ゆーことで、自分で作ることに。
以下はその方法の備忘録。
キーの配置を変更する
Change Keyを使う場合
Change Keyのインストール
窓の杜etc.からダウンロードして、任意の場所に解凍。
「Change Key」非常駐型でフリーのキー配置変更ソフト
……とココで、なぜかLZHが解凍できない、という問題発生。
どうやら、最近、Windows10に大規模なアップデート(Creators Update)が行われた事が原因のよう。
元々2010年頃から「lzh」形式の圧縮ファイルで、セキュリティ面での深刻な不具合が発見され、利用停止が呼びかけられていた。
で、今回のCreators Updateで、対応停止にした、という話のよう。
でも今回はlzhファイルを開く必要があるので、解凍アプリをインストールすることに。
使用したのは、「Lhaplus」(信用できるアプリ、という事なので。)
こちらも窓の杜からダウンロードし、
lzhにチェックを入れてインストール。
無事に、ChgKey15.LZHファイルを開く事ができた。
CapsLockキーをF13に変更
1. ChgKey.exeを管理者権限で実行 → 仮想キーボードが出てくる。

2. 変えたいキー=今回はCapsLockキーをクリック。
3. 「キーをどのキーに変更しますか?」というポップアップが出てくる。

4. F13は画面上にないので、右上にあるScan codeをクリックし、スキャンコードを直接入力。

5. 「F13」のスキャンコードは「0064」。
キー | 仮想キーコード(Vk) | スキャンコード(Sc) |
---|---|---|
F13 | 0x007C | 0x0064 |
F14 | 0x007D | 0x0065 |
F15 | 0x007E | 0x0066 |
F16 | 0x007F | 0x0067 |
F17 | 0x0080 | 0x0068 |
F18 | 0x0081 | 0x0069 |
F19 | 0x0082 | 0x006A |
F20 | 0x0083 | 0x006B |
F21 | 0x0084 | 0x006C |
F22 | 0x0085 | 0x006D |
F23 | 0x0086 | 0x006E |
F24n | 0x0087 | 0x0076 |
調査環境:Windows 10 64bit |
6. OKをクリックし、「CapsLock」を「F13」に変更。
- 基本、どのキーに変更してもよい。
- 他のショートカットキーと被らないように、今回はF13に変更した。
- 日本語配列のキーボードでは、変換/無変換キー等、使えるキーが多いが、私の場合は英語配列なので、その点だけちょっと不便……
7. Ctrl左をクリック→タブにある登録(R) → 「現在の設定内容で登録します(R)」をクリック。
(画面を閉じるだけではダメ。)
8. 再起動。
通常はこれでOK。
……けれど、私のPC環境では、なぜかうまくいかない……
調べてみると、半角/全角キーやCapsLockの場合、一旦HomeやEndなど、別のキーに割り当て → 再起動 してから、もう一度F13に割り当てる必要がある様子。
……再トライ……やっぱりダメ……
……米国版のKeyboardを使っていることが原因の可能性を指摘しているサイトも(ホント?)……
原因はよくわからなかったけど、結局、直接レジストリの変更を行うことで対応した。
レジストリ設定を編集する
❏ レジストリキーの値を変更する方法1:直接入力
1. Windows + R (もしくはメニューの「ここに入力して検索」に「run」)で、「ファイル名を指定して実行」を呼び出す。
2. 「regedit」を指定。
3. レジストリエディタが起動される。
4. キー[HKEY_LOCAL_MACHINE]を選択し、ツリービューを開く。
※HKEY_LOCAL_MACHINEの場合:HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Keyboard Layout
5. 右クリック → 「New」→「Binary Value」→「New Value #1」の所に「Scancode Map」と名前を変更し、保存。
6. 作成したScancode Mapを開き、Value data欄に下記入力。
00000000 00 00 00 00 00 00 00 00
00000008 02 00 00 00 64 00 3A 00
00000010 00,00,00,00
※ 因みに、この16進コードの意味は、
00,00,00,00,00,00,00,00,02,00,00,00,64,00,3a,00,00,00,00,00
①先頭の00,00,00,00はヘッダ。バージョン番号を示す。全て0に設定する必要がある。
② 続く00,00,00,00もヘッダ。フラグを示す。ここもすべて0でOK。
③ その次の02,00,00,00はエントリー数を表す。ココでは2エントリー。(1d,00,3a,00と、00,00,00,00 (NULL終端) の2つという意味。)
④ その次の64,00,3a,00が肝心の、キーコードを変換する部分。
- Capsのコードは3a、左Ctrlキーのコードは1d。
- 1d,00,3a,00が、003aを001dに変更する、という意味になる
⑤ 最後の00,00,00,00は終端を表す。日本語の句点のような感じ。すべて0で。
7. 実行して再起動。
※ 設定を戻したい場合は、追加したキーを削除する。
HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Keyboard Layout
→ ”Scancode Map” → 右クリック → Delete
❏ レジストリキーの値を変更する方法2:REGファイルを作って実行
1. 空のテキストファイルを作り、下記入力。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlKeyboard Layout]
“Scancode Map”=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,3a,00,3a,00,1d,00,00,00,00,00
※” Windows Registry Editor Version 5.00 “はファイルの先頭(1行目)にくるように
※” Windows Registry Editor Version 5.00 “の下には空行を入れておく
2. REGファイルにする。
2-1.「Scancode Map.reg」と名前をつけて保存。うまく保存できたら、.regのファイルができる。
2-2. REGファイルをダブルクリックして実行。
→ 色々壊れるかもしれないけど、本当にいいですか?みたいに聞いてくるので、「Yes」と答えて実行。
3. 再起動して反映。
……できた!
慣れれば、レジストリから変更するほうが楽かも。
AutoHotkeyでショートカットキーを割り当てる
AutoHotkeyのインストール
AutoHotkeyを下記からダウンロードし、インストール。
Free keyboard macro program. Supports hotkeys for keyboard, mouse, and joystick. Can expand abbreviations as you type them (AutoText).
ahkファイルの作成
1. ノートパッドなどのテキストファイルを作成し、拡張子:ahkファイル、文字コード:UTF-8にして保存。
※ 私は、使い勝手の良いテキストエディタを使用。使用しているのはVisual Studio Code ↓
Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.
※テキストエディタを使用する場合は、文字エンコードを「UTF-8 with BOM」で作成/保存する必要がある。(WindowsのワードパットUTF-8のテキストを作成した場合は、UTF-8で保存した時に自動的にBOMが追加される。)
BOM(バイトオーダーマーク)とは、Unicodeで記述された文書の冒頭に記載される短い符号で、使用されている文字符号化方式(文字エンコーディングの種類や、そのバイト順(エンディアン)を指定するためのもの。
右下にある表示がUTF-8になっていたら、そこをクリック → 「Save with Encoding」→ UTF-8 with BOMを選択 → 表示がUTF-8 with BOMに変更されていたらOK。
ちなみに、Visual Studio Codeのシンタックスハイライト機能は見た目的かなり便利(拡張機能インストールが必要)。
※Visual Studio Codeシンタックスハイライト拡張機能のインストール法 ↓
- 左側の拡張機能アイコンをクリック
- 検索ウインドウで「autohotkey」と検索
- 検索結果の一番上に出てくる「AutoHotkey 0.22」を選択し、「install」ボタンでインストール
2. 保存先は、どこでも良いけれど、私は他のPCでも使用したいので、Dropbox etc.のクラウドに保存し、スタートアップにショートカットを作成した。
(スタートアップに入れておけば、AutoHotKeyをマシン起動時に常駐させることができる。)
2-1. まず、AutoHotKeyを停止させ、Windows10のスタートアップフォルダを開く。
C:Users/ユーザー名/AppData//Roaming/Microsoft/Windows/Start Menu/Programs/Startup
私はAppDataからショートカットするのが
%AppData%/Microsoft/Windows/Start Menu/ProgramsStartup
2-2. Dropboxに保存しておいたahkファイルを、Altを押しながらスタートアップフォルダに移動。
2-3. スタートアップフォルダにショートカットが作成される。
ahkファイルの編集
1. 今回は、下記のように編集した。
#Requires AutoHotkey v2.0
;=====================================================
; 前提:CapsLock を F13 に割り当てている場合(必要なら有効化)
;CapsLock::F13
;=====================================================
;----------------------------
; カーソル移動
;----------------------------
F13 & b::Send "{Blind}{Left}" ; ←
F13 & f::Send "{Blind}{Right}" ; →
F13 & p::Send "{Blind}{Up}" ; ↑
F13 & n::Send "{Blind}{Down}" ; ↓
; 行頭/行末
F13 & a::Send "{Blind}{Home}" ; 行頭へ
F13 & e::Send "{Blind}{End}" ; 行末へ
; ページ移動
F13 & v::Send "{Blind}{PgDn}" ; PageDown
F13 & s::Send "{Blind}{PgUp}" ; PageUp
;----------------------------
; 削除系等
;----------------------------
F13 & d::Send "{Blind}{Del}" ; カーソル位置の1文字削除(Shift+D)
F13 & h::Send "{Blind}{BS}" ; 左1文字削除(Shift+H)
F13 & u::Send "+{Home}{Del}" ; 行頭まで削除(Shift+U)
F13 & k::Send "+{End}{Del}" ; 行末まで削除(Shift+K)
F13 & w::Send "^+{Left}{Del}" ; 直前の単語削除(Shift+W)
F13 & y::Send "{Home}+{End}^c" ; 行コピー
F13 & x::Send "{Home}+{End}{Del}" ; 行全体を削除
F13 & t::Send "{End}{Enter}" ; 行の下に新しい行を挿入
;----------------------------
; その他便利系
;----------------------------
F13 & Space::Send "{Blind}{Enter}" ; Enter
F13 & c::Send "^c" ; Cancel (Ctrl+C)
F13 & l::Send "^l" ; 画面クリア(
2. あとは、PCを再起動するか、ahkファイルを右クリックしてRun ScriptすればOK。
※以下、AutoHotkeyの備忘録。
- ホットキーのラベルには、大文字小文字の区別はない。
- 複合キーを指定する場合は「&」でつなぐ。このとき&マークの前後の半角スペースは必須。
- カーソルなどの役割系のキーは{}の中に記述。
- 途中に挟んである{Blind}は、他キーとの同時打鍵を有効にするもの。例えば範囲選択などの操作は、Shift + カーソルキーなどで行うが、{Blind}を記述することで可能となる。
キー | ラベル | 文字表記のラベル |
Shift | + | Shift |
Ctrl | ^ | Control (Ctrl) |
Alt | ! | Alt |
Win | # | |
AltGr※1 | <^?>! |
キー | ラベル | 修飾記号での表記 |
左シフト | LShift | ^+ |
右シフト | RShift | >+ |
左コントロール | LControl (LCtrl) | <^ |
右コントロール | RControl (RCtrl) | >^ |
左Alt | LAlt | <! |
右Alt | RAlt | >! |
左Win | LWin | <# |
右Win | RWin | ># |
キー | ラベル | |
Numlock ON | Numlock OFF | |
0 | Numpad0 | NumpadIns |
1 | Numpad1 | NumpadEnd |
2 | Numpad2 | NumpadDown |
3 | Numpad3 | NumpadPgDn |
4 | Numpad4 | NumpadLeft |
5 | Numpad5 | NumpadClear |
6 | Numpad6 | NumpadRight |
7 | Numpad7 | NumpadHome |
8 | Numpad8 | NumpadUp |
9 | Numpad9 | NumpadPgUp |
. | NumpadDot | NumpadDel |
/ | NumpadDiv | |
* | NumpadMult | |
+ | NumpadAdd | |
- | NumpadSub | |
Enter | NumpadEnter |
References
◆ ショートカットキー作成全般
本記事でやること Aの左隣のCapsLockキーをCtrlに変更する 右AltキーをF13キーに変更する F13キー + HJKLキーの組み合わせで矢印キーを実現する 検証環境 Windows 10 ThinkPad...
Windowsでカーソル移動のキーボードショートカットをMac風にする。キーボードショートカットを設定することで、ホームポジションから動かなくて済むようにしたい。
※ このポエムはUSキーボードを前提に書かれています。 ※ 2019.10.25 Windowsでよく出てくる「F2で編集」を「Ctrl+Alt+Enter」に割り当てました。 Windowsの気持ち悪いショートカット Wind...
ホームポジションを崩さないからテキスト入力が格段に速くなる つい先日、iMacに付属してたMagic keyboardから、2万円の高級&静音キーボード『RE...
マウスが無いとPCが使えないと思い込んでいませんか?実際には、マウスが無くてもPCは使えます。何らかの理由でマウスが手元にないときは(キーボードの新...
◆ カーソル等のショートカットキー備忘録
ども、ゆうせいです。Google日本語入力を使っている方に朗報です。矢印や三点リーダを一瞬で出す方法を教えてもらったので、ブログでご紹介したいと思います。 まず、「→」(矢印)を出したい時は何と入力していますか? ほとんどの方は、「やじるし」と入力していると思います。たしかに「やじるし」と入力すれば変換できるのですが、いろんな方向の矢印が出てくるので、そのとき必要な矢印を瞬時に選ぶことは難しいです。 また、矢印の方向を入力している人も多いかと思います。たとえば「うえ」とか「みぎ」とか。ま、これも有効な方法ではあるのですが、「上」と変換したいときにはスペースキーを何度か押すことになりますし、そのまた逆もしかりです。 Google日本語入力で矢印や三点リーダをすぐに出す方法 さて、前置きが長くなりましたが、これらを解決する入力方法をご紹介します。いずれも「ひらがな入力モード」で使用します。 矢印を入力するなら、 Z + Hで「←」(左矢印) Z + Jで「↓」(下矢印) Z + Kで「↑」(上矢印) Z + Lで「→」(右矢印) となります。 ZとHJKLを組み合わせるだけ。これで狙った方向の矢印を確実に一瞬で出すことが可能です。もちろん連続入力も可能なので、 左に注目して欲しいときには、 ZHZHZHZHZHと押すだけで、 ←←←←←となります。 最高に便利です。 さらに、よく使う表現として三点リーダー「…」がありますが、これもすぐに出すことができます。 Z + .で「…」(三点リーダ) たったこれだけです。もう「・」を三回入力して変換する必要はありません。 他には、 Z + ,で「‥」(二点リーダ) Z + -で「〜」(波線、波ダッシュ) Z + で「』」(二重閉じかぎかっこ) があります。 とくに「〜」はよく使いますね。 さいごに 最近はMac OSを更新してEl Capitanの日本語入力を使っているのですが、またGoogle日本語入力を使いたくなるほど素晴らしいです。 いろいろ組み合わせて、便利に使っていこうと思います。 それではまた。 ご存知、ゆうせいでした。 参考:Google 日本語入力
Unixライクな環境では必ず1度はお世話になるエディタと言えば「Vim」ですが、現代的な目線から見ると若干キーの操作が不思議なところがあります。特にカーソルの上下左右移動は横一列の「h・j・k・l」キーを使用...
◆ 「lzh」ファイル解凍のトラブルシューティング
◆ AutoHotKey全般
AutoHotkeyを使用したキーボードのカスタマイズについて記述しています。
今回は、Windowsで快適なプログラミング環境を作るためによく使われている「AutoHotKey」について、作業効率化のためにどのような設定を行っているかをご紹介します。 ※ AutoHotKeyは「Ctrl(Control)キーとCapslockキーを入れ替える」や「あるキーを組み合わせて押すとブラウザを開いてGoogle検索をする」などができるキーボードの入力をかなり自由にカスタマイズできる
◆ VSCodeについて
プロのエンジニアが愛用する、初心者でも使いやすいフリーのWindows向けテキストエディタを11個厳選して紹介する。 プログラミング初心者にとって役に立つはずだ。
AutoHotKeyはこれ以上無いくらいに便利なキーボードユーティリティですが、メモ帳で編集するのは面倒です。なぜっていちいち保存する必要があるシンタックスハイライトが使えない。だってメモ帳だもん常駐プログラム以外のファイルを編集するのには
前回はコマンドプロンプトを使ってPythonに触れてみましたが、やっぱりプログラミングといえばテキストエディタでしょ!ということで、今後はテキストエディタを使用して動かしてみたいと思います。今回はそのための準備段階として、エディタのダウンロ
◆ ChangeKeyでCapLocksが変更できない時のトラブルシューティング
AutoHotKeyで半角/全角キーやCapsLockは正常に扱えません。その理由と対策とは?
ChangeKey 今回は、ChangeKeyを使用して、WindowsキーをF13キーに変更する方法をメモしておきます。これは、AutoHotkeyでホットキーを設定するに当たって、Windowsキーをそのまま利用するのと、いろいろな条件下ではまることが分かったからです。Ctrlキーなども、F14-F24キーに割り当てると便利かもしれません。それに必要な情報(F13-F24の仮想キーコードとスキャンコードの一覧もメモしておきます。この記事は基本的にはAu...
◆ レジストリを変更する方法
Windows registry patch to use CAPSLOCK as F13. GitHub Gist: instantly share code, notes, and snippets.
WindowsのPC使っていると、ショートカットキーで Ctrl+C(コピー) Ctrl+X(切り取り) Ctrl+V(貼り付け) Shift+Ctrl+V(書式無視して値だけ貼り付け) Ctrl+A(全部選択) Ctr...
Windows で CapsLock を F13 に変更するには、2通りの方法があります。