13ГBAK, посмотри в этой теме начиная с 212-го поста, и в оммоде можно прямо в проге навигацию с цифровых клавиш убрать, и "горячие" переназначить. Код "4" = 52 (хекс 34) код "6" = 54 (хекс 36)
13ГBAK, ты статью которую аннимон дал читал? 1)Смотри в каких классах ява-адаптер делает изменения или еще проще в миникоммандере ищешь "kеy" (методы keyPressed, keyReleased) в классах (прямо не распаковывая). 2) чтобы проще было разобраться дизассемблируешь и/или декомпилируешь класс , ищешь в нем методы getGameAction и getKeyCode 3) если метод getKeyCode, то там может быть 2 варианта: а) коды задаются инструкцией (в дизе) bipush (хекс 10) (или sipush - хекс 11), а далее код клавиши, к примеру кусок из диза такой 12: aload_1 13: bipush 52 14: bipush 53 переводишь это в хекс: 2b10341035 (как переводить инструкции в байт код смотри статью "спецификация ява машины" на сайте аннимона) ищешь это в классе и меняешь код 34 на 90 например, смотришь чо получилось, мучаешь дальше, (преверефицировать не надо)
б) значения кодов могут быть в виде таблицы, например (в хексе) ff ff ff f5 (f6 это код 10 с минусом, то есть левый софт) xx xx xx xx (эти иксы -произвольные байты - действия для каждой из клавиш) ff ff ff fb ( а это -5) 00 00 00 32 (код четверки) и так далее по возрастающей(!!!). Здесь меняешь опять же код 32 на 90 и (важно) вырезаешь вместе с последующими 4мя байтами (то есть 00 00 00 90 хх хх хх хх - всего 8 байт), и вставляешь после последней записи вида 00 00 00 хх хх хх хх хх (они идут подряд) , то есть смещаешь ее вниз чтобы не нарушить последовательность. Иначе выдаст ошибку верификации
4 мар 2009 в 09:35