Winキーショートカットやロック機能は有効化したままWin+Lのみ無効化する【Autohotkey】

こんにちは。

キーボードのホームポジション固定(できるだけ手の位置を動かさないタイピング)にチャレンジしています。作業効率向上も目的の一つですが、ホームポジションが崩れると画面と手元の視線移動を伴うので、首や身体への負担になる気がします。姿勢が悪くなれば視力にも悪影響が出ますので、視力回復を目指すためにもまずは身体への負担を減らして作業を行えるPC環境を目指すつもりです。

「視力回復」の記事一覧です。

キーボードのホームポジション固定時に一つ気になる点として、Windowsキー(以降WIn)+Lショートカット問題が挙げられます。

Win+LはWindowsのロック画面へ移行するショートカットです。ホームポジション上のLキーを矢印キーなど使用頻度の高いキーに割り当てる場合、Win+Lと他のショートカットの重複が起きたり、別ショートカットの利用中の誤タイピングによってロック画面に移行してしまったりする恐れがあり、作業の妨げになるため少々面倒くさいです。願わくばロック画面へ移行するショートカットは、他のキーに移すか無効化したいものです。

しかしながら、Win+L無効」で得られる検索結果の方法は、いずれも「Windowsロック画面機能ごと無効化してしまう」方法です。Win+Lショートカットは無効化することができますが、同時に起動時やスリープ時のロック画面も使用できなくなってしまうため、ショートカットは不要だがセキュリティ上ロック画面を使用したい、という場合には不適切です。

当記事では

他のWinキーショートカットやWindowsロック画面機能は維持しつつ、Win+Lショートカットのみ無効化する方法

についてまとめようと思います。

Contents

Windowsキーショートカットの利便性と問題点

作業効率化を図る上で、Winキーを用いたショートカットには便利な機能が多数存在します。

ウィンドウとデスクトップの移動をスムーズに行える

ショートカットキーには、マウスの使用頻度を落とし、手の動きを少なくすることで作業効率を上げる目的があります。

Winキーを用いたショートカットは、主にウィンドウやデスクトップ移動に特化しているため、起動中のアプリの切り替えなどをマウス無しで行うことができます。使いこなせばマウスの使用頻度は格段に落とすことが出来ます。

便利な例を以下にいくつか紹介します。

  • Win+Tab→矢印キー 選択アプリの変更

(Windows10からの新ショートカットになります。旧バージョンに対応した選択アプリ変更ショートカットはalt+Tabキーです。)

  • Win+矢印キーでウィンドウの画面分割
    Win+←→でウィンドウを1/2に、更にWin+↑↓でウィンドウを1/4に
    ウィンドウを上に押し上げると最大化、下に押し下げると最小化
  • Win+Mでウィンドウの最小化
  • Win+Shift+Mで最小化されたウィンドウを元に戻す

  • Win+Tでタスクスイッチへ移行

この辺りのショートカットを覚えるだけでも、ウィンドウ操作が円滑になり、起動中のアプリをマウスで切り替える分の時間短縮につながります。

Winキーショートカットに関する参考サイト

Winキーショートカットについての参考ページは以下に挙げておきます。

Windows10の便利すぎる時短ショートカット10 これでサクサク操作できるよ! (主にウィンドウ操作)

Windows のキーボード ショートカット(Windows公式によるショートカット一覧)

ショートカットキーにはユーザーの好みがあるようで、「Winキー ショートカット」で検索しても用途に合ったショートカットキーが綺麗にまとめられたサイトは少ない印象です。用途別にショートカットキーを検索するか、一覧のショートカットキーを試しつつ自分に合ったものを少しずつ習得していくのが良いような気がします。

カスタマイズが簡単にはできない仕様

ショートカットを使いこなせば作業に大いに役立つWinキーですが、デメリットもあります。

Winキーを用いたショートカットキーは主にウィンドウ操作などOS上の操作を伴うため、カスタマイズが簡単にはできない仕様になっています。

WinキーなどOS標準設定のショートカットは簡単に変更できない

WindowsPCで使用できるショートカットには以下のようなものがあります。

  1. 特定のアプリケーションのみでショートカット
  2. 入力に関する一部のショートカット
  3. ウィンドウ操作などその他のショートカット(Winキー、2以外のCtrlやファンクションキー等を用いたショートカット)

1はアプリケーションごとのプロパティや設定画面からの変更が必要です。よく使うアプリは自分好みのショートカットに変更するのが最も便利にアプリを利用する方法になります。

2は英数やローマ字入力への変換、文字入力時のカーソル移動、DeleteやBackspaceキーがこれに当たります。入力に関するショートカットの一部は、
IME右クリック→プロパティ→詳細設定→全般タブの編集操作、変更からカスタマイズが可能です。

ただ、実際のショートカットの大半は3に分類されます。WindowsOSに標準で搭載されたショートカットキーで、Winキーを用いたウィンドウ操作などのショートカットキーはもちろん、コピー&ペーストなどのCtrlを使用したショートカットや、ファンクションキーを用いたショートカットの多くなどもこれに当たります。

これらはアプリ上の設定を変更するだけでは、カスタマイズや無効化を行うことが出来ません。OSの標準搭載ショートカットの変更や無効化を行うには、OSの設定変更を伴うため、特別な処理が必要となる場合が多く、中には変更不可なショートカットも存在します。

直接の変更が難しい場合には、changekeyAutohotkeyKeyMouXrなど専用のアプリを駆使してキーのカスタマイズを行う必要があります(後程使用します)。

Win+Lショートカット無効化を行う上での障壁

Windows標準搭載ショートカットは、キーのカスタマイズや利便性、操作性の向上を目指す人以外であれば、特段邪魔になることもありませんので、そもそもカスタマイズの必要が無いショートカットキーである場合がほとんどです。

しかし、Win+Lは無効化したい方も一定数存在するショートカットの1つであると同時に、その無効化が少し厄介なショートカットです。

以下にWin+Lショートカットの詳細と、無効化の際に生じてしまう障壁について少し紹介します。

Win+Lを無効化したい主な理由

他のキーに比べて、特にWin+Lキーを無効化したい理由として、以下が考えられます。

Windowsのロック画面へ移行してしまうため、誤操作したときに面倒くさい

Win+Lを押下すると、ロック画面へ移行します。

もしキーボード操作中の誤操作で押下してしまった場合でも、ロック画面並行してしまうため、再度PCを使用するためにパスワードの入力を求められます。

他のショートカットキーに比べて誤操作した場合の処理が面倒くさいという特徴があります。Winキーを日常的に使用することで誤操作が頻発してしまう場合は、Win+Lを無効化したり他のキーに置き換えて誤操作を回避したいということになります。

Lキーはホームポジション上にあるため、誤操作が起きやすい

Lキーは、ホームポジション上の右手中指の位置にあるため操作性が非常に優れているキーです。

日本語ローマ字入力をする場合にはLキーの使用頻度は少ないですが、キーカスタマイズを行う場合はこのLキーに使用頻度の高いキーを割り当てて挙げると生産性が高くなります。

例えば、ホームポジションからは遠い位置にある←↑↓→キーを、それぞれ無変換+JIKLキーに割り当てる方法が、以下記事で紹介されています。

今のキーボードの配列に満足していますか。 よく見てみるとキーボードには多くの無駄があります。例えばカーソル(矢印)キーはどうしてあんなに遠くにあるのか、BSキーやDELキーなんか...

矢印キーをホームポジション上で操作することによって、手の移動が格段に減るため誤タイプが少なくなり作業効率が向上します。

しかし、キー配置変更によって、画面分割ショートカットであるWin+矢印キーをWin+無変換+JIKLで操作しようとすると、Windows標準搭載のWin+Lキーが優先されるため、ロック画面に移行してしまいます。

