Функция 21, подфункция 2 - установить раскладку клавиатуры.
Раскладка клавиатуры используется для преобразования сканкодов,
поступающих от клавиатуры, в ASCII-коды, считываемые функцией 2.
Параметры:
- eax = 21 - номер функции
- ebx = 2 - номер подфункции
- ecx = какую раскладку устанавливать:
- 1 = нормальную
- 2 = раскладку при нажатом Shift
- 3 = раскладку при нажатом Alt
- edx = указатель на раскладку - таблицу длиной 128 байт
Или:
- ecx = 9
- dx = идентификатор страны (1=eng, 2=fi, 3=ger, 4=rus)
Возвращаемое значение:
- eax = 0 - успешно
- eax = 1 - параметр задан неверно
Замечания:
- Если нажат Alt, то используется раскладка с Alt;
если не нажат Alt, но нажат Shift, то
используется раскладка с Shift;
если не нажаты Alt и Shift, но нажат Ctrl, то используется
нормальная раскладка, после чего из кода вычитается 0x60;
если не нажата ни одна из управляющих клавиш, то используется
нормальная раскладка.
- Получить раскладки и идентификатор страны можно с помощью
подфункции 2 функции 26.
- Идентификатор страны - глобальная системная переменная, которая
самим ядром не используется; однако приложение @panel отображает
соответствующую текущей стране иконку.
- Приложение @panel переключает раскладки по запросу пользователя.