samstyle / Xpeccy

Multiplatform emulator of retro computers
MIT License
73 stars 15 forks source link

Перескакивание с "n" на "m" при нажатии на "," #19

Closed Volutar closed 5 years ago

Volutar commented 5 years ago

После запуска и Sinclair research просто набиваешь на клавиатуре клавиши ",,,", затем ext (ss+cs), и снова ",,,", и в итоге то залипает то разлипает cs (то точки то запятые), выводится вот такое: image Вообще нажимая на клавишу ",<Б" получить символ "." в норме невозможно.

samstyle commented 5 years ago

Потыкал в кнопки. Перескок происходит из-за того, что по Ctrl+Shift (CS+SS) меняется раскладка в системе (рус/анг). В английской кнопка (Б) принимается как запятая, (Ю) как точка, в русской почему-то смещение - (Б) как точка, (Ю) как ничего... поищу в таблице, исправлю PS: А одновременное нажатие Shift+Ctrl не воспринимается как CS+SS. Странно. Во всяком случае, для CS+SS есть ~

Volutar commented 5 years ago

Точно, это русский-английский перескок. Вообще, насколько я понимаю, передавать в эмуль коды надо без учёта раскладки, через сканкоды конвертить в zx замыкания.

samstyle commented 5 years ago

Раньше пользовался QKeyEvent::nativeScanCode(), но потом оказалось, что он на макоси не реализован, и там клава не работала вообще.