このように、Lキーは非常に利便性の高い位置にあるため、Autohotkey等を用いて他のショートカットを割り当てたくなるのですが、この場合Win+Lキーと競合してしまうとロック画面にいちいち移行してしまうことになります。

Win+Lをロック画面ショートカットとして用いない場合は、何もこの位置にロック画面以降のショートカットが存在する必要が無いため、他の場所に移すか無効化してしまいたいということになります。

Win+Lショートカット「のみ」を1つの設定でに無効化することはできない

ここで問題なのが、Win+Lショートカットに特別に存在する障壁です。

Winキーを用いたショートカットの無効化についてはWeb上にもいくつか紹介されていますが、いずれの方法でも、Win+Lショートカットのみを無効化することはできません

ここではWeb上の情報の中で実際に試してみた方法と結果についてまとめておきます。

(Win+Lショートカットのみの無効化に成功した方法については後の項で紹介します。)

方法①.DisableLockWorkstationの作成

レジストリでDisableLockWorkstationの項を作成し有効化するというものです。

参考ページ
[Windows]+[L]無効にしたい
FF11:Windows 7でのWinキー+ L の無効化

しかし、この方法ではWin+Lショートカットのみならず、Windowsロック機能自体が無効化されてしまいます。ロック画面は使用したいがショートカットだけ無効もしくは他のキーに置き換えたい場合には適しません。

また、Windowsロック画面への移行はデスクトップにショートカットを作成して行うことができるのですが(後述)、DisableLockWorkstationではロック画面自体が無効になるため、他のショートカットを作成してロック画面に当てはめることもできません。

方法➁.DisabledHotkeysの作成

同じく、レジストリでDisabledHotkeysの項を作成し、無効にしたいキーを指定する方法です。

参考ページ
[Win]キーを使ったショートカットキーを無効にする

しかし、この方法でLを指定したとしても、Win+Lを押下すると画面がロックします。Win+LはDisabledHotkeysで無効化できないショートカットの一つのようです。

おそらく、WindowsロックはPCのセキュリティ上重要な機能であるため、ショートカットを容易に変更できないような仕組みになっているのでしょう…。

方法③.AutohotkeyでWinキーを他のキーに送る

Autohotkeyを使用して、Winキーを押した際に他のキーの役割を持つように変更します。

(Autohotkeyの使用方法については、後程Win+Lショートカットのみ無効化する方法で使用する際に簡単に説明します。)

例えば、Autohotkeyのスクリプトに

LWin::LCtrl

と記述し実行すると、左Winキーを押した際に左Ctrlの挙動を示してくれます。

そのため、Win+Cでコピー、Win+Vでペーストができるようになります。また、Win+TabキーはCtrl+Tabキーの挙動に変わるため、ウィンドウ切替ではなくブラウザ等のタブ切替ショートカットに変わります。

全ては確認していませんが、ほぼすべてのWinキーショートカットを無効化し、WinキーをCtrlキーに置き換えることが出来ます。

しかし、この方法でも、何故かWin+Lだけは無効化できず、押下するとロック画面に移行してしまいます。

この方法③自体は失敗に終わりましたが、この結果から、

  • AutohotkeyWinキーの位置をOS上で変更しているわけではなく、Winキーが押されたときにCtrlキーが押された際の挙動に変換している
  • Win+LはAutohotkeyの影響を受けない特別なショートカット
  • その他のWinキーショートカットはAutohotkeyでコントロールが可能

ということが推測できます。

テスト.ChangeKeyによるWinキーの挙動

方法③の結果を受けて、次に「他のキー(例えばF12)にWinキーを割り当てた場合はどうなるか?」についてテストしてみました。

次に使うのはChangeKeyというアプリです。

ChangeKeyもAutohoteky同様にキーボードのカスタマイズを行うことのできるアプリですが、原理や用途が異なります。

