Я сделал FPS-игру с MSVC++, которая очень хорошо работает в Windows. Но теперь я пытаюсь сделать его переносимым (по крайней мере, я хочу создать Linux и версию для Windows), поэтому решил изменить IDE на Code :: Blocks и фреймворк на wxWidgets. Но, похоже, коды виртуальных клавиш и коды сканирования различны для разных систем.ОС и реализация независимого доступа к клавиатуре?
Раньше я испытал, что виртуальные коды клавиш могут быть разными даже в одной и той же операционной системе, но на другом компьютере (я получил сообщения об ошибках о том, что они не могут управлять символом (в зависимости от состояния numlock, lol, а не шутки), что фиксируется при изменении кода использовать сканкоды вместо virtkey кодов) (редактирование: с WxWidgets как virtkey и сканировать коды на цифровой клавиатуре имеет различные значения в зависимости от NumLock состояния, бах)
Теперь WxWidgets кажется wxKeyEvent: : GetRawKeyCode и код, полученный ранее из lParam WM_KEYDOWN, различны. И я также получаю совершенно другой код сканирования на linux (ubuntu) из GetRawKeyCode.
Ну, я могу сделать свою собственную таблицу кодов сканирования, нажав все клавиши и видя, какой код он дает, но единственная проблема, с которой ubuntu работает на моем ноутбуке, а ноутбук не имеет полноценной клавиатуры ... Но Мне нужно, чтобы все они работали над настройками управления.
Итак, вопрос: существует ли стандартный и межплатформенный способ получения одного и того же кода для одного и того же ключа (ключ в том же положении, если быть более точным)? (по крайней мере, на окнах и Linux)
Ubuntu не unix. Это Linux. Есть разница. – epochwolf
Однако это unix based ... (пост отредактирован наверняка) – Calmarius
Избегайте аргументации и называйте это GNU. См. Http://www.dwheeler.com/sloc/ – ashawley