Tasten-Namen aus Scancode ermitteln

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

BtbN

Betreff: Tasten-Namen aus Scancode ermitteln

BeitragDi, Aug 02, 2005 13:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Function KeyNames$(scode)
 Select scode
  Case 1
   Return "ESC"
  Case 2
   Return "1"
  Case 3
   Return "2"
  Case 4
   Return "3"
  Case 5
   Return "4"
  Case 6
   Return "5"
  Case 7
   Return "6"
  Case 8
   Return "7"
  Case 9
   Return "8"
  Case 10
   Return "9"
  Case 11
   Return "0"
  Case 12
   Return "ß"
  Case 13
   Return "`"
  Case 14
   Return "Backspace"
  Case 15
   Return "Tabulator"
  Case 16
   Return "Q"
  Case 17
   Return "W"
  Case 18
   Return "E"
  Case 19
   Return "R"
  Case 20
   Return "T"
  Case 21
   Return "Z"
  Case 22
   Return "U"
  Case 23
   Return "I"
  Case 24
   Return "O"
  Case 25
   Return "P"
  Case 26
   Return "Ü"
  Case 27
   Return "+"
  Case 28
   Return "Return"
  Case 29
   Return "Linke Strg"
  Case 30
   Return "A"
  Case 31
   Return "S"
  Case 32
   Return "D"
  Case 33
   Return "F"
  Case 34
   Return "G"
  Case 35
   Return "H"
  Case 36
   Return "J"
  Case 37
   Return "K"
  Case 38
   Return "L"
  Case 39
   Return "Ö"
  Case 40
   Return "Ä"
  Case 41
   Return "^"
  Case 42
   Return "Linke Shift"
  Case 43
   Return "#"
  Case 44
   Return "Y"
  Case 45
   Return "X"
  Case 46
   Return "C"
  Case 47
   Return "V"
  Case 48
   Return "B"
  Case 49
   Return "N"
  Case 50
   Return "M"
  Case 51
   Return ","
  Case 52
   Return "."
  Case 53
   Return "-"
  Case 54
   Return "Rechte Shift"
  Case 55
   Return "* (Zahlenblock)"
  Case 56
   Return "Linke Alt"
  Case 57
   Return "Leertaste"
  Case 58
   Return "Feststelltaste"
  Case 59
   Return "F1"
  Case 60
   Return "F2"
  Case 61
   Return "F3"
  Case 62
   Return "F4"
  Case 63
   Return "F5"
  Case 64
   Return "F6"
  Case 65
   Return "F7"
  Case 66
   Return "F8"
  Case 67
   Return "F9"
  Case 68
   Return "F10"
  Case 197
   Return "NumLock"
  Case 70
   Return "Rollen"
  Case 71
   Return "7 (Zahlenblock)"
  Case 72
   Return "8 (Zahlenblock)"
  Case 73
   Return "9 (Zahlenblock)"
  Case 74
   Return "- (Zahlenblock)"
  Case 75
   Return "4 (Zahlenblock)"
  Case 76
   Return "5 (Zahlenblock)"
  Case 77
   Return "6 (Zahlenblock)"
  Case 78
   Return "+ (Zahlenblock)"
  Case 79
   Return "1 (Zahlenblock)"
  Case 80
   Return "2 (Zahlenblock)"
  Case 81
   Return "3 (Zahlenblock)"
  Case 82
   Return "0 (Zahlenblock)"
  Case 83
   Return ", (Zahlenblock)"
  Case 86
   Return "< und >"
  Case 87
   Return "F11"
  Case 88
   Return "F12"
  Case 153
   Return "Next Track (Media)"
  Case 156
   Return "Return (Zahlenblock)"
  Case 157
   Return "Rechte Strg"
  Case 160
   Return "Mute (Media)"
  Case 161
   Return "Taschenrechner (Windows)"
  Case 162
   Return "Play/Pause (Media)"
  Case 164
   Return "Stop (Media)"
  Case 174
   Return "Volume - (Media)"
  Case 176
   Return "Volume + (Media)"
  Case 178
   Return "Home (Internet)"
  Case 181
   Return "/ (Zahlenblock)"
  Case 183
   Return "Drucken"
  Case 184
   Return "Rechte Alt"
  Case 69
   Return "Pause"
  Case 199
   Return "Pos1"
  Case 200
   Return "Rauf"
  Case 201
   Return "Bild rauf"
  Case 203
   Return "Links"
  Case 205
   Return "Rechts"
  Case 207
   Return "Ende"
  Case 208
   Return "Runter"
  Case 209
   Return "Bild runter"
  Case 210
   Return "Einfügen"
  Case 211
   Return "Entfernen"
  Case 219
   Return "Linke Windowstaste"
  Case 220
   Return "Rechte Windowstaste"
  Case 221
   Return "Menütaste (Windows)"
  Case 222
   Return "Power (System)"
  Case 223
   Return "Sleep (System)"
  Case 227
   Return "Wake (System)"
  Case 229
   Return "Suchen (Internet)"
  Case 230
   Return "Favouriten (Internet)"
  Case 231
   Return "Aktualisieren (Internet)"
  Case 232
   Return "Stop (Internet)"
  Case 233
   Return "Vorwärts (Internet)"
  Case 234
   Return "Zurück (Internet)"
  Case 235
   Return "Computer (Windows)"
  Case 236
   Return "EMail (Internet)"
  Case 237
   Return "Media (Windows)"
  Default
   Return "Unknown"
 End Select
End Function


Diese Funktion gibt einem Anhand des Scancodes einer Taste deren Namen zurück. Sehr nützlich, z.B. wenn man die Tasten frei wählbar machen möchte, kann man so den Namen der aktuell ausgählten Taste in den Optionen anzeigen.

Edit: Kleiner Fehler behoben.
  • Zuletzt bearbeitet von BtbN am So, Aug 07, 2005 17:15, insgesamt 2-mal bearbeitet

Apprauuuu

BeitragDi, Aug 02, 2005 13:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Sowas hab ich gbraucht Very Happy
Arbeitsstand:
Umprogrammierung von LOL³Warriors und LOL³Fighters in Bmax...
LOL³Fighters wird spielerisch noch mal ordentlich aufpoliert, um es Ligatauglich zu machen (zumindest für private Funligen von mir ^^)

Lord_Vader

BeitragDi, Aug 02, 2005 14:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Sowas ist sinnvoll. Sowas suche ich auch nur die lösung hab ich mir auch schon erdacht. Wenn dann mach ichs mit Data sätzen oder externe datei.
Aber schon ganz ok!

Waveblue

BeitragDi, Aug 02, 2005 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Coole Sache!
Vielen Dank, spart mir ne Menge Arbeit!

THX! Wink
This is 10% luck
20% skill
15% concentrated power of will
5% pleasure, 50% pain
and 100% reason to remember the name

darth

Betreff: nich bbcode plz

BeitragDi, Aug 02, 2005 19:08
Antworten mit Zitat
Benutzer-Profile anzeigen
ähm...
is nützlich, aber wärs möglich, das mit normalem code (nicht bb code) zu posten - sonst hab ich die ganzen links und so drin, und um es abzuschreiben bin ich zu faul... ^^
thx

[EDIT:] THX A LOT!!!
Diese Signatur ist leer.
  • Zuletzt bearbeitet von darth am Di, Aug 02, 2005 21:20, insgesamt einmal bearbeitet

BtbN

BeitragDi, Aug 02, 2005 19:13
Antworten mit Zitat
Benutzer-Profile anzeigen
So, jetzt ists mit Normalem Code.

paul-graf

BeitragSo, Aug 07, 2005 15:07
Antworten mit Zitat
Benutzer-Profile anzeigen
ich bastelte mal eine erweiterung für den Cod.
Man muss den Cood unter die function einfügen:
BlitzBasic: [AUSKLAPPEN]
x%=0
While x <= 237
x%=x%+1
If KeyNames$(x%) <> \"Unknown\" Then Print x%+\" = \"+KeyNames$(x%)
Delay 500
Wend

BtbN

BeitragSo, Aug 07, 2005 17:02
Antworten mit Zitat
Benutzer-Profile anzeigen
aha, und was bringt das?

Dann hab ich auch noch ne Erweitrung:

BlitzBasic: [AUSKLAPPEN]
Graphics(500,500,16,2)

Repeat

For i = 1 To 237
If KeyHit(i) Then
If i = 1 Then
End
EndIf
ki1 = ki2
ki2 = ki3
ki3 = ki4
ki4 = ki5
ki5 = i
Exit
EndIf
Next

Text 0,0,KeyNames$(ki1)
Text 0,20,KeyNames$(ki2)
Text 0,40,KeyNames$(ki3)
Text 0,60,KeyNames$(ki4)
Text 0,80,KeyNames$(ki5)

Flip
Cls

Forever


End


Auch einfach unter die Funktion packen.

Jan_

Ehemaliger Admin

BeitragMo, Aug 08, 2005 8:06
Antworten mit Zitat
Benutzer-Profile anzeigen
wow, bei der menge leuten die sich bedanken, sehe ich, das viele zu faul zum suchen sind.

Schön das du es gemacht hast, aber alles schon da.
between angels and insects

Sebastian

BeitragMo, Aug 08, 2005 14:26
Antworten mit Zitat
Benutzer-Profile anzeigen
@Jan :

Wieso zu faul zum Suchen ???

Das die Scancodes in der OH steh is mir auch klar ......
... bloß die Tipp-Arbeit , das so umzusetzen ,will sich jeder sparen !
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf !

Jan_

Ehemaliger Admin

BeitragMo, Aug 08, 2005 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
ja, sogar das wurde schon gamscht!

ich selber, hatte das acuh schon gemacht, und das Engliche code Archiev, beinhaltet sowas acuh für die Deutsche Tastatur!
between angels and insects

D2006

Administrator

BeitragDi, Aug 09, 2005 10:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Muss Jan_ voll und ganz zustimmen:
https://www.blitzforum.de/view...=scancodes

MfG
D2006

Firstdeathmaker

BeitragDi, Aug 16, 2005 17:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Also für solche Sachen schreib ich mir meistens schnell nen Program welches das für mich herausliest. Hab genau soetwas aber auch schonmal hier gepostet.
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image
 

David

BeitragDi, Aug 16, 2005 17:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Der Quellcode ist grauenhaft. Mach die Bezeichnungen in den Datenefeld oder extern, wie Lord_Vader schon sagte...
Dann kannst du das eleganter lösen!

grüße

darth

Betreff: samples?!?

BeitragDo, Aug 25, 2005 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
hi...
ich hab in den samples ein kürzeres (wenn auch n bisschen komplizierteres) scancode ermittlungs prog gefunden...

Code: [AUSKLAPPEN]
Graphics 800,600

While KeyDown(1)=0
 For a=0 To 255
Text 50,50,"Press the key that you need the scan code for..."
   If KeyDown(a)<>0 Then
      Cls
      Text 100,100,"Scan code for this key is "+Str$(a)
   EndIf
 Next
Wend


... braucht nur 10 zeilen (mit leerzeilen...) *g*

[edit]
oops... =S
naja... das ding sollte (hoffentlich) auch n bisschen nützen...
Diese Signatur ist leer.
  • Zuletzt bearbeitet von darth am Fr, Aug 26, 2005 21:30, insgesamt einmal bearbeitet
 

MegaTefyt

BeitragDo, Aug 25, 2005 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast glau bich den Sinn nicht so ganz verstanden. Es geht darum für einen Key-Scancode den TASTENNAMEN rauszufinden, nicht die Nummer einer Taste die gedrückt wird.

Firstdeathmaker

BeitragDo, Aug 25, 2005 17:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, ich würd´s so machen:


Code: [AUSKLAPPEN]
; Tastennamen
Dim TASTENNAME$(237)
Function Init_TASTENNAME()
   Local stream = ReadFile("TASTENCODE.txt")
   For i = 1 To 237
      TASTENNAME(i) = Mid(ReadLine (stream),Len(i)+3)
   Next
End Function

; Beispiel
Init_TASTENNAME()
Repeat
   For i = 1 To 237
      If KeyHit(i) Print TASTENNAME(i)
   Next
Until KeyDown(1)
End


Und hier die Textdatei:

Zitat:
1: ESC
2: 1
3: 2
4: 3
5: 4
6: 5
7: 6
8: 7
9: 8
10: 9
11: 0
12: ß und ? \
13: `
14: Backspace
15: Tabulator
16: Q
17: W
18: E
19: R
20: T
21: Z
22: U
23: I
24: O
25: P
26: Ü
27: + und * und ~
28: Return
29: Linke Strg
30: A
31: S
32: D
33: F
34: G
35: H
36: J
37: K
38: L
39: Ö
40: Ä
41: ^ und °
42: Linke Shift
43: # und '
44: Y
45: X
46: C
47: V
48: B
49: N
50: M
51: , und ;
52: . und :
53: - und _
54: Rechte Shift
55: * (Zahlenblock)
56: Linke Alt
57: Leertaste
58: Feststelltaste
59: F1
60: F2
61: F3
62: F4
63: F5

64: F6
65: F7
66: F8
67: F9
68: F10
69: Pause
70: Rollen
71: 7 (Zahlenblock)
72: 8 (Zahlenblock)
73: 9 (Zahlenblock)
74: - (Zahlenblock)
75: 4 (Zahlenblock)
76: 5 (Zahlenblock)
77: 6 (Zahlenblock)
78: + (Zahlenblock)
79: 1 (Zahlenblock)
80: 2 (Zahlenblock)
81: 3 (Zahlenblock)
82: 0 (Zahlenblock)
83: , (Zahlenblock)
84: Unnamed
85: Unnamed
86: < und >
87: F11
88: F12
89: Unnamed
90: Unnamed
91: Unnamed
92: Unnamed
93: Unnamed
94: Unnamed
95: Unnamed
96: Unnamed
97: Unnamed
98: Unnamed
99: Unnamed
100: Unnamed
101: Unnamed
102: Unnamed
103: Unnamed
104: Unnamed
105: Unnamed
106: Unnamed
107: Unnamed
108: Unnamed
109: Unnamed
110: Unnamed
111: Unnamed
112: Unnamed
113: Unnamed
114: Unnamed
115: Unnamed
116: Unnamed
117: Unnamed
118: Unnamed
119: Unnamed
120: Unnamed
121: Unnamed
122: Unnamed
123: Unnamed
124: Unnamed
125: Unnamed
126: Unnamed
127: Unnamed
128: Unnamed
129: Unnamed
130: Unnamed
131: Unnamed
132: Unnamed
133: Unnamed
134: Unnamed
135: Unnamed
136: Unnamed
137: Unnamed
138: Unnamed
139: Unnamed
140: Unnamed
141: Unnamed
142: Unnamed
143: Unnamed
144: Unnamed
145: Unnamed
146: Unnamed
147: Unnamed
148: Unnamed
149: Unnamed
150: Unnamed
151: Unnamed
152: Unnamed
153: Next Track (Media)
154: Unnamed
155: Unnamed
156: Return (Zahlenblock)
157: Rechte Strg
158: Unnamed
159: Unnamed
160: Mute (Media)
161: Taschenrechner (Windows)
162: Play/Pause (Media)
163: Unnamed
164: Stop (Media)
165: Unnamed
166: Unnamed
167: Unnamed
168: Unnamed
169: Unnamed
170: Unnamed
171: Unnamed
172: Unnamed
173: Unnamed
174: Volume - (Media)
175: Unnamed
176: Volume + (Media)
177: Unnamed
178: Home (Internet)
179: Unnamed
180: Unnamed
181: / (Zahlenblock)
182: Unnamed
183: Drucken
184: Rechte Alt
185: Unnamed
186: Unnamed
187: Unnamed
188: Unnamed
189: Unnamed
190: Unnamed
191: Unnamed
192: Unnamed
193: Unnamed
194: Unnamed
195: Unnamed
196: Unnamed
197: NumLock
198: Unnamed
199: Pos1
200: Rauf
201: Bild rauf
202: Unnamed
203: Links
204: Unnamed
205: Rechts
206: Unnamed
207: Ende
208: Runter
209: Bild runter
210: Einfügen
211: Entfernen
212: Unnamed
213: Unnamed
214: Unnamed
215: Unnamed
216: Unnamed
217: Unnamed
218: Unnamed
219: Linke Windowstaste
220: Rechte Windowstaste
221: Menütaste (Windows)
222: Power (System)
223: Sleep (System)
224: Unnamed
225: Unnamed
226: Unnamed
227: Wake (System)
228: Unnamed
229: Suchen (Internet)
230: Favouriten (Internet)
231: Aktualisieren (Internet)
232: Stop (Internet)
233: Vorwärts (Internet)
234: Zurück (Internet)
235: Computer (Windows)
236: EMail (Internet)
237: Media (Windows)


Ihr müsst die Texdatei so wie im Programm nennen, oder eben den Namen im Program umändern.
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image
 

airblaster

BeitragMi, Aug 31, 2005 13:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder alternativ mit einer userlib:
https://www.blitzforum.de/view...060#146060

(vielen Dank noch mal an Sebastian für den Auflösung des Bugs!)

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group