Windowsで押したキーを画面に次々と表示する方法を紹介します。

Table of Contents

はじめに

ブログでGIFを作ったり、プレゼンテーションでツールのデモをするとき以下のように感じたことはないでしょうか?
『この操作をしているときにどのキーが押されているのかを画面に表示したい..!!』と..。

こういう感じのやつです😄

Macでは候補がいくつかありますが、Windowsでは使いやすいツールがありませんでした。

そこで今回はWindowsでも使えるツールを探した結果、KeyCastOWを試してみました。

環境

対象 バージョン
Windows 10 Home 10.0.17134
KeyCastOW 2.0.2.4

KeyCastOW

正式名称はKeyCast On Windowsのようです。
Mac用にKeyCastというOSSツールがあり、そのインスパイアにあたると思います。

インストール

Chocolateyからインストールします。

exeファイルは以下2箇所にインストールされます。

  • C:\ProgramData\chocolatey\bin\keycastow.exe
  • C:\ProgramData\chocolatey\lib\keycastow\tools\keycastow.exe

exeを実行して、キーを打ってみると画面に表示されると思います。

GitHubでexeが提供されていないのはなぜ?
以下のIssueで言及されているように、マルウェアとしてレポートされてしまい消さざるを得なくなったとのことです..。

動作速度

他の類似ツールと比較しても非常にスムーズな動きです。
実行中の方が少し反応鈍くなりますが、必要なときだけ使うのであれば全く問題ないレベルだと思います。

PythonやAutoHotKeyでなく、C++で実装されているだけのことはあると思いました。

設定が永続化されない場合は..

設定を変更してSaveしても、KeyCastOWを再起動すると元に戻ってしまう場合はkeycastow.exe管理者として実行してください。

Chocolatey経由の場合はiniファイルがC:\ProgramData\chocolatey\lib\keycastow\tools\keycastow.iniにインストールされます。
このファイルには管理者以外の書き込み権限が付与されていないため、通常起動時は設定が永続化されません。

変更をしない場合は通常の起動でもOKです。

※ もっとスマートな解決策募集中です.. 🙇

AutoHotKeyと共存するには

私はAutoHotKeyのヘビーユーザーです。
AutoHotKey無しで開発をすることはあり得ませんし、Windowsを支持する最大の理由の1つにもなっています。

AutoHotKeyはスクリプトの性質上、キーボードと連動するツールと非常に相性が悪いです。
今までにWindowsで同様のツールを探しましたが、ほぼ全てのツールがAutoHotKeyとの連動が上手くいかずに断念しました。

しかし、KeyCastOWは条件を満たせばAutoHotKeyと共存できます!! これは本当に素晴らしいことです👏

その条件とは KeyCastOWより後にAutoHotKeyを起動すること』 です。
Reload This Scriptによる再起動でも問題ありません。

AutoHotKeyをお使いの方はKeyCastOWを起動したあとにReload This Scriptを実行するようにしていきましょう😄

筆者の設定

参考までに筆者の設定(iniファイル)を公開しておきます。

keycastow.ini
[KeyCastOW]
keyStrokeDelay=1000
lingerTime=1200
fadeDuration=310
bgColor=4934475
textColor=16777215
labelFont=E0FFFFFF000000000000000000000000BC020000000000000A02013153006F007500720063006500200043006F00640065002000500072006F000000000000000000000000000000000000000000000000000000000000000000000036
bgOpacity=200
textOpacity=200
borderOpacity=50
borderColor=0
borderSize=8
cornerSize=20
labelSpacing=1
maximumLines=10
offsetX=1192
offsetY=1560
visibleShift=0
visibleModifier=1
mouseCapturing=0
mouseCapturingMod=0
keyAutoRepeat=1
mergeMouseActions=1
alignment=1
onlyCommandKeys=0
tcModifiers=1
tcKey=66
branding=Hi there, press any key to try, double click to configure.
comboChars=<->

使用しているフォントはSource Code Proです。

以上の設定をしてから撮影したGIFが以下です。

どうも私は無駄にESCを押すクセがあるので、少しずつ直していかなければと思いました..😅

総括

Windows環境にて、KeyCastOWを使ってキーボードで押したキーを画面に次々と表示する方法を紹介しました。

Vimやショートカットキーに関する記事を書くときは一層捗ると思いますので是非試してみて下さい。 近々あるVimのプレゼンや、本ブログの記事でも有効活用していこうと思っています😄