English
Experimente

keyboard-Experimentierbretter

 

p.specht

Info: The windows-Funktionstaste, The Keys DRUCK, F10 as well as The left ALT-Button keep your function to Window-Control, what something with the Direktabfrage interferiert. The Fn-Button on the Laptop is with isKey() not abfragbar, modifiziert but Funktionstasten; NumLock toggles furthermore The Num-Tastenfunktionen circa, UNTERBR works the ongoing Program directly.

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

Repeat

    waitinput 3000
    GetKey
    print ky$;"  ";

until 0

Proc GetKey :clear ky$

    if 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"
        else :ky$="Timer?"

    endif

endproc

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




p.specht

GetKeyName-function for large German Keyboards
========================================
These function fußt on the obigen Variante, watts but here too around the ScanCode-names of large Normtastaturen complement. During the XProfan-commands WaitScan in %scankey of course almost any ScanCodes returns (not z.B. for Mouse buttons), holds this commands whom Programmablauf on. with isKey(x)-Abfrageketten is not the case, and the program could Timer-gesteuert a to Keyboardabfrage parallelen term (z.B. a display) valet.

Fairer point must dazugesagt go: These testimony relating itself on input of individual characters (z.B. for Steuerungen)! because of the seriellen request go Scancodes the alphabetical vorderen Zeichens repeatedly, if zugleich one alphabetical later abgefragter Tastendruck made becomes. for flüssige input of Strings would against it 2-Key-rollover, rather yet n-Key-rollover necessary, what but the Erfassen of Key-pressed_Events and Key-release_Events requires, means a integrally others engineering ...

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

Repeat

    waitinput 3000
    GetKeyName
    print ky$;"  ";

until 0

Proc GetKeyName :clear ky$

    if 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"
        else :ky$="Timer"

    endif

endproc

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




p.specht

WaitScan-investigation
=============
it shining in XProfan-11 you don't say so, left and rights Invoice values/Strg/old-Keys through WaitScan-commands and the pertinent Systemvariable %ScanKey To discern. too Mauskeys go not recognized - moreover there WaitMouse and %MouseKey. for geringere Ansprüche reicht these manner the request because of yours Simplicity often from - enclosed an example.

The names the Keys go here komprimierter allocated: for one after another following TastenCodes is each only the Startwert the first the konsekutiven names necessary.

Windowtitle "WaitScan":cls:font 2
var k$="Timer Linke_Maustaste Rechte_Maustaste Unterbr Mittlere_Maustaste 19 interval 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 less point Gatter "+\
"220 ^ Accent 226 < 9 tab 32 Space 13 Return 144 NumLock rumble "+\
"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 Invoice values Ctrl "+\'or out
"8 BackSpace 12 NumEntfernen 20 CapsLock 33 BildHoch BildRunter end Pos1 "+\
"Links high right down Select pressure Execute pressure44 Einfg Entf Help "+\
"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 key$[255],v&,w&,t$[],sz&:t$[]=explode(k$," "):sz&=SizeOf(t $[]):clear t$[]
:whileloop sz&:v&=&Loop:if val(substr$(k$,v&," "))=0:key$[w&]=substr$(k$,v&," "):inc w&:inc v&
else:w&=val(substr$(k$,v&," ")):endif:endwhile:whileloop 0,255:v&=&Loop:case key$[v&]=""
key$[v&]="ky_"+st$(v&)':print v&,key$[v&]:if %csrlin>31:waitinput:cls:endif

Endwhile

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



Zum Experiment


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

1.111 Views

Themeninformationen

this Topic has 1 subscriber:

p.specht (3x)


Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie