Делаем внешний файл, допустим "keyboard.cfg", открываем его блокнотом и 237 раз пишем с новой строки 0
Потом для каждого сканкода (не забывай пропускать пропущеные в сканкод-листе сканкоды) пишем действие, например Jump или Use.
Далее пишем (в исходнике) Type KeybActions
Field Act$,Scanc%
End Type
sc_file = ReadFile("keyboard.cfg")
Function ReadyKeybActions(scfile$) ;Подготавливает действия
For rkac = 1 To 237
kba.KeybActions = New KeybActions
kba\Act$ = ReadLine(sc_file)
kba\Scanc% = rkac
Next
End Function
Function ActScan(acti$) ;Возвращает сканкод действия. Если дейстивие отсутствует, то будет возвращено 237
ascv = 0
For kba.KeybActions = New KeybActions
acsv = acsv + 1
If kba\Act$ = acti$ Then Exit
Next
Return acsv
End Function
Ах да, сэмпл-
Type KeybActions
Field Act$
End Type
sc_file = ReadFile("keyboard.cfg")
While e=0
If KeyDown(ActScan("Exit")) Then End
Wend
Function ReadyKeybActions(scfile$) ;Подготавливает действия
For rkac = 1 To 237
kba.KeybActions = New KeybActions
kba\Act$ = ReadLine(sc_file)
Next
End Function
Function ActScan(acti$) ;Возвращает сканкод действия. Если дейстивие отсутствует, то будет возвращено 237
ascv = 0
For kba.KeybActions = New KeybActions
acsv = acsv + 1
If kba\Act$ = acti$ Then Exit
Next
Return acsv
End Function
А вот функция изменения действий-
Function ChangeAction(actio$,new_scan) ;Смена действия.
For kba.KeybActions = Each KeybActions
If kba\Act$ = actio$ Then actioncv = kba\Act$ kba\Act$ = 0
Next
For kba.KeybActions = Each KeybActions
If kba\Scanc% = new_scan Then kba\Act$ = actioncv
Next
End Function
Добавлено (29.06.2009, 12:43)
---------------------------------------------
PS: Ты как всегда путаешь раздел)