Page 1 of 1

Как добавлять раскладки?

Posted: Sat May 12, 2007 5:06 pm
by DmitrySokolowsky
Решил я добавить украинскую раскладку. Первым делом попробовал модифицировать setup.asm, добавив в раздел SET KEYMAP вот такой кусок:

Code: Select all

    cmp  [keyboard],4
    jnz  nosetkeylua
    mov  eax,21       ; ukrainian
    mov  ebx,2
    mov  ecx,1
    mov  edx,ua_keymap
    mcall
    mov  eax,21
    inc  ecx
    mov  edx,ua_keymap_shift
    mcall
    call alt_gen
    mov  eax,21
    mov  ecx,9
    mov  edx,5
    mcall
  nosetkeylua:
Но почему-то не компилируется - build.bat выдаёт такую информацию:

Code: Select all

flat assembler  version 1.67.21  (516862 kilobytes memory)
setup.asm [786]:
    mov  edx,ua_keymap
..\..\..\macros.inc [379] mov [2]:
      if (arg2) = 0
error: undefined symbol.
Для продолжения нажмите любую клавишу . . .
Почему не получается?

Posted: Sat May 12, 2007 5:44 pm
by Veliant
может не обьявлена переменная ua_keymap???

Posted: Sat May 12, 2007 6:02 pm
by DmitrySokolowsky
Объявил. На этот раз build.bat пишет:

Code: Select all

    db    0,"ф
error: missing end quote
Дело в том, что Tinypad просто не замечает украинскую букву "І" и ставит на её месте пробел. Это приводит к ошибкам в файле. Как это лечится?

Posted: Sat May 12, 2007 7:21 pm
by andrew_programmer
А ты попробуй поставить английскую "i".
На пачках с продуктами часто ставят именно такую букву.

Posted: Sat May 12, 2007 8:04 pm
by DmitrySokolowsky
Она по другому кодируется.

Posted: Sat May 12, 2007 9:28 pm
by Serge
Атауальпа

Забей шестнадцатиричный код.

Posted: Sat May 12, 2007 9:32 pm
by Freeman
andrew_programmer wrote:А ты попробуй поставить английскую "i".
За такие советы надо стрелять на месте.

P. S. Не украинец.

Posted: Sun May 13, 2007 9:04 am
by DmitrySokolowsky
Serge она находится на клавиатуре там же, где "s" и "ы", значит, в досовской кодировке будет тот же самый код.

Posted: Sun May 13, 2007 10:49 am
by Serge
Атауальпа

Так досовские кодировки разные. У тебя ведь будет украинская кодовая таблица, а не русская 866. Главное правильно составить таблицу перекодировок.

Posted: Tue May 15, 2007 10:50 pm
by DmitrySokolowsky
Боюсь, что я это пока не осилю... :cry: