Utilità di Windows per eseguire il rendering del tasto che sto premendo sullo schermo [chiuso]


52

Sto dando formazione a un folto gruppo di persone in remoto e tratterò una serie di tasti di scelta rapida dell'applicazione.

Ho visto la visualizzazione sullo schermo dei tasti premuti da MousePose ; esiste un prodotto simile per Windows?

Screenshot di MousePose

Le altre funzionalità di MousePose (eleganti puntatori del mouse, ecc.) Non sono davvero utili per me, solo l'OSD della pressione dei tasti.

Risposte:


36

KeyPosé è un'alternativa gratuita a MousePosé per Windows. Puoi vederlo in azione nello screencast .

Ecco uno screenshot di esempio:

testo alternativo


@richard sei più che benvenuto!
John T

4
Penso che abbia alcuni problemi. Non è possibile modificare la posizione in cui vengono visualizzati i tasti, a volte la zona grigia continua a essere visualizzata anche se non si preme un tasto, inoltre il tasto Win / Super non viene visualizzato. Le combinazioni che coinvolgono più di due tasti premuti, come ctrl + alt + c, vengono visualizzate in modo strano, come prima CTRL, quindi ALT (suppongo che dovrebbe visualizzare CTRL + ALT) e infine CTRL + ALT + C. È meglio di niente, ma penso che ci siano opzioni migliori.
Modifica Lagos

Non registra i tasti Tab per qualche motivo ...
laggingreflex

Non registra WIN combinati, non ha mostrato CTRL + MAIUSC + ESC. Meh.
Ev0oD

1
Usa Carnac qui sotto. Ho provato entrambi e Carnac ti offre varie opzioni visive. github.com/bfritscher/carnac/releases/tag/v3-beta
Kai Noack

13

Consiglio vivamente Carnac . È un progetto gratuito ospitato su GitHub.

Un'utilità di registrazione e presentazione della tastiera per presentazioni, screencast e per aiutarti a diventare un migliore utente della tastiera.

È ben eseguito, ben progettato e anche open source su GitHub .

Immagine dello schermo

Trova un rilascio fork con correzioni e visualizzazione dell'input del mouse qui: https://github.com/bfritscher/carnac/releases/tag/v3-beta


Rendering interessante, ma non così bello come KeyPosé.
Basj,

La pagina del progetto fornisce solo un carnac.applicationfile, il video di YouTube youtube.com/watch?v=qSUDfzUkwnc mostra un Carnac.exe. Poco dopo mi sono reso conto che posso avviare carnac.applicationWindows e questo scarica e installa il programma. Ho trovato lo zip / exe anche qui: github.com/downloads/Code52/carnac/Carnac.zip
Kai Noack

2
@Basj Carnac è ​​molto più "bello" di KeyPosé (che mostra le lettere solo come testo normale). Con Carnac è ​​possibile modificare l'aspetto dei tasti visualizzati (dimensione del carattere, opacità, colori).
Kai Noack,

@KaiNoack Voglio dire che lo stile predefinito di Carnac non è elegante / minimalista come Keyposé. Il design predefinito dovrebbe essere migliorato;)
Basj

Come posso modificare la posizione dell'area di visualizzazione della sequenza di tasti? Mi sembra di trovare qualsiasi documentazione.
jdhao,

10

Vorrei condividere il mio strumento - keycastow.

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

inserisci qui la descrizione dell'immagine


1
Grande cosa! Anche LICECap è fantastico, non ne sapevo nulla :)
LogicDaemon,

@brookhong cosa hai usato per creare il giff animato?
Ricardo C,

@RicardoC È licecap, cockos.com/licecap
brook hong

Microsoft Security Essentials classifica questo come una minaccia. Oh bene!
rath

1
Questo strumento non è scaricabile come binario; devi costruirlo tu stesso, il che per me è un problema perché non ho il permesso.
Lqueryvg,

5

A questo scopo ho scritto uno script AutoHotkey_L.

Per eseguirlo, utilizzare AutoHotkey_L ( direct dl ), è FOSS. Inoltre, con AutoHotkey è possibile compilare lo script in EXE (semplicemente ).Ahk2Exe.exe /inDisplayPressedKeyOnScreen.ahk/outDisplayPressedKeyOnScreen.exe

Può visualizzare i tasti premuti come OSD o una descrizione standard vicino al cursore del mouse. Inoltre, visualizza i clic del pulsante del mouse e lo scorrimento delle ruote.

(nota che la cornice e la sfocatura sono fatte a scopo illustrativo, lo script stesso visualizza solo testo senza disturbi) Immagine dello schermo

Ecco lo script (copia e incolla nel blocco note, salva come 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
}
}

Ho provato ad avviare "DisplayPressedKeyOnScreen.exe" su Win7 64 bit. Ricevo il messaggio di errore Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the item.Il file exe è autonomo? O devo installare AutoHotkey in anticipo?
Kai Noack,

@EchtEinfachTV Sono sicuro che è autonomo. Inoltre, l'ho appena scaricato e lanciato con successo su Win 8.1 a 32 bit. Possiamo confrontare MD5? Il mio è d788516439ed743b3553eb3ae7b9082c e la dimensione del file è 332 288 byte.
LogicDaemon il

Il file che ho scaricato dal link qui sopra mi mostra MD5: D788516439ED743B3553EB3AE7B9082C e dimensione del file 332 288. Quindi dovrebbe essere esattamente lo stesso file. È anche strano che dopo il messaggio di errore in Windows 7, lo scanner di virus Panda Cloud sia spuntato, spostando il file "dannoso" in quarantena.
Kai Noack,

@EchtEinfachTV quindi apparentemente l'antivirus ha negato l'accesso al file quando hai provato ad avviarlo, ecco perché hai ricevuto il messaggio Windows che non puoi accedervi. Anche se non so perché si blocchi, puoi controllare: è un binario autohotkey standard unito a una fonte di script in testo normale (ma riformattato).
LogicDaemon,

1
@Amina ty, suppongo che questo sia uno spostamento accidentale delle cartelle dropbox da parte mia. Risolverà il mio post.
LogicDaemon,

2

È possibile utilizzare la tastiera su schermo per mostrare la pressione dei tasti fornita con Windows. Quando si digita sulla tastiera fisica, quella visualizzata sullo schermo evidenzia il tasto.


1
Grazie, l'ho già provato, ma l'unico tasto modificatore che evidenzia è il tasto Maiusc.
richardtallent,

In Windows 7, digita "tastiera" nella casella di ricerca del menu Start e seleziona "Tastiera su schermo"
xhafan

Non per me (vinci 10).
NounVerber,

1

Il puntatore presentazione è la migliore alternativa a MousePosé per Windows. Fornisce effetto puntatore, clic del mouse, sequenze di tasti e consente persino di disegnare liberamente sullo schermo ma non di bloccare lo schermo. Questo è davvero un vantaggio del programma.


1
... attualmente 30 USD.
miroxlav,


1

Ho scritto una piccola app per Windows chiamata QiPress . Dispone di controlli per modificare l'aspetto, visualizzare o ignorare determinati gruppi di chiavi, persino aggiungere testo statico (ad esempio il proprio nome o il nome dell'azienda). Il posizionamento è possibile disabilitando il click-through e facendo clic e trascinando il pop-up. Esistono altre funzionalità che probabilmente non sono necessarie, ma riguardano principalmente ciò che desideri.


3
attualmente 30 USD
miroxlav

Per chiarire le versioni: Versione gratuita: per uso personale e non commerciale. Alcune funzioni avanzate sono disabilitate (come tastiere in varie lingue, monitor multipli, display a joystick ecc.). Nessun limite di tempo. Versione a pagamento: per tutti gli usi. Tutte le funzionalità avanzate abilitate. Nessun limite di tempo.
Aalapsha,

0

È possibile utilizzare PassMark KeyboardTest (valutazione gratuita per 30 giorni, quindi US $ 24,00 per l'acquisto).

inserisci qui la descrizione dell'immagine

PER TUA INFORMAZIONE:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.