Utilitas Windows untuk merender tombol mana yang saya tekan di layar [tertutup]


52

Saya memberikan pelatihan kepada sekelompok besar orang dari jarak jauh dan akan mencakup sejumlah tombol cara pintas aplikasi.

Saya telah melihat tampilan penekanan tombol pada MousePose ; apakah ada produk serupa untuk Windows?

Cuplikan Layar MousePose

Fitur lain dari MousePose (pointer mouse mewah, dll.) Tidak terlalu berguna bagi saya, hanya OSD dari penekanan tombol.

Jawaban:


36

KeyPose adalah alternatif gratis untuk MousePose untuk Windows. Anda bisa melihatnya beraksi di layar .

Berikut ini contoh tangkapan layar:

teks alternatif


@ Richard Anda lebih dari diterima!
John T

4
Saya pikir ada beberapa masalah. Anda tidak dapat mengubah posisi di mana Anda menampilkan kunci, kadang-kadang zona abu-abu terus menunjukkan bahkan jika Anda tidak menekan tombol, juga kunci win / super tidak ditampilkan. Kombinasi yang melibatkan lebih dari dua tombol yang ditekan, seperti ctrl + alt + c, ditampilkan dengan cara yang aneh, seperti CTRL pertama, lalu ALT (saya kira seharusnya menampilkan CTRL + ALT) dan akhirnya CTRL + ALT + C. Lebih baik daripada tidak sama sekali, tapi saya pikir ada opsi yang lebih baik.
Alter Lagos

Tidak mendaftarkan kunci Tab karena alasan tertentu ...
laggingreflex

Tidak mendaftarkan kombinator WIN, tidak menunjukkan CTRL + SHIFT + ESC. Ah.
Ev0oD

1
Gunakan Carnac di bawah ini. Saya menguji keduanya dan Carnac memberi Anda berbagai pilihan visual. github.com/bfritscher/carnac/releases/tag/v3-beta
Kai Noack

13

Saya sangat merekomendasikan Carnac . Ini adalah proyek gratis yang di-host di GitHub.

Utilitas pendataan keyboard dan presentasi untuk presentasi, screencasts, dan untuk membantu Anda menjadi pengguna keyboard yang lebih baik.

Ini dijalankan dengan baik, dirancang dengan baik dan juga open source di GitHub .

Tangkapan layar

Temukan rilis garpu dengan perbaikan dan visualisasi input mouse di sini: https://github.com/bfritscher/carnac/releases/tag/v3-beta


Menarik, tapi tidak seindah rendering KeyPose.
Basj

Halaman proyek hanya menyediakan carnac.applicationfile, video youtube youtube.com/watch?v=qSUDfzUkwnc memperlihatkan video a Carnac.exe. Baru kemudian saya menyadari bahwa saya dapat meluncurkan carnac.applicationdi Windows dan itu mengunduh dan menginstal program. Saya juga menemukan zip / exe di sini: github.com/downloads/Code52/carnac/Carnac.zip
Kai Noack

2
@Basj Carnac jauh lebih "indah" daripada KeyPosé (yang hanya menampilkan huruf sebagai teks biasa). Dengan Carnac Anda dapat mengubah tampilan tombol yang ditampilkan (ukuran font, opacity, warna).
Kai Noack

@ KaiNoack Maksud saya gaya default Carnac tidak bergaya / minimalis seperti Keyposé. Desain default harus ditingkatkan;)
Basj

Bagaimana saya bisa mengubah posisi area tampilan keystroke? Saya dapat menemukan dokumentasi apa pun.
jdhao

10

1
Hal yang hebat! Juga LICECap juga hebat, tidak tahu tentang satu :)
LogicDaemon

@brookhong apa yang Anda gunakan untuk membuat animasi jiff?
Ricardo C

@ RicardoC Ini adalah licecap, cockos.com/licecap
brook hong

Microsoft Security Essentials mengklasifikasikan ini sebagai ancaman. Baiklah!
rath

1
Alat ini tidak dapat diunduh sebagai biner; Anda harus membangunnya sendiri yang bagi saya merupakan masalah karena saya tidak memiliki izin.
Lqueryvg

5

Saya telah menulis skrip AutoHotkey_L untuk tujuan ini.

Untuk menjalankannya, gunakan AutoHotkey_L ( direct dl ), itu FOSS. Juga, dengan AutoHotkey Anda dapat mengkompilasi skrip ke EXE (sederhana ).Ahk2Exe.exe /inDisplayPressedKeyOnScreen.ahk/outDisplayPressedKeyOnScreen.exe

Ini dapat menampilkan tombol yang ditekan seperti OSD atau Tip pahat di dekat kursor mouse. Juga, ini menampilkan klik tombol mouse dan pengguliran roda.

(perhatikan bahwa frame & blurring dilakukan untuk tujuan ilustrasi, skrip itu sendiri hanya menampilkan teks tanpa gangguan) Tangkapan layar

Inilah skripnya (salin dan tempel ke notepad, simpan sebagai 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
}
}

Saya mencoba untuk memulai "DisplayPressedKeyOnScreen.exe" pada Win7 64bit. Saya mendapatkan pesan kesalahan Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the item.Apakah exe-file mandiri? Atau apakah saya harus menginstal AutoHotkey sebelumnya?
Kai Noack

@EchtEinfachTV Saya yakin itu mandiri. Juga, saya baru saja mengunduh dan berhasil meluncurkannya di Win 8.1 32-bit. Bisakah kita membandingkan MD5? Milik saya d788516439ed743b3553eb3ae7b9082c, dan ukuran file adalah 332 288 byte.
LogicDaemon

File yang saya unduh dari tautan Anda di atas menunjukkan kepada saya MD5: D788516439ED743B3553EB3AE7B9082C dan ukuran file 332 288. Jadi itu harus file yang sama persis. Juga aneh bahwa setelah pesan kesalahan di Windows 7, pemindai virus Panda Cloud muncul, memindahkan file 'jahat' ke karantina.
Kai Noack

@EchtEinfachTV maka tampaknya antivirus menolak akses ke file ketika Anda mencoba meluncurkannya, itu sebabnya Anda menerima pesan Windows yang tidak dapat diakses. Meskipun saya tidak tahu mengapa itu blok, Anda dapat memeriksa: itu standar biner autohotkey bergabung dengan plaintext (tetapi diformat ulang) sumber skrip.
LogicDaemon

1
@Amina ty, saya rasa itu adalah folder dropbox yang saya buat secara tidak sengaja. Akan memperbaiki posting saya.
LogicDaemon

2

Anda dapat menggunakan keyboard layar untuk menunjukkan penekanan tombol yang datang dengan windows. Ketika Anda mengetik pada keyboard fisik Anda, pada layar satu menyoroti tombol kata.


1
Terima kasih, saya sudah mencobanya, tetapi satu-satunya kunci pengubah yang menyoroti adalah tombol Shift.
richardtallent

Di windows 7, ketik "keyboard" di kotak pencarian menu mulai, dan pilih "On-Screen Keyboard"
xhafan

Bukan untuk saya (menang 10).
NounVerber

1

Presentation Pointer adalah alternatif terbaik untuk MousePosé untuk Windows. Ini memberikan Pointer Effect, Mouse Clicks Effect, penekanan tombol dan bahkan memungkinkan Anda untuk menggambar dengan bebas di layar tetapi tidak mengunci layar. Itu benar-benar keuntungan dari program ini.


1
... saat ini 30 USD.
miroxlav


1

Saya telah menulis aplikasi Windows kecil bernama QiPress . Ia memiliki kontrol untuk mengubah tampilan-n-feel, menampilkan atau mengabaikan grup kunci tertentu, bahkan menambahkan teks statis (misalnya nama Anda sendiri atau nama perusahaan). Penentuan posisi dimungkinkan dengan menonaktifkan klik-tayang dan klik-tarik pop-up. Ada fitur lain yang mungkin tidak Anda butuhkan, tetapi sebagian besar mencakup apa yang Anda inginkan.


3
saat ini 30 USD
miroxlav

Untuk mengklarifikasi versi: Versi Gratis: Untuk penggunaan pribadi, non-komersial. Beberapa fitur lanjutan dinonaktifkan (seperti berbagai papan ketik bahasa, banyak monitor, tampilan joystick, dll.). Tidak ada batasan waktu. Versi Berbayar: Untuk semua penggunaan. Semua fitur lanjutan diaktifkan. Tidak ada batasan waktu.
aalapshah

0

Anda dapat menggunakan PassMark KeyboardTest (Evaluasi 30 hari gratis, lalu US $ 24,00 untuk membeli.)

masukkan deskripsi gambar di sini

FYI:

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.