Autohotkeyは、キー配列を変えずに、キー(もしくはキーの組み合わせ)を押下した際に実行する操作を変更するもので、OSの変更なく使用が出来ます。

一方で、ChangekeyはOS上で認識されるキー配列(レジストリキーー)そのものをアプリ上で変更することができます。その為、既存の位置のWinキーを消去したり、別の位置にWinキーを設置したりすることも可能になります。

(ChangeKeyの使用方法についても、後程Win+Lショートカットのみ無効化する方法で使用する際に簡単に説明します。)

ここでは、ChangeKeyを用いてF12キーにWinキーを割り当てました。

この新たに割り当てたWinキーを用いてショートカットの動作を確認したところ、Win+L含む全てのショートカットが動作しました。

この結果から、

  • ChangeKeyを用いたレジストリキーの変更を行うと、Win+L含む全てのショートカットキーを他のキーに移すことが可能

であることがわかりました。

各設定によるキー機能への影響をまとめると

ここまでの結果をまとめると…

  • DisabledHotkeysはロック機能自体を無効化してしまうため、ショートカットのみの無効化には適していない
  • DisabledHotkeysを変更してもWin+Lは無効化できない
  • Autohotkeyを用いるとWin+L以外のWinキーショートカットを他のキーに移すことができる
  • ChangeKeyを用いるとキー配列そのものを変更することができるため、Win+Lキーを含むすべてのWinキーショートカットを別のキーに移す

となります。

Winキーの機能はそのままに、Win+Lのみ無効にする方法

では、以上の結果から

Winキーのショートカット機能はそのままに、Win+Lショートカットのみ無効化する方法

について紹介します。

Win+Lのみ無効化するための手順

ここまでのテストの結果から、Win+Lのみを無効化する手順をまとめると

  1. ChandeKeyを用いてWin+Lキーを含むすべてのWinキーショートカットを無効化させる
  2. AutoHotKeyを用いてWin+Lキー以外のショートカットを元に戻す

となります。

ChangeKeyを用いたWinキーショートカットの無効化

Win+Lキーを無効化するには、まずChangeKeyを用いて、Win+Lを含む全てのWinキーショートカットを、初期状態のWinキーの位置から排除しなければいけません。

まずは、キーボード上のWinキーの位置に、F13などの仮想キーを割り当てます。Winキーの位置はWinキーではなくなるため、Winキーの位置を押下してもWinキーショートカットが動作しなくなります。(説明わかりにくいか…)

ChangeKeyの使い方も含めて手順を説明します。

  1. まず、こちらのリンクからChangeKeyをダウンロードしてください。インストールしたファイルをダブルクリックで開くと、PCのデスクトップ上に自動で「ChgKey15」というファイルが作成されます。
  2. 「ChgKey」を右クリックし管理者権限で実行します(管理者権限で開くことで、OSのレジストリキーの設定を変更することができます)。
  3. Winキーを選択します
  4. 変更後のキーの選択画面が表示されるため、Scanmode(右上)を選択します。
  5. スキャンコードを入力します。スキャンコードとは、各キーの機能に割り当てられているコードです。また、実在するキーのみならず、F13~F24など、キーボード上に実在しない仮想キーを割り当てることもできます。(こちらのページには、仮想キーのスキャンコードが記載されています。)
    F13キーのスキャンコードは0064なので、0064を入力することで、Winキーの位置にF13キーを割り当てることができます。
  6. 「登録」→「現在の設定内容で登録します」を選択しPCを再起動することで、変更内容がPCのレジストリキーに反映されます。

この操作を実行することで、キーボード上のWinキーの位置にはWinキーの機能はなくなり、新たにF13キーが割り当てられます。

再起動後にWinキーの位置を押下してテストしても、Win+L含むすべてのWinキーショートカットが動作しなくなっていることが確認できると思います。

Autohotkeyを用いてWin+L以外のWinキーショートカットをF13に対応させる

ChangeKeyによってWinキーの位置にF13キーを配置することができました。次に、Autohotkeyを用いてF13キーを押下したときにWinキーを押下した挙動を示すように変更します。

Autohotkeyを用いるとWin+Lキー以外のショートカットの挙動を移すことができるため、これによりWinキーの位置に配置されたF13キーでWin+L以外の全てのWinキーショートカットを使用できるようになります。

以下に手順を示します。

Autohotekeyのインストール

  1. こちらのページから「Download」→「Download Current Version」をクリックします。
  2. インストールしたファイルを開き、Autohotkeyをインストールします。

スクリプトファイルの作成と実行

  1. Windowsのメモ帳を開きます。
  2. メモ帳に F13::LWin と記述します。これにより、F13キーを押下した際に左Winキーを押下したときと同じ挙動を与えることができます。
  3. 「名前を付けて保存」から、ファイル名を「〇〇.ahk」にして保存します。
    (拡張子に.ahkを指定することにより、Autohotkeyで実行できるスクリプトファイルになります。)
  4. 保存したスクリプトをダブルクリックで実行します。

この操作により、Winキーの位置に配置されたF13キーに、Winキーを押下した際と同様の機能を与えることができます。但し、Win+Lだけは特別で、F13キーを用いて画面ロックを行うことができないため、結果的にWin+Lだけが無効化された形になります。

スクリプトを開いた際にエラーが表示されなければ正常に動作しているため、実際に

  • Winキーショートカットは機能するか
  • Win+Lは無効化されているか
  • Windows起動時のロック画面は正常に使用できるか

についてテストをしてみてください。

スクリプトファイルをスタートアップに登録する

以上の方法でWin+Lを正しく無効化することができたら、次にスクリプトファイルをスタートアップに登録します。これにより、PC起動時に自動的にスクリプトファイルが実行され、Win+Lの無効化を自動で行ってくれます。

手順を以下に示します。

  1. 左下のWindowsボタンを右クリックします
  2. 「ファイル名を指定して実行」をクリックします
  3. shell:startup」と入力しOKをクリックします
  4. スタートアップフォルダに、作成したスクリプトファイルのショートカットを保存しておきます

Windowsロック画面へ移行するショートカットを新たに作成する

Win+Lキーを利用したロック画面へのショートカットは以上の方法で無効化することができますが、引き続きロック画面へのショートカットを使用したい場合は、別のキーをロック画面のショートカットに設定してやる必要があります。

ロック画面移行ショートカットの作成

方法を以下に示します。(参考ページ)

  1. ロック画面へのショートカットをデスクトップ上に作成します。
    デスクトップ上で右クリック→「新規作成」→「ショートカット」を選択します。
  2. 「rundll32 user32.dll,LockWorkStation」と入力し「次へ」をクリックします。
  3. 「ロック」などわかりやすい名前を入力して「完了」します。

ショートカットにキーを割り当てる

作成したデスクトップ上のロック画面移行ショートカットにキーを割り当てます。

  1. 作成したショートカットを右クリック→「プロパティ」を選択します。
  2. 「ショートカットキー」をクリックし、好みのキー(もしくはその組み合わせ)を押下して選択し「OK」をクリックします。

上の画像例ではF11キーをロック画面ショートカットに設定しています。PCの設定や他のショートカットとの干渉などによって機能しないキーもあるようなので、実際にロック画面に移行するかどうかを確認してください。

この設定により、Win+Lとの紐づけを解除したロック画面移行のショートカットを、F11キーワンボタンを押すだけで実行できるように変更することができます。

あとがき

Win+Lというショートカット1つを無効化するのに面倒なステップをいくつか踏まなくてはいかず、少々厄介ではあります。

しかし、一度設定してしまえば、以降は煩わしい誤操作も減らすことができます。

参考になりましたら幸いです。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする