Hey,
ich habe mal vor einem Jahr schon ein virtueles keyboard gecodet (mit dem Systembeeper :D)
und da es eigentlich spaß macht darauf rum zu tippen, wollte ich es euch mal zeigen ;D
Es können keine Töne gleichzeitig gespielt werden!
Die meisten Infos, wie Tastenbelegung ect. ist im Keyboard selbst aufgelistet
Menü Hilfe > Hot Key's
ohne große Worte, der Code
Spoiler anzeigen
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=ICON\Keyboard.ico
#AutoIt3Wrapper_outfile=VirtualKeyboard.exe
#AutoIt3Wrapper_Res_Comment=Keyboard das Musik macht
#AutoIt3Wrapper_Res_Description=Keyboard
#AutoIt3Wrapper_Res_Fileversion=0.1.4.1
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=p
#AutoIt3Wrapper_Res_LegalCopyright=Krabat (C) 2011
#AutoIt3Wrapper_Res_Language=1031
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstants.au3>
#include <audio.au3>
Opt("TrayIconHide", 0)
Opt("TrayMenuMode",1)
Opt("TrayOnEventMode",1)
Opt("GUIOnEventMode", 1)
$lenge = 100
$head = "Virtual Keyboard"
$pause = 1
$process = ProcessList(@ScriptName)
If $process[0][0] > 1 Then
Opt("TrayIconHide", 1)
MsgBox(16, $head & " - Error", "Dieses Programm lässt sich nur 1x gleichzeitig ausführen!")
Exit
EndIf
$keyboard = GUICreate($head, 460, 110)
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
$slider1 = GUICtrlCreateSlider(1,10,455,20)
GUICtrlSetData(-1,100)
GUICtrlSetLimit(-1,500,50)
$okbutton = GUICtrlCreateButton("OK",10,38,80,25)
GUICtrlSetOnEvent($okbutton, "_lange")
$status = GUICtrlCreateLabel("Status: Loading",5,73,100,15)
$pressedKey = GUICtrlCreateLabel("Letze Taste: Keine",360,73,100,15)
$menuA = GUICtrlCreateMenu("&Datei")
$menuAItemA = GUICtrlCreateMenuitem("Pause",$menuA)
$menuAItemB = GUICtrlCreateMenuitem("Beenden",$menuA)
GUICtrlSetOnEvent($menuAItemB, "_exit")
GUICtrlSetOnEvent($menuAItemA, "_paused")
$menuE = GUICtrlCreateMenu("&Audio")
$menuEItemA = GUICtrlCreateMenuitem("Noten eingeben",$menuE)
$menuEItemB = GUICtrlCreateMenuitem("",$menuE)
$menuEItemC = GUICtrlCreateMenuitem("Sound +",$menuE)
$menuEItemD = GUICtrlCreateMenuitem("Sound -",$menuE)
$menuEItemE = GUICtrlCreateMenuitem("",$menuE)
$menuEItemF = GUICtrlCreateMenuitem("Sound An",$menuE)
GUICtrlSetOnEvent($menuEItemA, "_eingabe")
GUICtrlSetOnEvent($menuEItemC, "_soundplus")
GUICtrlSetOnEvent($menuEItemD, "_soundminus")
GUICtrlSetOnEvent($menuEItemF, "_mute")
$menuC = GUICtrlCreateMenu("&Hilfe")
$menuCItemA = GUICtrlCreateMenuitem("Hot Key's",$menuC)
$menuCItemB = GUICtrlCreateMenuitem("Sound",$menuC)
$menuCItemC = GUICtrlCreateMenuitem("",$menuC)
$menuCItemD = GUICtrlCreateMenuitem("Info",$menuC)
GUICtrlSetOnEvent($menuCItemA, "_key")
GUICtrlSetOnEvent($menuCItemB, "_sound")
GUICtrlSetOnEvent($menuCItemD, "_info")
$menuD = GUICtrlCreateMenu("&?")
$menuDItemA = GUICtrlCreateMenuitem("Mitwirkend",$menuD)
$menuDItemB = GUICtrlCreateMenuitem("About...",$menuD)
GUICtrlSetOnEvent($menuDItemA, "_with")
GUICtrlSetOnEvent($menuDItemB, "_about")
$trayAA = TrayCreateItem("Fenster Öffnen")
TrayCreateItem("")
$trayA = TrayCreateItem("Mitwirkend")
$trayB = TrayCreateItem("About...")
TrayCreateItem("")
$trayC = TrayCreateItem("Beenden")
TrayItemSetOnEvent($trayAA, "_open")
TrayItemSetOnEvent($trayA, "_with")
TrayItemSetOnEvent($trayB, "_about")
TrayItemSetOnEvent($trayC, "_exit")
TraySetToolTip("> "&$head & "" & @CRLF & "Version 0.1.4")
[/autoit] [autoit][/autoit] [autoit]If _isMute() = 1 Then GUICtrlSetState($menuEItemF, $GUI_UNCHECKED)
If _isMute() = 0 Then GUICtrlSetState($menuEItemF, $GUI_CHECKED)
WinActivate($head)
GUISetState ()
While 1
TrayItemSetState($trayAA, 4)
TrayItemSetState($trayA, 4)
TrayItemSetState($trayB, 4)
TrayItemSetState($trayC, 4)
Sleep(200)
If WinActive($head) AND $pause = 1 Then
GUICtrlSetData($status, "Status: Ready")
GUICtrlSetState($menuAItemA, $GUI_UNCHECKED)
HotKeySet("{ESC}","_exit")
HotKeySet("{+}","_plus")
HotKeySet("{-}","_minus")
HotKeySet("{NUMPADADD}","_plus")
HotKeySet("{NUMPADSUB}","_minus")
HotKeySet("{p}","_p")
HotKeySet("{o}","_soundplus")
HotKeySet("{l}","_soundminus")
HotKeySet("{ö}","_mute")
HotKeySet("{ü}","_paused")
HotKeySet("{F8}","_C8")
[/autoit] [autoit][/autoit] [autoit]HotKeySet("{F7}","_B7")
HotKeySet("{F6}","_A7")
HotKeySet("{F5}","_G7")
HotKeySet("{F4}","_F7")
HotKeySet("{F3}","_E7")
HotKeySet("{F2}","_D7")
HotKeySet("{F1}","_C7")
HotKeySet("{7}","_B6")
HotKeySet("{6}","_A6")
HotKeySet("{5}","_G6")
HotKeySet("{4}","_F6")
HotKeySet("{3}","_E6")
HotKeySet("{2}","_D6")
HotKeySet("{1}","_C6")
HotKeySet("{u}","_B5")
HotKeySet("{z}","_A5")
HotKeySet("{t}","_G5")
HotKeySet("{r}","_F5")
HotKeySet("{e}","_E5")
HotKeySet("{w}","_D5")
HotKeySet("{q}","_C5")
HotKeySet("{j}","_B4")
HotKeySet("{h}","_A4")
HotKeySet("{g}","_G4")
HotKeySet("{f}","_F4")
HotKeySet("{d}","_E4")
HotKeySet("{s}","_D4")
HotKeySet("{a}","_C4")
HotKeySet("{m}","_B3")
HotKeySet("{n}","_A3")
HotKeySet("{b}","_G3")
HotKeySet("{v}","_F3")
HotKeySet("{c}","_E3")
HotKeySet("{x}","_D3")
HotKeySet("{y}","_C3")
HotKeySet("{NUMPAD7}","_B2")
HotKeySet("{NUMPAD6}","_A2")
HotKeySet("{NUMPAD5}","_G2")
HotKeySet("{NUMPAD4}","_F2")
HotKeySet("{NUMPAD3}","_E2")
HotKeySet("{NUMPAD2}","_D2")
HotKeySet("{NUMPAD1}","_C2")
Else
GUICtrlSetData($status, "Status: Paused")
GUICtrlSetState($menuAItemA, $GUI_CHECKED)
HotKeySet("{ESC}")
HotKeySet("{+}")
HotKeySet("{-}")
HotKeySet("{NUMPADADD}")
HotKeySet("{NUMPADSUB}")
HotKeySet("{p}")
HotKeySet("{o}")
HotKeySet("{l}")
HotKeySet("{ö}")
HotKeySet("{ü}")
HotKeySet("{F8}")
[/autoit] [autoit][/autoit] [autoit]HotKeySet("{F7}")
HotKeySet("{F6}")
HotKeySet("{F5}")
HotKeySet("{F4}")
HotKeySet("{F3}")
HotKeySet("{F2}")
HotKeySet("{F1}")
HotKeySet("{7}")
HotKeySet("{6}")
HotKeySet("{5}")
HotKeySet("{4}")
HotKeySet("{3}")
HotKeySet("{2}")
HotKeySet("{1}")
HotKeySet("{q}")
HotKeySet("{w}")
HotKeySet("{e}")
HotKeySet("{r}")
HotKeySet("{t}")
HotKeySet("{z}")
HotKeySet("{u}")
HotKeySet("{a}")
HotKeySet("{s}")
HotKeySet("{d}")
HotKeySet("{f}")
HotKeySet("{g}")
HotKeySet("{h}")
HotKeySet("{j}")
HotKeySet("{y}")
HotKeySet("{x}")
HotKeySet("{c}")
HotKeySet("{v}")
HotKeySet("{b}")
HotKeySet("{n}")
HotKeySet("{m}")
HotKeySet("{NUMPAD7}")
HotKeySet("{NUMPAD6}")
HotKeySet("{NUMPAD5}")
HotKeySet("{NUMPAD4}")
HotKeySet("{NUMPAD3}")
HotKeySet("{NUMPAD2}")
HotKeySet("{NUMPAD1}")
EndIf
WEnd
Func _C8()
Beep(4186.01,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: C8")
EndFunc
; NEXT
Func _B7()
Beep(3951.07,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: B7")
EndFunc
Func _A7()
Beep(3520.00,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: A7")
EndFunc
Func _G7()
Beep(3135.96,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: G7")
EndFunc
Func _F7()
Beep(2793.83,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: F7")
EndFunc
Func _E7()
Beep(2637.02,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: E7")
EndFunc
Func _D7()
Beep(2349.32,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: D7")
EndFunc
Func _C7()
Beep(2093.00,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: C7")
EndFunc
; NEXT
Func _B6()
Beep(1975.53,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: B6")
EndFunc
Func _A6()
Beep(1760.00,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: A6")
EndFunc
Func _G6()
Beep(1567.98,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: G6")
EndFunc
Func _F6()
Beep(1396.91,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: F6")
EndFunc
Func _E6()
Beep(1318.51,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: E6")
EndFunc
Func _D6()
Beep(1174.66,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: D6")
EndFunc
Func _C6()
Beep(1046.50,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: C6")
EndFunc
; NEXT
Func _B5()
Beep(987.767,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: B5")
EndFunc
Func _A5()
Beep(880.000,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: A5")
EndFunc
Func _G5()
Beep(783.991,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: G5")
EndFunc
Func _F5()
Beep(698.456,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: F5")
EndFunc
Func _E5()
Beep(659.255,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: E5")
EndFunc
Func _D5()
Beep(587.330,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: D5")
EndFunc
Func _C5()
Beep(523.251,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: C5")
EndFunc
; NEXT
Func _B4()
Beep(493.883,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: B4")
EndFunc
Func _A4()
Beep(440.000,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: A4")
EndFunc
Func _G4()
Beep(391.995,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: G4")
EndFunc
Func _F4()
Beep(349.228,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: F4")
EndFunc
Func _E4()
Beep(329.628,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: E4")
EndFunc
Func _D4()
Beep(293.665,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: D4")
EndFunc
Func _C4()
Beep(261.626,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: C4")
EndFunc
; NEXT
Func _B3()
Beep(246.942,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: B3")
EndFunc
Func _A3()
Beep(220.000,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: A3")
EndFunc
Func _G3()
Beep(195.998,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: G3")
EndFunc
Func _F3()
Beep(174.614,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: F3")
EndFunc
Func _E3()
Beep(164.814,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: E3")
EndFunc
Func _D3()
Beep(146.832,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: D3")
EndFunc
Func _C3()
Beep(130.813,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: C3")
EndFunc
; NEXT
Func _B2()
Beep(123.471,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: B2")
EndFunc
Func _A2()
Beep(110.000,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: A2")
EndFunc
Func _G2()
Beep(97.9989,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: G2")
EndFunc
Func _F2()
Beep(87.3071,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: F2")
EndFunc
Func _E2()
Beep(82.4069,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: E2")
EndFunc
Func _D2()
Beep(73.4162,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: D2")
EndFunc
Func _C2()
Beep(65.4064,$lenge)
GUICtrlSetData($pressedKey, "Letze Taste: C2")
EndFunc
Func _exit()
Exit
EndFunc
Func _lange()
$lenge = GUICtrlRead($slider1)
EndFunc
Func _about()
Sleep(200)
MsgBox(0, $head & " - About", $head&" Version 0.1.4 - BETA" & @CRLF & "" & @CRLF & " Copyright © 2011" & @CRLF & " by Krabat")
EndFunc
Func _key()
Sleep(200)
MsgBox(0, $head & " - HotKey's", "> Duration:" & @CRLF & "F8 = C8" & @CRLF & "F1 - F7 = C7,D7,E7,F7,G7,A7,B7" & @CRLF & "1 - 7 = C6,D6,E6,F6,G6,A6,B6" & @CRLF & "Q - U = C5,D5,E5,F5,G5,A5,B5" & @CRLF & "A - J = C4,D4,E4,F4,G4,A4,B4" & @CRLF & "Y - M = C3,D3,E3,F3,G3,A3,B3" & @CRLF & "Nummblock 1 - 7 = C2,D2,E2,F2,G2,A2,B2" & @CRLF & "" & @CRLF & "Immer von links nach rechts sortiert!" & @CRLF & "Nur die weißen Tasten gibt es!" & @CRLF & "+ und - regulieren die Tonlänge!" & @CRLF & "P = Ein/Viertel Sekunde Pause" & @CRLF & "O und L = Sound Plus / Minus" & @CRLF & "Ö = Sound Ein/Aus Schalten" & @CRLF & "Ü = Pause (des Programms)")
EndFunc
Func _with()
Sleep(200)
MsgBox(0, $head & " - Mitwirkende", "> Development:" & @CRLF & " - Krabat" & @CRLF & "> Helfer:")
EndFunc
Func _sound()
Sleep(200)
MsgBox(0, $head & " - Sound Einstellungen", "Der Computer Sound und Interne Pieper des PC's muss aktiviert sein." & @CRLF & "Mit der Leiste im Index wird eingestellt wie lange ein Ton gespielt wird!")
EndFunc
Func _info()
Sleep(200)
MsgBox(0, $head & " - Info", "Das Hauptfenster muss aktiv sein um Musik zu machen!")
EndFunc
Func _open()
Sleep(200)
WinActivate($head)
EndFunc
Func _paused()
If $pause = 1 Then
$pause = 0
Else
$pause = 1
EndIf
EndFunc
Func _minus()
If $lenge >=50 Then
$lenge = $lenge-5
GUICtrlSetData($slider1,$lenge)
EndIf
EndFunc
Func _plus()
If $lenge <=500 Then
$lenge = $lenge+5
GUICtrlSetData($slider1,$lenge)
EndIf
EndFunc
Func _p()
Sleep(250)
EndFunc
Func _eingabe()
Sleep(200)
MsgBox(0, $head & " - Noten eingeben", "> Duration:" & @CRLF & "F8 = C8" & @CRLF & "F1 - F7 = C7,D7,E7,F7,G7,A7,B7" & @CRLF & "1 - 7 = C6,D6,E6,F6,G6,A6,B6" & @CRLF & "Q - U = C5,D5,E5,F5,G5,A5,B5" & @CRLF & "A - J = C4,D4,E4,F4,G4,A4,B4" & @CRLF & "Y - M = C3,D3,E3,F3,G3,A3,B3" & @CRLF & "Nummblock 1 - 7 = C2,D2,E2,F2,G2,A2,B2" & @CRLF & "" & @CRLF & "Immer von links nach rechts sortiert!" & @CRLF & "Nur die weißen Tasten gibt es!" & @CRLF & "+ und - regulieren die Tonlänge!" & @CRLF & "P = Ein/Viertel Sekunde Pause" & @CRLF & "" & @CRLF & "Gib jetzt die Noten ein!" & @CRLF & "Drücke auf OK und die Noten werden gespielt!")
EndFunc
Func _mute()
Send("{VOLUME_MUTE}")
If _isMute() = 1 Then GUICtrlSetState($menuEItemF, $GUI_UNCHECKED)
If _isMute() = 0 Then GUICtrlSetState($menuEItemF, $GUI_CHECKED)
WinActivate($head)
EndFunc
Func _soundplus()
Send("{VOLUME_UP}")
If _isMute() = 1 Then GUICtrlSetState($menuEItemF, $GUI_UNCHECKED)
If _isMute() = 0 Then GUICtrlSetState($menuEItemF, $GUI_CHECKED)
WinActivate($head)
EndFunc
Func _soundminus()
Send("{VOLUME_DOWN}")
If _isMute() = 1 Then GUICtrlSetState($menuEItemF, $GUI_UNCHECKED)
If _isMute() = 0 Then GUICtrlSetState($menuEItemF, $GUI_CHECKED)
WinActivate($head)
EndFunc
ja und auch hier wird man sehen das es etwas älter ist durch das änfängerhafte programmiern^^
da ich nicht weiß ob jeder die audio.au3 hat, habe ich die mal angehängt
und hier gebe ich euch noch das erste Lied mit ;D
spielt folgende Tasten: (von links nach Rechts, dann die nächste Zeile)
A S D F G G
H H H H G
H H H H G
F F F F D D
S S S S A
wer hört raus was das ist? ;D
Wichtig!
Das Programm benutzt den Systempieper, dieser muss nachtürlich An sein / Funktionsfähigsein und wenn man die Lautsprecher an macht hören sich die Töne noch besser an ![]()
ich entwickel diesen code nicht weiter, wenn jemand anders was daran tun will viel spaß ![]()
macht eigentlich spaß drauf rum zu tippen, kommen so E-Keyboard sounds raus xD
mfg Krabat