Windows-Dienstprogramm zum Rendern der Taste, die auf dem Bildschirm gedrückt wird

56305
richardtallent

Ich trainiere eine große Gruppe von Leuten aus der Ferne und werde eine Reihe von Tastenkombinationen für die Anwendung abdecken.

Ich habe gesehen, wie MousePose Tastenanschläge auf dem Bildschirm anzeigt. Gibt es ein ähnliches Produkt für Windows?

MousePose-Screenshot

Die anderen Funktionen von MousePose (ausgefallene Mauszeiger usw.) sind für mich nicht wirklich nützlich, nur das OSD von Tastendrücken.

47

9 Antworten auf die Frage

34
John T

KeyPosé ist eine kostenlose Alternative zu MousePosé für Windows. Sie können es in Aktion im Screencast sehen .

Hier ist ein Beispiel-Screenshot:

alt text

@richard du bist mehr als willkommen! John T vor 14 Jahren 0
Ich denke, es hat einige Probleme. Sie können die Position, an der Sie die Tasten anzeigen, nicht ändern. Manchmal wird der graue Bereich angezeigt, auch wenn Sie keine Taste drücken. Die Win / Super-Taste wird nicht angezeigt. Kombinationen, bei denen mehr als zwei Tasten gedrückt werden, wie z. B. STRG + ALT + C, werden auf eine seltsame Weise angezeigt, z. B. zuerst STRG, dann ALT (ich sollte STRG + ALT anzeigen) und schließlich STRG + ALT + C. Ist besser als nichts, aber ich denke, es gibt bessere Möglichkeiten. Alter Lagos vor 9 Jahren 4
Tabulator-Tasten werden aus irgendeinem Grund nicht registriert ... laggingreflex vor 7 Jahren 0
Registriert WIN-Kombinationsprogramme nicht, zeigte STRG + UMSCHALT + ESC nicht an. Meh. Ev0oD vor 7 Jahren 0
Dieses Programm funktioniert nicht für mich. NounVerber vor 6 Jahren 0
Verwenden Sie unten Carnac. Ich habe beide getestet und Carnac bietet Ihnen verschiedene visuelle Optionen. https://github.com/bfritscher/carnac/releases/tag/v3-beta Kai Noack vor 6 Jahren 1
KeyPosé ist in keiner Weise konfigurierbar und zeigt nur das zuletzt eingegebene Zeichen an (wäre schön, etwas Historie zu sehen). Für den verlinkten Screencast müssen Sie außerdem einen Player herunterladen. Lqueryvg vor 6 Jahren 0
11
rburte

Ich kann Carnac nur wärmstens empfehlen . Es ist ein kostenloses Projekt, das auf GitHub gehostet wird.

Ein Dienstprogramm zur Tastaturprotokollierung und -präsentation für Präsentationen, Screencasts und um Ihnen zu einem besseren Tastaturbenutzer zu verhelfen.

Es ist schön ausgeführt, hübsch gestaltet und auf GitHub als Open Source verfügbar .

Screenshot

Hier finden Sie ein Fork-Release mit Korrekturen und Visualisierung der Mauseingabe: https://github.com/bfritscher/carnac/releases/tag/v3-beta

Interessantes, aber nicht so schönes Rendering wie KeyPosé. Basj vor 6 Jahren 0
Die Projektseite enthält nur eine "carnac.application" -Datei, das Youtube-Video https://www.youtube.com/watch?v=qSUDfzUkwnc zeigt eine "Carnac.exe". Erst später wurde mir klar, dass ich "carnac.application" unter Windows starten kann, und das Programm wird heruntergeladen und installiert. Die zip / exe habe ich auch hier gefunden: https://github.com/downloads/Code52/carnac/Carnac.zip Kai Noack vor 6 Jahren 0
@Basj Carnac ist viel "schöner" als KeyPosé (das nur die Buchstaben als Klartext anzeigt). Mit Carnac können Sie das Aussehen der angezeigten Tasten (Schriftgröße, Deckkraft, Farben) ändern. Kai Noack vor 6 Jahren 2
@ KaiNoack Ich meine, der Standardstil von Carnac ist nicht so stilvoll / minimalistisch wie Keyposé. Das Standarddesign sollte verbessert werden;) Basj vor 6 Jahren 0
10
brook hong

Ich möchte mein Tool - keycastow - teilen.

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

Tolle Sache! Auch LICECap ist großartig, wußte nichts davon :) LogicDaemon vor 9 Jahren 1
@brookhong, was hast du benutzt, um das animierte Giff zu erstellen? Ricardo C vor 8 Jahren 0
@ RicardoC Es ist licecap, http://www.cockos.com/licecap/ brook hong vor 8 Jahren 0
Microsoft Security Essentials klassifiziert dies als Bedrohung. Naja! rath vor 7 Jahren 0
Avast auch. Es ist ein Fehlalarm, da die Software Open Source ist und es nicht möglich ist, einen Trojaner zu verbergen. * Allerdings läuft der Cursor jittery und die Tasteneingabe wird verzögert. FractalSpace vor 7 Jahren 0
Chrome und Firefox geben mir beide Warnungen für https://brookhong.github.io/2014/04/28/keycast-on-windows.html http://imgur.com/a/jcdyB. Die Seite wird nicht geladen Wenn ich die Warnung ignoriere Miserable Variable vor 6 Jahren 0
Dieses Tool kann nicht als Binärdatei heruntergeladen werden. Sie müssen es selbst bauen, was für mich ein Problem ist, weil ich keine Erlaubnis habe. Lqueryvg vor 6 Jahren 1
Ich habe es gerade kompiliert und ausgeführt und funktioniert gut !! Das ist toll! Vijay vor 5 Jahren 0
5
LogicDaemon

Ich habe ein AutoHotkey_L-Skript für diesen Zweck geschrieben.

Um es auszuführen, verwenden Sie AutoHotkey_L ( direct dl ), es ist FOSS. Mit AutoHotkey können Sie auch ein Skript in eine EXE-Datei kompilieren .Ahk2Exe.exe /inDisplayPressedKeyOnScreen.ahk/outDisplayPressedKeyOnScreen.exe

In der Nähe des Mauszeigers können gedrückte Tasten angezeigt werden. Außerdem werden Mausklicks und das Scrollen der Räder angezeigt.

(Beachten Sie, dass Frame & Unschärfe zu Illustrationszwecken ausgeführt wird. Das Skript selbst zeigt nur Text ohne Störungen an.) Bildschirmfoto

Hier ist das Skript (Kopieren und Einfügen in den Editor, Speichern als 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,  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 } } 
Ich habe versucht, "DisplayPressedKeyOnScreen.exe" unter Win7 64bit zu starten. Ich erhalte die Fehlermeldung `Windows kann nicht auf das angegebene Gerät, den Pfad oder die Datei zugreifen. Möglicherweise verfügen Sie nicht über die erforderlichen Berechtigungen, um auf das Element zuzugreifen. "Ist die Exe-Datei eigenständig? Oder muss ich AutoHotkey vorher installieren? Kai Noack vor 9 Jahren 0
@EchtEinfachTV Ich bin sicher es ist Standalone. Ich habe es auch heruntergeladen und unter Win 8.1 32-Bit erfolgreich gestartet. Können wir MD5 vergleichen? Meins ist d788516439ed743b3553eb3ae7b9082c und die Dateigröße beträgt 332 288 Bytes. LogicDaemon vor 9 Jahren 0
Die Datei, die ich von Ihrem [obigen Link] (https://www.dropbox.com/s/2t69kbj7serro7z/DisplayPressedKeysOnScreen.exe) heruntergeladen habe, zeigt mir MD5: D788516439ED743B3553EB3AE7B9082C und die Dateigröße 332 288. Es sollte sich also um dieselbe Datei handeln. Es ist auch seltsam, dass nach der Fehlermeldung in Windows 7 der Virenscanner Panda Cloud auftauchte und die "schädliche" Datei in die Quarantäne verschoben wurde. Kai Noack vor 9 Jahren 0
@EchtEinfachTV dann ist es offenbar Antivirus-Zugriff auf Dateien verweigert worden, als Sie versuchten, sie zu starten. Aus diesem Grund haben Sie eine Windows-Nachricht erhalten, dass Sie nicht darauf zugreifen können. Obwohl ich nicht weiß, warum es blockiert, können Sie Folgendes überprüfen: Es ist die Standard-Binärdatei für autohotkey, die mit Klartext-Skript (aber neu formatiert) verknüpft ist. LogicDaemon vor 9 Jahren 0
@EchtEinfachTV Entschuldigung, es ist kein Klartext. Es wird mit [mpress] (http://www.matcode.com/mpress.htm) bereitgestellt, das in AutoHotkey enthalten war. Auf jeden Fall können Sie autonome Autohotkey-Binärdateien ([exe.zip] (http://ahkscript.org/download/ahk-u32.zip) herunterladen und per Drag-and-Drop das Skript starten, nur um zu sehen, ob dieses Skript vorhanden ist wird dir passen Wenn ja, können Sie entweder auf diese Weise bleiben (erstellen Sie einfach eine Verknüpfung mit "" Pfad-zu-ahk \ autohotkey.exe "" Pfad-zu-Skript \ script.ahk "» im Feld "Objekt") oder kompilieren Sie es selbst (benötigt 1 min zum dl & install autohotkey und 5 sek zum kompilieren). LogicDaemon vor 9 Jahren 0
Dropbox hat es entfernt. Aminadav Glickshtein vor 8 Jahren 0
@Amina ty, ich denke, das ist ein versehentliches Verschieben von Dropbox-Ordnern durch mich. Wird meinen Beitrag reparieren. LogicDaemon vor 8 Jahren 1
Kann dieses AHK-Skript so geändert werden, dass es künstliche Tastatureingaben verfolgt, z. B. von der WinController-Android-App? Ich habe in den AHK-Dokumenten nachgesehen, konnte aber nichts finden. Steve Waring vor 6 Jahren 0
@SteveWaring verwendet derzeit [Eingabeoperator] (https://autohotkey.com/docs/commands/Input.htm), um die gedrückte Taste zu erhalten. Dabei werden folgende Dokumente verwendet: «Standardmäßig wird auch künstliche Eingabe erfasst». Ersetzen Sie «Input SingleKey, L1 VMIB» in «Input SingleKey, L1 VMB», es sollte funktionieren. LogicDaemon vor 6 Jahren 0
@SteveWaring entferne auch "," "" von jedem GetKeyState. Zum Beispiel: «GetKeyState (" LControl "," P ")» → «GetKeyState (" RControl ")» LogicDaemon vor 6 Jahren 0
Gibt es sowieso eine Funktion, die den Text darstellt, der an die Funktion übergeben wird, so dass er in meinen eigenen Skripts verwendet werden kann, um ein Fenster mit einer Aktion anzuzeigen, die mein Skript auf dem Bildschirm ausführt JasonDavis vor 6 Jahren 0
@JasonDavis wird tatsächlich von der Funktion ShowKeys () ausgeführt. Es braucht jedoch init, das ist im Abschnitt zum automatischen Ausführen des Skripts im `If LargeDisplay {…}` -Block. LogicDaemon vor 6 Jahren 0
2
Unfundednut

Sie können die Bildschirmtastatur verwenden, um Tastendrücke anzuzeigen, die mit Fenstern geliefert werden. Wenn Sie auf Ihrer physischen Tastatur tippen, hebt die auf dem Bildschirm angegebene Taste hervor.

Danke, das habe ich schon versucht, aber der einzige Modifikator, der hervorgehoben wird, ist die Umschalttaste. richardtallent vor 14 Jahren 1
Geben Sie in Windows 7 "keyboard" in das Startmenü-Suchfeld ein und wählen Sie "Bildschirmtastatur" aus. xhafan vor 9 Jahren 0
Es ist nicht für mich (10 gewinnen). NounVerber vor 6 Jahren 0
1
Dan

PointerFocus kann Ihre Tastatureingaben anzeigen.

derzeit 12,50 USD miroxlav vor 6 Jahren 2
Leider können bestimmte Schlüssel nicht angepasst oder ignoriert werden. Basj vor 6 Jahren 0
1
Garvey

Der Präsentationszeiger ist die beste Alternative zu MousePosé für Windows. Es bietet Zeigereffekte, Mausklicks, Tastenanschläge und ermöglicht sogar das freie Zeichnen auf dem Bildschirm, ohne den Bildschirm zu sperren. Das ist wirklich ein Vorteil des Programms.

... derzeit 30 USD. miroxlav vor 6 Jahren 1
1
aalapshah

Ich habe eine kleine Windows-App namens QiPress geschrieben . Es verfügt über Steuerelemente, um das Erscheinungsbild zu ändern, bestimmte Schlüsselgruppen anzuzeigen oder zu ignorieren oder sogar statischen Text (z. B. Ihren eigenen Namen oder den Firmennamen) hinzuzufügen. Das Positionieren ist möglich, indem Sie das Klicken durch Klicken deaktivieren und das Popup ziehen. Es gibt andere Funktionen, die Sie möglicherweise nicht benötigen, aber es deckt meistens ab, was Sie wollen.

derzeit 30 USD miroxlav vor 6 Jahren 2
Zur Klarstellung der Versionen: Kostenlose Version: Für den persönlichen, nicht kommerziellen Gebrauch. Einige erweiterte Funktionen sind deaktiviert (z. B. verschiedene Sprachtastaturen, mehrere Monitore, Joystick-Anzeige usw.). Keine zeitliche Begrenzung Bezahlte Version: Für alle Zwecke. Alle erweiterten Funktionen aktiviert. Keine zeitliche Begrenzung aalapshah vor 6 Jahren 0
0
Franck Dernoncourt

Sie können PassMark KeyboardTest verwenden (kostenlose 30-Tage- Testversion und anschließend 24,00 USD).

Zu Ihrer Information: