December 03, 2020, 07:51:55 PM

Author Topic: [bb] Key Constants and String Array by Perturbatio [ 1+ years ago ]  (Read 631 times)

Offline BlitzBot

  • Jr. Member
  • **
  • Posts: 1
Title : Key Constants and String Array
Author : Perturbatio
Posted : 1+ years ago

Description : (BB)
Contains constants for all scancodes and a string array containing key names.
The string array is useful for creating a key redefine function.


Code :
Code: BlitzBasic
  1. Const KEY_NONE                          = 0
  2. Const KEY_ESCAPE                        = 1
  3. Const KEY_1                                     = 2
  4. Const KEY_2                                     = 3
  5. Const KEY_3                                     = 4
  6. Const KEY_4                                     = 5
  7. Const KEY_5                                     = 6
  8. Const KEY_6                                     = 7
  9. Const KEY_7                                     = 8
  10. Const KEY_8                                     = 9
  11. Const KEY_9                                     = 10
  12. Const KEY_0                                     = 11
  13. Const KEY_HYPHEN                        = 12
  14. Const KEY_EQUAL                         = 13
  15. Const KEY_BACKSPACE                     = 14
  16. Const KEY_TAB                           = 15
  17. Const KEY_Q                                     = 16
  18. Const KEY_W                                     = 17
  19. Const KEY_E                                     = 18
  20. Const KEY_R                                     = 19
  21. Const KEY_T                                     = 20
  22. Const KEY_Y                                     = 21
  23. Const KEY_U                                     = 22
  24. Const KEY_I                                     = 23
  25. Const KEY_O                                     = 24
  26. Const KEY_P                                     = 25
  27. Const KEY_BRACKET_LEFT          = 26
  28. Const KEY_BRACKET_RIGHT         = 27
  29. Const KEY_ENTER                         = 28
  30. Const KEY_CTRL_LEFT                     = 29
  31. Const KEY_A                                     = 30
  32. Const KEY_S                                     = 31
  33. Const KEY_D                                     = 32
  34. Const KEY_F                                     = 33
  35. Const KEY_G                                     = 34
  36. Const KEY_H                                     = 35
  37. Const KEY_J                                     = 36
  38. Const KEY_K                                     = 37
  39. Const KEY_L                                     = 38
  40. Const KEY_SEMICOLON                     = 39
  41. Const KEY_APOSTROPHE            = 40
  42. Const KEY_GRAVE                         = 41
  43. Const KEY_SHIFT_LEFT            = 42
  44. Const KEY_BACKSLASH                     = 43
  45. Const KEY_Z                                     = 44
  46. Const KEY_X                                     = 45
  47. Const KEY_C                                     = 46
  48. Const KEY_V                                     = 47
  49. Const KEY_B                                     = 48
  50. Const KEY_N                                     = 49
  51. Const KEY_M                                     = 50
  52. Const KEY_COMMA                         = 51
  53. Const KEY_PERIOD                        = 52
  54. Const KEY_SLASH                         = 53
  55. Const KEY_SHIFT_RIGHT           = 54
  56. Const KEY_NUMPAD_MULTIPLY       = 55
  57. Const KEY_ALT_LEFT                      = 56
  58. Const KEY_SPACE                         = 57
  59. Const KEY_CAPS_LOCK                     = 58
  60. Const KEY_F1                            = 59
  61. Const KEY_F2                            = 60
  62. Const KEY_F3                            = 61
  63. Const KEY_F4                            = 62
  64. Const KEY_F5                            = 63
  65. Const KEY_F6                            = 64
  66. Const KEY_F7                            = 65
  67. Const KEY_F8                            = 66
  68. Const KEY_F9                            = 67
  69. Const KEY_F10                           = 68
  70. Const KEY_NUM_LOCK                      = 69
  71. Const KEY_SCROLL_LOCK           = 70
  72. Const KEY_NUMPAD_7                      = 71
  73. Const KEY_NUMPAD_8                      = 72
  74. Const KEY_NUMPAD_9                      = 73
  75. Const KEY_NUMPAD_HYPHEN         = 74
  76. Const KEY_NUMPAD_4                      = 75
  77. Const KEY_NUMPAD_5                      = 76
  78. Const KEY_NUMPAD_6                      = 77
  79. Const KEY_PLUS                          = 78
  80. Const KEY_NUMPAD_1                      = 79
  81. Const KEY_NUMPAD_2                      = 80
  82. Const KEY_NUMPAD_3                      = 81
  83. Const KEY_NUMPAD_0                      = 82
  84. Const KEY_NUMPAD_PERIOD         = 83
  85. Const KEY_F11                           = 87
  86. Const KEY_F12                           = 88
  87. Const KEY_F13                           = 100
  88. Const KEY_F14                           = 101
  89. Const KEY_F15                           = 102
  90. Const KEY_NUMPAD_EQUAL          = 141
  91. Const KEY_NUMPAD_ENTER          = 156
  92. Const KEY_CTRL_RIGHT            = 157
  93. Const KEY_NUMPAD_SLASH          = 181
  94. Const KEY_SYS_RQ                        = 183
  95. Const KEY_ALT_RIGHT                     = 184
  96. Const KEY_PAUSE                         = 197
  97. Const KEY_HOME                          = 199
  98. Const KEY_ARROW_UP                      = 200
  99. Const KEY_PAGE_UP                       = 201
  100. Const KEY_ARROW_LEFT            = 203
  101. Const KEY_ARROW_RIGHT           = 205
  102. Const KEY_END                           = 207
  103. Const KEY_ARROW_DOWN            = 208
  104. Const KEY_PAGE_DOWN                     = 209
  105. Const KEY_INSERT                        = 210
  106. Const KEY_DELETE                        = 211
  107. Const KEY_WINDOWS_LEFT          = 219
  108. Const KEY_WINDOWS_RIGHT         = 220
  109.  
  110. Dim Keynames$(220)
  111. For n = 0 To 220
  112.         Keynames(n)= "Unknown"
  113. Next
  114.         Keynames(1)= "Escape"
  115.         Keynames(2)= "1"
  116.         Keynames(3)= "2"
  117.         Keynames(4)= "3"
  118.         Keynames(5)= "4"
  119.         Keynames(6)= "5"
  120.         Keynames(7)= "6"
  121.         Keynames(8)= "7"
  122.         Keynames(9)= "8"
  123.         Keynames(10)= "9"
  124.         Keynames(11)= "0"
  125.         Keynames(12)= "-"
  126.         Keynames(13)= "="
  127.         Keynames(14)= "Backspace"
  128.         Keynames(15)= "Tab"
  129.         Keynames(16)= "Q"
  130.         Keynames(17)= "W"
  131.         Keynames(18)= "E"
  132.         Keynames(19)= "R"
  133.         Keynames(20)= "T"
  134.         Keynames(21)= "Y"
  135.         Keynames(22)= "U"
  136.         Keynames(23)= "I"
  137.         Keynames(24)= "O"
  138.         Keynames(25)= "P"
  139.         Keynames(26)= "["
  140.         Keynames(27)= "]"
  141.         Keynames(28)= "Return"
  142.         Keynames(29)= "Left Ctrl"
  143.         Keynames(30)= "A"
  144.         Keynames(31)= "S"
  145.         Keynames(32)= "D"
  146.         Keynames(33)= "F"
  147.         Keynames(34)= "G"
  148.         Keynames(35)= "H"
  149.         Keynames(36)= "J"
  150.         Keynames(37)= "K"
  151.         Keynames(38)= "L"
  152.         Keynames(39)= ";"
  153.         Keynames(40)= "'"
  154.         Keynames(41)= "#";UK Keyboard
  155.         Keynames(42)= "Left Shift"
  156.         Keynames(43)= ""
  157.         Keynames(44)= "Z"
  158.         Keynames(45)= "X"
  159.         Keynames(46)= "C"
  160.         Keynames(47)= "V"
  161.         Keynames(48)= "B"
  162.         Keynames(49)= "N"
  163.         Keynames(50)= "M"
  164.         Keynames(51)= ","
  165.         Keynames(52)= "."
  166.         Keynames(53)= "/"
  167.         Keynames(54)= "Right Shift"
  168.         Keynames(55)= "Numpad *"
  169.         Keynames(56)= "Left Alt"
  170.         Keynames(57)= "Space"
  171.         Keynames(58)= "Caps Lock"
  172.         Keynames(59)= "F1"
  173.         Keynames(60)= "F2"
  174.         Keynames(61)= "F3"
  175.         Keynames(62)= "F4"
  176.         Keynames(63)= "F5"
  177.         Keynames(64)= "F6"
  178.         Keynames(65)= "F7"
  179.         Keynames(66)= "F8"
  180.         Keynames(67)= "F9"
  181.         Keynames(68)= "F10"
  182.         Keynames(69)= "Num Lock"
  183.         Keynames(70)= "Scroll Lock"
  184.         Keynames(71)= "Numpad 7"
  185.         Keynames(72)= "Numpad 8"
  186.         Keynames(73)= "Numpad 9"
  187.         Keynames(74)= "Numpad -"
  188.         Keynames(75)= "Numpad 4"
  189.         Keynames(76)= "Numpad 5"
  190.         Keynames(77)= "Numpad 6"
  191.         Keynames(78)= "Numpad +"
  192.         Keynames(79)= "Numpad 1"
  193.         Keynames(80)= "Numpad 2"
  194.         Keynames(81)= "Numpad 3"
  195.         Keynames(82)= "Numpad 0"
  196.         Keynames(83)= "Numpad ."
  197.  
  198.         Keynames(87)= "F11"
  199.         Keynames(88)= "F12"
  200.  
  201.         Keynames(100)= "F13"
  202.         Keynames(101)= "F14"
  203.         Keynames(102)= "F15"
  204.        
  205.         Keynames(141)= "Numpad ="
  206.        
  207.         Keynames(156)= "Numpad Enter"
  208.         Keynames(157)= "Right Ctrl"
  209.        
  210.         Keynames(181)= "Numpad /"
  211.        
  212.         Keynames(183)= "Sys RQ"
  213.         Keynames(184)= "Right Alt"
  214.        
  215.         Keynames(197)= "Pause"
  216.        
  217.         Keynames(199)= "Home"
  218.         Keynames(200)= "Up Arrow"
  219.         Keynames(201)= "Page Up"
  220.        
  221.         Keynames(203)= "Left Arrow"
  222.        
  223.         Keynames(205)= "Right Arrow"
  224.        
  225.         Keynames(207)= "End"
  226.         Keynames(208)= "Down Arrow"
  227.         Keynames(209)= "Page Down"
  228.         Keynames(210)= "Insert"
  229.         Keynames(211)= "Delete"
  230.        
  231.         Keynames(219)= "Left Windows"
  232.         Keynames(220)= "Right Windows"


Comments :


Slinks(Posted 1+ years ago)

 Er... so how do we use this?


semar(Posted 1+ years ago)

 The constant list is useful, because once included in your source, you can then write:
Code: [Select]
If KeyDown(K_ESCAPE)instead of the less readable:
Code: [Select]
If KeyDown(1)The KeyName$ array could also be useful, because you can tell to the user a brief description of the key he/she has pressed.One application example of this could be - as already written by the author - during re-defining keys:
Code: [Select]
action$ = "moving up"
print "press the button for " + action
key = waitkey()
print "you have choosen " + KeyName(key) + " for " + action + " button"
Nice one Perturbatio.Sergio.


Perturbatio(Posted 1+ years ago)

 another example of usage is in the <a href="../Community/posts6641.html?topic=39934" target="_blank">Alien Breed remake[/url]The map editor has shortcut keys for the buttons displayed on the buttons themselves.  This include made it much easier for me to implement.


wizzlefish(Posted 1+ years ago)

 Very useful! [/i]

 

SimplePortal 2.3.6 © 2008-2014, SimplePortal