Цитата Сообщение от Patron Посмотреть сообщение
Левая клавиша <Shift> при одиночном нажатии отрабатывает как <ВР>, правая - как <НР>.
Это на 15ИЭ? Потому, как на 7004 нет клавиши НР есть две клавиши ВР, работающих в точности, как Shift и кнопка ФКС - практически, тот же CapsLock, только срабатывающая не при простом нажатии, а только под шифтом (ВР). И отдельных кнопок РУС и ЛАТ у 7004 нет - есть одна рус/лат. Так, что очень желательно сделать вариант 7004, включать его можно в конфиге, внешняя кнопка необязательна.

Цитата Сообщение от Patron Посмотреть сообщение
Невозможно предсказывать режим ввода по нажатию кнопок <РУС> и <ЛАТ>, потому что в некоторых играх для ДВК кнопка <РУС> используется для стрельбы и нажатие на неё должно не переключать раскладку клавиатуры, а только отправлять код <Ctrl / N>, что и эмулируется.
Опять же, для 15ИЭ. А 7004 незаслуженно забыта.

Цитата Сообщение от Patron Посмотреть сообщение
Можно добавить терминалу два состояния. Первое состояние будет связано с раскладкой клавиатуры, что даст возможность повесить туда кнопку отображения/изменения раскладки. Второе состояние - определяющее, что переключает раскладку - отправка кодов <РУС> и <ЛАТ> или приём, тогда повесив на это состояние кнопку - можно будет отключать смену раскладки клавиатуры при получении терминалом кодов <016> и <017>.
Мне кажется, проще сделать переключатель типа дисплея. Если дисплей 15ИЭ, пусть все будет, как есть. Если же дисплей КЦГД (а ДВК с ВМ3, практически, все были с КЦГД), то приводим клавиатуру к виду 7004 и делаем отдельный индикатор рус/лат для клавиатуры, который будет ставится в состояние РУС при отправке на эмулируемый 177562 кода Ctrl/N и в ЛАТ при отправке туда кода Ctrl/O, все остальное время будет стоять, как его поставили.

Второй индикатор - для экрана - должен, соответственно, переключаться при поступлении переключающих кодов на эмулируемый 177566 и для него действительно нужна кнопка, чтобы можно было переключить вручную, поскольку иногда бывают косяки, когда программа бросает терминал на русском и вываливается в ОС, которая понятия не имеет о каких-то там рус/латах...

Это будет точно эмулировать КЦГД с 7004. Поскольку ДИАМС на этой аппаратуре работал молча. А на эмуляторе - косячит.