Français
Experimente

clavier-Experimentierbretter

 

p.specht

Hinweis: qui Windows-Funktionstaste, qui Tasten DRUCK, F10 sowie qui linke ALT-bouton behalten ses Funktion zur Fenêtre-Contrôle, quoi quelque chose avec qui Direktabfrage interferiert. qui Fn-bouton am Laptop ist avec isKey() pas abfragbar, modifiziert mais Funktionstasten; NumLock schaltet weiterhin qui Num-Tastenfunktionen um, UNTERBR wirkt sur cela laufende Programme direct.

Windowtitle "IsKey()-clavier-Experimentierbrett"
Windowstyle 24:Cls:declare ky$

Repeat

    waitinput 3000
    GetKey
    imprimer ky$;"  ";

until 0

Proc GetKey :clear ky$

    si iskey(1):ky$="Linke_Maustaste":elseif iskey(2):ky$="Rechte_Maustaste"

    elseif iskey(4):ky$="Mittlere_Maustaste":elseif iskey(27):ky$="Esc":elseif iskey(19):ky$="Pause"

    elseif iskey(69):ky$="E":elseif iskey(78):ky$="N":elseif iskey(73):ky$="I":elseif iskey(82):ky$="R"

    elseif iskey(83):ky$="S":elseif iskey(84):ky$="T":elseif iskey(65):ky$="A":elseif iskey(68):ky$="D"

    elseif iskey(72):ky$="H":elseif iskey(85):ky$="U":elseif iskey(76):ky$="L":elseif iskey(67):ky$="C"

    elseif iskey(71):ky$="G":elseif iskey(77):ky$="M":elseif iskey(79):ky$="O":elseif iskey(66):ky$="B"

    elseif iskey(87):ky$="W":elseif iskey(70):ky$="F":elseif iskey(75):ky$="K":elseif iskey(90):ky$="Z"

    elseif iskey(86):ky$="V":elseif iskey(80):ky$="P":elseif iskey(186):ky$="Ü186"

    elseif iskey(222):ky$="Ä222":elseif iskey(219):ky$="ß219":elseif iskey(192):ky$="Ö192"

    elseif iskey(74):ky$="J":elseif iskey(88):ky$="X":elseif iskey(89):ky$="Y":elseif iskey(81):ky$="Q"

    elseif iskey(48):ky$="0":elseif iskey(49):ky$="1":elseif iskey(50):ky$="2":elseif iskey(51):ky$="3"

    elseif iskey(52):ky$="4":elseif iskey(53):ky$="5":elseif iskey(54):ky$="6":elseif iskey(55):ky$="7"

    elseif iskey(56):ky$="8":elseif iskey(57):ky$="9"   :   elseif iskey(96):ky$="Num0"

    elseif iskey(97):ky$="Num1":elseif iskey(98):ky$="Num2":elseif iskey(99):ky$="Num3"

    elseif iskey(100):ky$="Num4":elseif iskey(101):ky$="Num5":elseif iskey(102):ky$="Num6"

    elseif iskey(103):ky$="Num7":elseif iskey(104):ky$="Num8":elseif iskey(105):ky$="Num9"

    elseif iskey(106):ky$="NumMult*":elseif iskey(107):ky$="NumAdd+":elseif iskey(108):ky$="NumSeparator"

    elseif iskey(109):ky$="NumSubtr-":elseif iskey(110):ky$="NumDezimal.":elseif iskey(111):ky$="NumDivision/"

    elseif iskey(187):ky$="Plus187":elseif iskey(188):ky$="Bindestrich188"

    elseif iskey(189):ky$="Minus189":elseif iskey(190):ky$="Kommapunkt190"

    elseif iskey(220):ky$="^":elseif iskey(221):ky$="Accent":elseif iskey(226):ky$="<"

    elseif iskey(9):ky$="Tab":elseif iskey(32):ky$="Space":elseif iskey(13):ky$="Return":elseif iskey(46)

        ky$="Entf":elseif iskey(144):ky$="NumLock":elseif iskey(145):ky$="Rollen":elseif iskey(160)
        ky$="Linkes_Shift":elseif iskey(161):ky$="Rechtes_Shift":elseif iskey(163):ky$="Rechtes_Strg"

    elseif iskey(165):ky$="Rechtes_Alt":elseif iskey(162):ky$="Linkes_Strg":elseif iskey(91)

        ky$="Linkes_Windows":elseif iskey(92):ky$="Rechtes_Windows":elseif iskey(93):ky$="AppleKey"

    elseif iskey(164):ky$="Linkes_Alt":elseif iskey(18):ky$="Alt_Menue":elseif iskey(16):ky$="Shift"

    elseif iskey(17):ky$="Strg"

    elseif iskey(3):ky$="Unterbr":elseif iskey(8):ky$="BackSpace":elseif iskey(12):ky$="NumEntfernen"

    elseif iskey(20):ky$="CapsLock":elseif iskey(33):ky$="BildHoch":elseif iskey(34):ky$="BildRunter"

    elseif iskey(35):ky$="Ende":elseif iskey(36):ky$="Pos1":elseif iskey(37):ky$="Links"

    elseif iskey(38):ky$="Hoch":elseif iskey(39):ky$="Rechts":elseif iskey(40):ky$="Runter"

    elseif iskey(41):ky$="Select":elseif iskey(42):ky$="Druck42":elseif iskey(43):ky$="Execute"

    elseif iskey(44):ky$="Druck44":elseif iskey(45):ky$="Einfg":elseif iskey(47):ky$="Hilfe"

    elseif iskey(112):ky$="F1":elseif iskey(113):ky$="F2":elseif iskey(114):ky$="F3"

    elseif iskey(115):ky$="F4":elseif iskey(116):ky$="F5":elseif iskey(117):ky$="F6"

    elseif iskey(118):ky$="F7":elseif iskey(119):ky$="F8":elseif iskey(120):ky$="F9"

    elseif iskey(121):ky$="F10"

    elseif iskey(122):ky$="F11":elseif iskey(123):ky$="F12"

        'elseif iskey(124):ky$="F13":elseif iskey(125):ky$="F14":elseif iskey(126):ky$="F15"
        'elseif iskey(127):ky$="F16":elseif iskey(128):ky$="F17":elseif iskey(129):ky$="F18"
        'elseif iskey(130):ky$="F19":elseif iskey(131):ky$="F20":elseif iskey(132):ky$="F21"
        'elseif iskey(133):ky$="F22":elseif iskey(134):ky$="F23":elseif iskey(135):ky$="F24"
        d'autre :ky$="Timer?"

    endif

endproc

 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
24.05.2021  
 




p.specht

GetKeyName-Funktion pour grand allemand Keyboards
========================================
cet Funktion fußt sur qui obigen variante, wurde mais ici aussi à ScanCode-Namen de grand Normtastaturen ergänzt. Au cours de qui XProfan-Befehl WaitScan dans %scankey zwar presque alle ScanCodes zurückliefert (pas z.B. pour Maustasten), hält cette Befehl den Programmablauf à. avec isKey(x)-Abfrageketten ist cela pas qui le cas, et cela Programme pourrait Minuteur-gesteuert une zur Keyboardabfrage parallelen le bout (z.B. une Anzeige) servir.

Fairer Weise muss dazugesagt volonté: cet Aussage bezieht sich sur Eingabe de individuel marque (z.B. pour Steuerungen)! Aufgrund qui seriellen Abfrage volonté Scancodes des alphabetisch vorderen Zeichens wiederholt, si zugleich un alphabetisch später abgefragter Tastendruck gemacht wird. Pour flüssige Eingabe de Cordes wäre dagegen 2-Key-rollover, besser encore n-Key-rollover erforderlich, quoi mais cela Erfassen de Key-pressed_Events et Key-release_Events erfordert, alors une entier autre technologie ...

Windowtitle "GetKeyName"
Windowstyle 24:Cls:declare ky$

Repeat

    waitinput 3000
    GetKeyName
    imprimer ky$;"  ";

until 0

Proc GetKeyName :clear ky$

    si iskey(1):ky$="Linke_Maustaste":elseif iskey(2):ky$="Rechte_Maustaste"

    elseif iskey(4):ky$="Mittlere_Maustaste":elseif iskey(27):ky$="Esc":elseif iskey(19):ky$="Pause"

    elseif iskey(69):ky$="E":elseif iskey(78):ky$="N":elseif iskey(73):ky$="I":elseif iskey(82):ky$="R"

    elseif iskey(83):ky$="S":elseif iskey(84):ky$="T":elseif iskey(65):ky$="A":elseif iskey(68):ky$="D"

    elseif iskey(72):ky$="H":elseif iskey(85):ky$="U":elseif iskey(76):ky$="L":elseif iskey(67):ky$="C"

    elseif iskey(71):ky$="G":elseif iskey(77):ky$="M":elseif iskey(79):ky$="O":elseif iskey(66):ky$="B"

    elseif iskey(87):ky$="W":elseif iskey(70):ky$="F":elseif iskey(75):ky$="K":elseif iskey(90):ky$="Z"

    elseif iskey(86):ky$="V":elseif iskey(80):ky$="P":elseif iskey(186):ky$="Ü"

    elseif iskey(222):ky$="Ä":elseif iskey(219):ky$="ß":elseif iskey(192):ky$="Ö"

    elseif iskey(74):ky$="J":elseif iskey(88):ky$="X":elseif iskey(89):ky$="Y":elseif iskey(81):ky$="Q"

    elseif iskey(48):ky$="0":elseif iskey(49):ky$="1":elseif iskey(50):ky$="2":elseif iskey(51):ky$="3"

    elseif iskey(52):ky$="4":elseif iskey(53):ky$="5":elseif iskey(54):ky$="6":elseif iskey(55):ky$="7"

    elseif iskey(56):ky$="8":elseif iskey(57):ky$="9"   :   elseif iskey(96):ky$="Num0"

    elseif iskey(97):ky$="Num1":elseif iskey(98):ky$="Num2":elseif iskey(99):ky$="Num3"

    elseif iskey(100):ky$="Num4":elseif iskey(101):ky$="Num5":elseif iskey(102):ky$="Num6"

    elseif iskey(103):ky$="Num7":elseif iskey(104):ky$="Num8":elseif iskey(105):ky$="Num9"

    elseif iskey(106):ky$="NumMult":elseif iskey(107):ky$="NumAdd":elseif iskey(108):ky$="NumSeparator"

    elseif iskey(109):ky$="NumSubtr":elseif iskey(110):ky$="NumDezimal":elseif iskey(111):ky$="NumDiv"

    elseif iskey(187):ky$="Plus":elseif iskey(188):ky$="Beistrich"

    elseif iskey(189):ky$="Minus":elseif iskey(190):ky$="Punkt":elseif iskey(191):ky$="Gatter"

    elseif iskey(220):ky$="^":elseif iskey(221):ky$="Accent":elseif iskey(226):ky$="<"

    elseif iskey(9):ky$="Tab":elseif iskey(32):ky$="Leerzchn":elseif iskey(13):ky$="Return":elseif iskey(46)

        ky$="Entf":elseif iskey(144):ky$="NumLock":elseif iskey(145):ky$="Rollen":elseif iskey(160)
        ky$="Linkes_Shift":elseif iskey(161):ky$="Rechtes_Shift":elseif iskey(163):ky$="Rechtes_Strg"

    elseif iskey(165):ky$="Rechtes_Alt":elseif iskey(162):ky$="Linkes_Strg":elseif iskey(91)

        ky$="Linkes_Windows":elseif iskey(92):ky$="Rechtes_Windows":elseif iskey(93):ky$="AppleKey"

    elseif iskey(164):ky$="Linkes_Alt":elseif iskey(18):ky$="Alt_Menue":elseif iskey(16):ky$="Shift"

    elseif iskey(17):ky$="Strg":

    elseif iskey(3):ky$="Unterbr":elseif iskey(8):ky$="BackSpace":elseif iskey(12):ky$="NumEntfernen"

    elseif iskey(20):ky$="CapsLock":elseif iskey(33):ky$="BildHoch":elseif iskey(34):ky$="BildRunter"

    elseif iskey(35):ky$="Ende":elseif iskey(36):ky$="Pos1":elseif iskey(37):ky$="Links"

    elseif iskey(38):ky$="Hoch":elseif iskey(39):ky$="Rechts":elseif iskey(40):ky$="Runter"

    elseif iskey(41):ky$="Select":elseif iskey(42):ky$="Druck":elseif iskey(43):ky$="Execute"

    elseif iskey(44):ky$="Druck44":elseif iskey(45):ky$="Einfg":elseif iskey(47):ky$="Hilfe"

    elseif iskey(112):ky$="F1":elseif iskey(113):ky$="F2":elseif iskey(114):ky$="F3"

    elseif iskey(115):ky$="F4":elseif iskey(116):ky$="F5":elseif iskey(117):ky$="F6"

    elseif iskey(118):ky$="F7":elseif iskey(119):ky$="F8":elseif iskey(120):ky$="F9"

        'elseif iskey(121):ky$="F10"

    elseif iskey(122):ky$="F11":elseif iskey(123):ky$="F12"

        'elseif iskey(124):ky$="F13":elseif iskey(125):ky$="F14":elseif iskey(126):ky$="F15"
        'elseif iskey(127):ky$="F16":elseif iskey(128):ky$="F17":elseif iskey(129):ky$="F18"
        'elseif iskey(130):ky$="F19":elseif iskey(131):ky$="F20":elseif iskey(132):ky$="F21"
        'elseif iskey(133):ky$="F22":elseif iskey(134):ky$="F23":elseif iskey(135):ky$="F24"
        d'autre :ky$="Timer"

    endif

endproc

 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
24.05.2021  
 




p.specht

WaitScan-Studie
=============
Es scheint dans XProfan-11 pas possible, Linke et Rechte Shift/Strg/vieux-Tasten mittels WaitScan-Befehl et qui zugehörigen Systemvariable %ScanKey trop unterscheiden. aussi Mauskeys volonté pas erkannt - en supplément gibt es WaitMouse et %MouseKey. Pour geringere Ansprüche reicht cet Art qui Abfrage à cause de ihrer simplicité souvent aus - anbei un Beispiel.

qui Namen qui Tasten volonté ici komprimierter zugewiesen: Pour aufeinander folgende TastenCodes ist jeweils seulement qui Startwert des ersten qui konsekutiven Namen erforderlich.

Windowtitle "WaitScan":cls:font 2
var k$="Timer Linke_Maustaste Rechte_Maustaste Unterbr Mittlere_Maustaste 19 récréation 27 Esc "+\
"69 E 78 N 73 I 82 R 83 S 84 T 65 A 68 D 72 H 85 U 76 L 67 C 71 G 77 M 79 O "+\
"66 B 87 W 70 F 75 K 90 Z 86 V 80 P 186 Ü 222 Ä 219 ß 192 Ö 74 J 88 X 89 Y 81 Q "+\
"48 Z0 Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8 Z9 96 Num0 Num1 Num2 Num3 Num4 Num5 Num6 Num7 Num8 Num9 "+\
"NumMult NumAdd NumSeparator NumSubtr NumDezimal NumDiv 187 Plus Beistrich Minus Punkt Gatter "+\
"220 ^ Accent 226 < 9 Tab 32 Space 13 Retour 144 NumLock Rollen "+\
"160 Linkes_Shift Rechtes_Shift 163 Rechtes_Strg 165 Rechtes_Alt 162 Linkes_Strg "+\
"91 Linkes_Windows Rechtes_Windows AppKey 164 Linkes_Alt 18 Alt_Gr 16 Shift Ctrl "+\'ou bien raus
"8 BackSpace 12 NumEntfernen 20 CapsLock 33 BildHoch BildRunter Ende Pos1 "+\
"Links Hoch à droite Runter Select Druck Execute Druck44 Einfg Entf Aider "+\
"112 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F20 F21 F22 F23 F24"
declare clé$[255],v&,w&,t$[],sz&:t$[]=explode(k$," "):sz&=SizeOf(t $[]):clear t$[]
:whileloop sz&:v&=&Boucle:si val(substr$(k$,v&," "))=0:clé$[w&]=substr$(k$,v&," "):inc w&:inc v&
d'autre:w&=val(substr$(k$,v&," ")):endif:endwhile:whileloop 0,255:v&=&Boucle:cas clé$[v&]=»
key$[v&]="ky_"+str$(v&)':imprimer v&,clé$[v&]:si %csrlin>31:waitinput:cls:endif

Endwhile

cls:repeat:WaitScan:imprimer Key$[%scankey],:until 0
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
24.05.2021  
 



Zum Experiment


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

993 Views

Untitledvor 0 min.
Ernst21.07.2021
Uwe ''Pascal'' Niemeier13.06.2021
Thomas Zielinski07.06.2021
Michael W.07.06.2021
plus...

Themeninformationen

cet Thema hat 1 participant:

p.specht (3x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie