home *** CD-ROM | disk | FTP | other *** search
/ Acorn User 4 / AUCD4.iso / arcade / arcgames / twinwd160 / !TwinWorld / SetKeys (.txt) < prev    next >
RISC OS BBC BASIC V Source  |  1996-10-28  |  3KB  |  114 lines

  1.  >SetKeys
  2.  Program by James Byrne (jbyrne@gol.com)
  3.  V1.50 (28 October 1996)
  4. Error:
  5.  OldKeys% 11,NewKeys% 11
  6. "Load <TwinWorld$Dir>.Keys "+
  7. ~OldKeys%
  8.  KeyName$(11),KeyMap%(11),Key$(124),Bl% 8
  9.  K%=0 
  10.  NewKeys%?K%:
  11.  K%=1 
  12.  KeyName$(K%),KeyMap%(K%):
  13.  K%=3 
  14.  124:
  15.  Key$(K%):
  16.  "OS_InstallKeyHandler",1 
  17.  KbdID%
  18.  KbdID%=2 
  19.  I%=1 
  20.  K%,Key$(K%):
  21. >!Bl%=256:Bl%!4=-1:
  22.  "OS_ReadVduVariables",Bl%,Bl%:W%=!Bl%
  23. Centre("Twin World Key Definitions")
  24. DisplayKeys
  25. CentreY(15,"Change keys ............ 1")
  26. CentreY(17,"Restore default keys ... 2")
  27. CentreY(19,"Exit ................... 3")
  28. CentreY(22,"Enter choice (1-3)")
  29. :Ch%=
  30.  Ch%>0
  31. Ch%<4
  32.  Ch% 
  33. DefineKeys
  34. DefaultKeys
  35.  Ch%=3
  36. Centre(P$):
  37. (P$))/2)P$:
  38. CentreY(Y%,P$):
  39. (P$))/2,Y%)P$;:
  40. DisplayKeys
  41.  K%=1 
  42. W%/2-
  43. (KeyName$(K%)),K%+1)KeyName$(K%);" - ";Key$(OldKeys%?KeyMap%(K%)-128)
  44. DefineKeys
  45.  "OS_Byte",200,1 
  46.  ,OldFX200%
  47. Centre("Choose keys")
  48. CentreY(15,"Press key for "+KeyName$(K%))
  49. "OS_Byte",121,3 
  50.  ,Key%:
  51.  Key%=&FF
  52. "OS_Byte",121,3 
  53.  ,Key%:
  54.  Key%<>&FF
  55. 5     J%=1
  56.  J%<K% 
  57.  NewKeys%?(KeyMap%(J%))<>Key%+128:J%+=1:
  58.  J%=K% 
  59. 0,17)
  60. (W%);
  61. W%/2-
  62. (KeyName$(K%)),K%+1)KeyName$(K%);" - ";Key$(Key%)
  63. :%  NewKeys%?(KeyMap%(K%))=Key%+128
  64.   K%+=1
  65. CentreY(17,"That key has already been used.")
  66. 0,15)
  67. (W%);
  68.  K%=12
  69. "OS_Byte",200,OldFX200%
  70. SaveKeys
  71. DefaultKeys
  72. Centre("Default keys")
  73.  K%=0 
  74.  NewKeys%?K%:
  75.  K%=1 
  76. W%/2-
  77. (KeyName$(K%)))KeyName$(K%);" - ";Key$(NewKeys%?KeyMap%(K%)-128)
  78. SaveKeys
  79. SaveKeys
  80. Q    *FX21
  81. CentreY(15,"Save these keys (Y/N)? ")
  82. :YN$=
  83. "YyNn",YN$):
  84.  YN$="N" 
  85.  YN$="n" 
  86.  K%=0 
  87.  10:OldKeys%?K%=NewKeys%?K%:
  88. "Save <TwinWorld$Dir>.Keys "+
  89. ~OldKeys%+"+B"
  90. *Stamp <TwinWorld$Dir>.Keys
  91. Error
  92. <>17 
  93.  84+128,55+128,89+128,112+128,98+128
  94.  73+128,81+128,97+128,66+128,79+128,104+128
  95.  Left,7,Right,8,Up,9,Down,10,Fire,5
  96.  Choose Bubble,4,Call Merchant,0,Pause,1
  97.  Lose a Life,3,End Game,2,Save Game,6
  98.  Left Shift,Left Ctrl,Left Alt,Right Shift,Right Ctrl,Right Alt
  99.  Left mouse button,Centre mouse button,Right mouse button,,,,
  100.  Q,3,4,5,F4,8,F7,-,6,"
  101. ",Keypad 6,Keypad 7,F11,F12,F10,Scroll lock
  102.  Print,W,E,T,7,I,9,0,_,"
  103. ",Keypad 8,Keypad 9,Break,~,
  104. ,Back space
  105.  1,2,D,R,6,U,O,P,[,"
  106. ",Keypad +,Keypad -,Keypad Enter,Insert,Home
  107.  Page Up,Caps Lock,A,X,F,Y,J,K,@,;,Return,Keypad /,,Keypad .
  108.  Num Lock,Page Down,',,S,C,G,H,N,L,;,],Delete,Keypad #,Keypad *,
  109.  =,(extra),,Tab,Z,Space Bar,V,B,M,",",.,/,Copy,Keypad 0,Keypad 1
  110.  Keypad 3,,,,Escape,F1,F2,F3,F5,F6,F8,F9,\,"
  111. ",Keypad 4,Keypad 5
  112.  Keypad 2
  113.  45,`,94,\,105,End,120,#
  114.