Hangi tuşa basacağımı göstermek için Windows yardımcı programı [kapalı]


52

Çok sayıda kişiye uzaktan eğitim veriyorum ve birçok uygulama kısayol tuşunu da kapsayacağım.

MousePose'un tuş vuruşlarının ekran görüntüsünü gördüm ; Windows için benzer bir ürün var mı?

MousePose Ekran Görüntüsü

MousePose'un (süslü fare işaretçileri, vb.) Diğer özellikleri sadece tuşa basma basamağı olan OSD için benim için pek kullanışlı değil.

Yanıtlar:


36

KeyPosé , Windows için MousePosé'ye ücretsiz bir alternatiftir. Sen screencast eylemde görebilirsiniz .

İşte örnek bir ekran görüntüsü:

alt metin


@richard, rica ederim!
John T,

4
Bence bazı sorunları var. Tuşları görüntülediğiniz konumu değiştiremezsiniz, bazen bir tuşa basmasanız bile gri bölge göstermeye devam eder, ayrıca kazan / süper tuşu görüntülenmez. Ctrl + alt + c gibi basılan ikiden fazla tuş içeren kombinasyonlar, ilk CTRL, ardından ALT (CTRL + ALT göstermelidir) ve son olarak CTRL + ALT + C gibi garip bir şekilde görüntülenir. Hiç yoktan iyidir, ama bence daha iyi seçenekler var.
Alter Lagos,

Tab tuşlarını nedense
kaydetmiyor

WIN kombinasyonları kaydetmiyor, CTRL + ÜST KRKT + ESC göstermedi. Meh.
Ev0,

1
Aşağıda Carnac kullanın. İkisini de test ettim ve Carnac size çeşitli görsel seçenekler sunuyor. github.com/bfritscher/carnac/releases/tag/v3-beta
Kai Noack

13

Ben çok tavsiye Carnac . GitHub'da barındırılan ücretsiz bir proje.

Sunumlar, senaryolar ve daha iyi bir klavye kullanıcısı olmanıza yardımcı olmak için bir klavye kaydı ve sunum aracı.

GitHub'da güzelce uygulanmış, güzel tasarlanmış ve açık kaynaklı .

Ekran görüntüsü

Buradaki fare girişinin düzeltmeleri ve görselleştirmesi ile bir çatal serbest bırakma bulun: https://github.com/bfritscher/carnac/releases/tag/v3-beta


KeyPosé kadar ilginç ama güzel bir görüntü değil.
Basj

Proje sayfası sadece bir carnac.applicationdosya sağlar, youtube videosu youtube.com/watch?v=qSUDfzUkwnc a gösterir Carnac.exe. Hemen sonra carnac.applicationWindows'da başlatabileceğimi fark ettim ve programı indirip yükler. Ben de burada fermuar / exe bulundu: github.com/downloads/Code52/carnac/Carnac.zip
Kai Noack

2
@Basj Carnac, KeyPosé'den (sadece harfleri düz metin olarak gösterir) çok daha "güzel" dir. Carnac ile gösterilen tuşların görünümünü değiştirebilirsiniz (yazı tipi boyutu, opaklık, renkler).
Kai Noack

@KaiNoack Carnac'ın varsayılan stilinin Keyposé kadar şık / minimalist olmadığını kastediyorum. Varsayılan tasarım geliştirilmelidir;)
Basj

Tuş vuruşu görüntüleme alanının konumunu nasıl değiştirebilirim? Herhangi bir belge bulabilirim.
jdhao

10

Keycastow - aracımı paylaşmak istiyorum.

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

görüntü tanımını buraya girin


1
Güzel şey! Ayrıca LICECap de harika, bir tanesini bilmiyordum :)
LogicDaemon

@brookhong, animasyonlu yaratığı yaratmak için ne kullandın?
Ricardo C,

@RicardoC Bu lisans, cockos.com/licecap
brook hong 3

Microsoft Security Essentials, bunu bir tehdit olarak sınıflandırıyor. Oh iyi!
Rath

1
Bu araç ikili olarak indirilebilir değildir; kendin yapmalısın, benim için sorun olan, çünkü iznim yok.
Lqueryvg

5

Bu amaçla bir AutoHotkey_L betiği yazdım.

Çalıştırmak için, AutoHotkey_L ( direct dl ) kullanın, FOSS. Ayrıca, AutoHotkey ile betiği EXE (derhal ) olarak derleyebilirsiniz .Ahk2Exe.exe /inDisplayPressedKeyOnScreen.ahk/outDisplayPressedKeyOnScreen.exe

OSD benzeri veya fare imleci yakınındaki standart Araç ipucu tuşlarını görüntüleyebilir. Ayrıca, fare düğmesi tıklamaları ve tekerlek kaydırmasını görüntüler.

(çerçeve ve bulanıklığın gösterim amacıyla yapıldığına dikkat edin, komut dosyasının kendisi yalnızca herhangi bir rahatsızlık olmayan metni görüntüler) Ekran görüntüsü

Heres betiği (not defterine kopyalayıp yapıştırın, DisplayPressedKeysOnScreen.ahk olarak kaydedin):

#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 64bit "DisplayPressedKeyOnScreen.exe" başlatmaya çalıştım. Hata mesajını alıyorum Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the item.exe dosyası bağımsız mı? Yoksa önceden AutoHotkey'i kurmak zorunda mıyım?
Kai Noack

@EchtEinfachTV Eminim bağımsızdır. Ayrıca, ben sadece indirdi ve başarıyla başarıyla 8.1 8.1-bit Win başlattı. MD5'i karşılaştırabilir miyiz? Mine d788516439ed743b3553eb3ae7b9082c ve dosya boyutu 332 288 bayttır.
LogicDaemon

Yukarıdaki bağlantınızdan indirdiğim dosya bana MD5: D788516439ED743B3553EB3AE7B9082C ve dosya boyutu 332 288'i gösteriyor. Bu yüzden aynı dosya olmalı. Ayrıca, Windows 7'deki hata mesajından sonra virüs tarayıcısı Panda Cloud'un 'kötü amaçlı' dosyayı karantinaya almak için ortaya çıkması garip.
Kai Noack

@EchtEinfachTV daha sonra görünüşe göre antivirüs başlatmaya çalıştığında dosyaya erişimi reddedildi, bu yüzden erişemediğinizi belirten Windows mesajı aldınız. Neden engellediğini bilmeme rağmen, şunları kontrol edebilirsiniz: plaintext (ancak yeniden biçimlendirilmiş) komut dosyası kaynağına katılan standart autohotkey ikili dosyası.
LogicDaemon

1
@Amina ty, sanırım dropbox klasörlerinin yanlışlıkla taşınması bana göre. Mesajımı düzelteceğim.
LogicDaemon 19:15

2

Pencerelerle birlikte gelen tuşlara basmak için ekran klavyesini kullanabilirsiniz. Fiziksel klavyenizi yazdığınızda, ekran biri söylenen tuşu vurgular.


1
Teşekkürler, bunu çoktan denedim, ama vurgulayan tek değiştirici anahtar Shift tuşudur.
richardtallent,

Windows 7'de, başlat menüsü arama kutusuna "klavye" yazın ve "Ekran Klavyesi" ni seçin
xhafan

Benim için değil (10 kazan).
NounVerber

1

Sunum İşaretçisi , Windows için MousePosé'ye en iyi alternatiftir. Pointer Efekti, Fare Tıklatması Efekti, Tuş vuruşları sağlar ve hatta ekran üzerinde serbestçe çizim yapmanızı sağlar ancak ekranı kilitlemez. Bu gerçekten programın bir avantajı.


1
... şu anda 30 USD.
miroxlav


1

QiPress adlı küçük bir Windows uygulaması yazdım . Görünüşü değiştirmek, belirli anahtar grupları görüntülemek, görmezden gelmek, hatta statik metin eklemek (örneğin kendi adınız veya şirket adınız) için kontrolleri vardır. Tıklama devre dışı bırakılarak ve açılır pencereye tıklanarak sürüklenerek konumlandırma mümkündür. Muhtemelen gerektirmeyecek başka özellikler de var, ancak çoğunlukla ne istediğinizi kapsar.


3
şuan

Sürümleri açıklığa kavuşturmak için: Ücretsiz Sürüm: Kişisel, ticari olmayan kullanım içindir. Bazı gelişmiş özellikler devre dışı (çeşitli dil klavyeleri, çoklu monitörler, joystick ekranı vb.). Zaman kısıtlaması yok. Ücretli Sürüm: Tüm kullanımlar için. Tüm gelişmiş özellikler etkin. Zaman kısıtlaması yok.
aalapshah

0

PassMark KeyboardTest'i kullanabilirsiniz (Ücretsiz 30 günlük değerlendirme, ardından satın almak için 24,00 ABD doları).

görüntü tanımını buraya girin

Bilginize:

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.