画面上で押しているキーをレンダリングするWindowsユーティリティ[終了]


52

私は大勢の人々にリモートでトレーニングを行っており、多くのアプリケーションショートカットキーを扱っています。

MousePoseのキーストロークの画面表示を見ました。Windows用の同様の製品はありますか?

MousePoseスクリーンショット

MousePoseの他の機能(ファンシーマウスポインターなど)は、私にとってはあまり有用ではなく、キーを押すだけのOSDです。

回答:


36

KeyPoséは、Windows用のMousePoséの無料の代替品です。スクリーンキャストで実際に見ることができます。

サンプルのスクリーンショットは次のとおりです。

代替テキスト


@リチャードは大歓迎です!
ジョンT

4
問題があると思います。キーを表示する位置を変更することはできません。キーを押していない場合でもグレーゾーンが表示され続けることがあり、win / superキーも表示されません。ctrl + alt + cのように2つ以上のキーを押す組み合わせは、最初のCTRL、次にALT(CTRL + ALTを表示する必要があります)、最後にCTRL + ALT + Cのように奇妙な方法で表示されます。何もないよりはましですが、より良い選択肢があると思います。
ラゴスの変更

何らかの理由でTabキーを登録しない
...-laggingreflex

WINコンビナトインを登録せず、CTRL + SHIFT + ESCを表示しませんでした。えー
Ev0oD

1
以下のカルナックを使用してください。両方をテストしましたが、Carnacはさまざまな視覚オプションを提供します。github.com/bfritscher/carnac/releases/tag/v3-beta
甲斐ノアック

13

カルナックを強くお勧めします。GitHubでホストされている無料のプロジェクトです。

プレゼンテーション、スクリーンキャスト、およびより優れたキーボードユーザーになるためのキーボードロギングおよびプレゼンテーションユーティリティ。

GitHubで適切に実行され、適切に設計され、オープンソースでもあります

スクリーンショット

ここでマウス入力の修正と視覚化を含むフォークリリースを見つけます:https : //github.com/bfritscher/carnac/releases/tag/v3-beta


興味深いが、KeyPoséほど美しいレンダリングではありません。
Basj

プロジェクトページはcarnac.applicationファイルのみを提供し、youtubeビデオyoutube.com/watch?v=qSUDfzUkwncはを示しますCarnac.exe。直後にcarnac.application、Windowsで起動でき、プログラムをダウンロードしてインストールすることに気付きました。ここでもzip / exeを見つけました:github.com/downloads/Code52/carnac/Carnac.zip
Kai

2
@Basj CarnacはKeyPosé(文字をプレーンテキストとしてのみ表示)よりもはるかに「美しい」です。カルナックを使用すると、表示されるキーの外観(フォントサイズ、不透明度、色)を変更できます。
カイノアック

@KaiNoackカルナックのデフォルトスタイルは、Keyposéほどスタイリッシュ/ミニマリストではありません。デフォルトの設計を改善する必要があります;)
Basj

キーストローク表示領域の位置を変更するにはどうすればよいですか?ドキュメントを見つけることができるようです。
jdhao

10

keycastowというツールを共有したいと思います。

https://brookhong.github.io/2014/04/28/keycast-on-windows.html

ここに画像の説明を入力してください


1
素晴らしいことです!また、LICECapも素晴らしく、それについて知りませんでした:)
LogicDaemon 14年

@brookhongアニメーションGIFの作成に使用したものは何ですか?
リカルドC

@RicardoC licecap、cockos.com / licecap
ブルックホン

Microsoft Security Essentialsはこれを脅威として分類します。しかたがない!
-rath

1
このツールはバイナリとしてダウンロードできません。あなたは自分でそれを構築する必要がありますが、私には許可がありませんので問題です。
Lqueryvg

5

この目的のためにAutoHotkey_Lスクリプトを作成しました。

それを実行するには、AutoHotkey_Ldirect dl)を使用します。これはFOSSです。また、AutoHotkeyを使用すると、スクリプトをEXEにコンパイルできます(単に)。Ahk2Exe.exe /inDisplayPressedKeyOnScreen.ahk/outDisplayPressedKeyOnScreen.exe

OSDのような押されたキーまたはマウスカーソルの近くの標準のツールヒントを表示できます。また、マウスボタンのクリックとホイールのスクロールを表示します。

(フレームとぼかしは説明のために行われていることに注意してください。スクリプト自体は妨害のないテキストのみを表示します) スクリーンショット

スクリプトは次のとおりです(コピーしてメモ帳に貼り付け、DisplayPressedKeysOnScreen.ahkとして保存します)。

#NoEnv
#SingleInstance force
#InstallKeybdHook

Global KeyStates, MouseState, ClickCount, IdleDelay, LargeDisplay

IdleDelay=3000

LargeDisplay=1
; 0 = Tooltip near mouse pointer
; 1 = Big pane at screen bottom

If LargeDisplay
{
;Initializing GUI
;modded func originated from http://www.autohotkey.com/board/topic/8190-osd-function/

SysGet Monitor, Monitor

GUIx := MonitorLeft
GUIw := MonitorRight - MonitorLeft
GUIh := (MonitorBottom - MonitorTop) * GUIw * 0.00003
If (GUIh > ((MonitorBottom - MonitorTop) * 0.3))
    GUIh := (MonitorBottom - MonitorTop) * 0.3

opacity=230
fname="Tahoma"
fsize:=GUIh * 0.65 ; really, pixel = 0.75 point, but with 0.75 lowercase letter with lower part (like "g") get cut
fcolor=cccccc
bcolor=222222
fformat="600"

Gui +LastFound +AlwaysOnTop +ToolWindow -Caption
Gui Margin, 0, 0 ;pixels of space to leave at the left/right and top/bottom sides of the window when auto-positioning.
Gui Color, ffffff ;changes background color
Gui Font, s%fsize% w%fformat%, %fname%

;    0x80 = SS_NOPREFIX -> Ampersand (&) is shown instead of underline one letter for Alt+letter navigation
Gui Add, Text, c%bcolor% Center +0x80 w%GUIw% h%GUIh% BackgroundTrans VblkOsdCtrlName, tesT test test
Gui Add, Text, c%fcolor% Center +0x80 w%GUIw% h%GUIh% BackgroundTrans VblkOsdCtrlName2 xp-3 yp-3 , tesT test test

WinSet ExStyle, +0x20 ; WS_EX_TRANSPARENT -> mouse klickthrough
WinSet TransColor, ffffff %opacity%
}


TrayTip %A_ScriptName%, To Exit`, press the Right Windows logo key.

Loop
{
Input SingleKey, L1 V M I B, {LControl}{RControl}{LAlt}{RAlt}{LShift}{RShift}{LWin}{AppsKey}{F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8}{F9}{F10}{F11}{F12}{Left}{Right}{Up}{Down}{Home}{End}{PgUp}{PgDn}{Del}{Ins}{BS}{Capslock}{Numlock}{PrintScreen}{Pause}
GetKeyStates()

;    IfInString ErrorLevel, EndKey
;   CollectedText .= (CollectedText =="" ? "" : " + " ) . SubStr(ErrorLevel, 8)
If SingleKey
{
    SingleKeyText=
    If (SingleKey==Chr(27))
    SingleKeyText=Esc
    Else If (SingleKey==Chr(32))
    SingleKeyText=Space

    If (GetKeyState("LControl", "P") || GetKeyState("RControl", "P"))
    {
    If (SingleKey==Chr(10) && EnterPressed)
        SingleKeyText=Enter
    Else If (SingleKey >= Chr(1) && SingleKey <= Chr(26)) ; With "M" in Input, Ctrl-A through Ctrl-Z correspond to Chr(1) through Chr(26)
        SingleKeyText := Chr(Asc("A")-1+Asc(SingleKey))
    } Else {
    If (SingleKey==Chr(10))
        SingleKeyText=Enter
    }

    If Not SingleKeyText
    SingleKeyText:=SingleKey
    ShowKeys(KeyStates . SingleKeyText)
;    . (MouseState ? "`n" . MouseState : "")
    EnterPressed=0
    GoSub ClearMouseState
} Else {
    ShowKeys(SubStr(KeyStates, 1, -3) . (MouseState ? " + " . MouseState : ""))
}
SetTimer TooltipOff, % -IdleDelay
}

RWin::
ExitApp

~*Enter::
EnterPressed=1
return

~*LButton::
~*RButton::
~*MButton::
~*XButton1::
~*XButton2::
MouseState := "Mouse " . SubStr(A_ThisHotkey, 3) . " Pressed"
MouseTooltip()
return

~*WheelDown::
~*WheelUp::
~*WheelLeft::
~*WheelRight::
MouseState := "Mouse " . SubStr(A_ThisHotkey, 3)
MouseTooltip()
return

~*LButton Up::
~*RButton Up::
~*MButton Up::
~*XButton1 Up::
~*XButton2 Up::
;    MsgBox %A_PriorHotkey%`n%A_ThisHotkey%
If (A_PriorHotkey == SubStr(A_ThisHotkey, 1, -3) && A_TimeSincePriorHotkey < 200)
{
    ClickCount++
    Suffix := " Clicked " . ClickCount . "x"
} Else {
    ClickCount:=0
    Suffix := " Released"
}
MouseState := "Mouse " . SubStr(A_ThisHotkey, 3, -3) . Suffix
MouseTooltip()
return

MouseTooltip(){
GetKeyStates()
ShowKeys(KeyStates . MouseState)
SetTimer ClearMouseState,  % -IdleDelay
SetTimer TooltipOff, % -IdleDelay
}

ClearMouseState:
MouseState=
ClickCount=0
return
TooltipOff:
If LargeDisplay
    Gui Hide
Else
    Tooltip
return

GetKeyStates() {
KeyStates := ""
    . ( GetKeyState("LControl", "P") ? "LControl + " : "" )
    . ( GetKeyState("RControl", "P") ? "RControl + " : "" )
    . ( GetKeyState("LAlt", "P") ? "LAlt + " : "" )
    . ( GetKeyState("RAlt", "P") ? "RAlt + " : "" )
    . ( GetKeyState("LShift", "P") ? "LShift + " : "" )
    . ( GetKeyState("RShift", "P") ? "RShift + " : "" )
    . ( GetKeyState("LWin", "P") ? "LWin + " : "" )
    . ( GetKeyState("AppsKey", "P") ? "AppsKey + " : "" )
    . ( GetKeyState("F1", "P") ? "F1 + " : "" )
    . ( GetKeyState("F2", "P") ? "F2 + " : "" )
    . ( GetKeyState("F3", "P") ? "F3 + " : "" )
    . ( GetKeyState("F4", "P") ? "F4 + " : "" )
    . ( GetKeyState("F5", "P") ? "F5 + " : "" )
    . ( GetKeyState("F6", "P") ? "F6 + " : "" )
    . ( GetKeyState("F7", "P") ? "F7 + " : "" )
    . ( GetKeyState("F8", "P") ? "F8 + " : "" )
    . ( GetKeyState("F9", "P") ? "F9 + " : "" )
    . ( GetKeyState("F10", "P") ? "F10 + " : "" )
    . ( GetKeyState("F11", "P") ? "F11 + " : "" )
    . ( GetKeyState("F12", "P") ? "F12 + " : "" )
    . ( GetKeyState("Left", "P") ? "Left + " : "" )
    . ( GetKeyState("Right", "P") ? "Right + " : "" )
    . ( GetKeyState("Up", "P") ? "Up + " : "" )
    . ( GetKeyState("Down", "P") ? "Down + " : "" )
    . ( GetKeyState("Home", "P") ? "Home + " : "" )
    . ( GetKeyState("End", "P") ? "End + " : "" )x
    . ( GetKeyState("PgUp", "P") ? "PgUp + " : "" )
    . ( GetKeyState("PgDn", "P") ? "PgDn + " : "" )
    . ( GetKeyState("Del", "P") ? "Del + " : "" )
    . ( GetKeyState("Ins", "P") ? "Ins + " : "" )
    . ( GetKeyState("BS", "P") ? "BS + " : "" )
    . ( GetKeyState("Capslock", "P") ? "Capslock + " : "" )
    . ( GetKeyState("Numlock", "P") ? "Numlock + " : "" )
    . ( GetKeyState("PrintScreen", "P") ? "PrintScreen + " : "" )
    . ( GetKeyState("Pause", "P") ? "Pause + " : "" )
}

ShowKeys(text) {
If LargeDisplay
{
    Global blkOsdCtrlName, blkOsdCtrlName2, MonitorLeft, MonitorRight, MonitorBottom, MonitorTop, GUIx, GUIy, GUIh

    CoordMode Mouse, Screen
    MouseGetPos MouseX, MouseY

    If ((!GUIy) || (MouseX >= MonitorLeft && MouseX <= MonitorRight && MouseY >= GUIy && MouseY <= (GUIy+GUIh)) ) {
    If (MouseY < (MonitorTop + (MonitorBottom - MonitorTop) / 2) )
        GUIy := MonitorBottom - (MonitorBottom - MonitorTop) * 0.2
    Else
        GUIy := MonitorTop + (MonitorBottom - MonitorTop) * 0.2
    }

    GuiControl Text, blkOsdCtrlName, %text%
    GuiControl Text, blkOsdCtrlName2, %text%

    Gui, Show, x%GUIx% y%GUIy% NoActivate
} Else {
    Tooltip % text
}
}

Win7 64ビットで「DisplayPressedKeyOnScreen.exe」を起動しようとしました。エラーメッセージWindows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the item.が表示されます。exeファイルはスタンドアロンですか?または、事前にAutoHotkeyをインストールする必要がありますか?
カイノアック14年

@EchtEinfachTVそれはスタンドアロンだと確信しています。また、Win 8.1 32ビットでダウンロードして正常に起動しました。MD5を比較できますか?私のものはd788516439ed743b3553eb3ae7b9082cで、ファイルサイズは332 288バイトです。
LogicDaemon 14年

上記のリンクからダウンロードしたファイルには、MD5:D788516439ED743B3553EB3AE7B9082Cとファイルサイズ332 288が表示されます。したがって、まったく同じファイルである必要があります。また、Windows 7でエラーメッセージが表示された後、ウイルススキャナーのPanda Cloudがポップアップ表示され、「悪意のある」ファイルが隔離されました。
カイノアック14年

@EchtEinfachTVを実行すると、ウイルス対策ソフトがファイルへのアクセスを拒否したようです。そのため、アクセスできないというWindowsメッセージを受け取りました。ブロックする理由はわかりませんが、確認できます。これは、標準の自動ホットキーバイナリがプレーンテキスト(ただし、再フォーマット済み)のスクリプトソースに結合されていることです。
LogicDaemon 14年

1
@Amina ty、それは私によるDropboxフォルダーの偶然の移動だと思います。投稿を修正します。
LogicDaemon

2

オンスクリーンキーボードを使用して、ウィンドウに付属するキープレスを表示できます。物理キーボードで入力すると、画面上の1つがキーを強調表示します。


1
おかげで、私はすでにそれを試してみましたが、強調表示される唯一の修飾キーはShiftキーです。
-richardtallent

Windows 7では、スタートメニューの検索ボックスに「キーボード」、および「オンスクリーンキーボード」を選択
xhafan

私には関係ありません(勝利10)。
NounVerber

1

プレゼンテーションポインターは、MousePoséfor Windowsの最良の代替手段です。ポインター効果、マウスクリック効果、キーストロークを提供し、画面上に自由に描画することもできますが、画面をロックすることはできません。それは本当にプログラムの利点です。


1
...現在30米ドル。
ミロクスラフ


1

QiPressという小さなWindowsアプリを作成しました。ルックアンドフィールを変更したり、特定のキーグループを表示または無視したり、静的テキスト(独自の名前や会社名など)を追加したりするためのコントロールがあります。ポップアップのクリックスルーとクリックドラッグを無効にすることで、配置が可能です。あなたがおそらく必要としないかもしれない他の機能がありますが、それはあなたが望むもののほとんどをカバーしています。


3
現在30米ドル
ミロクスラフ

バージョンを明確にするために:無料版:個人的、非営利的使用。一部の高度な機能が無効になっています(さまざまな言語キーボード、複数のモニター、ジョイスティックディスプレイなど)。時間制限はありません。有料版:すべての用途。すべての高度な機能が有効になっています。時間制限はありません。
aalapshah

0

PassMark KeyboardTestを使用できます(30日間の無料評価、その後購入するには24.00米ドル)。

ここに画像の説明を入力してください

ご参考までに:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.