Я хочу получить название раскладки клавиатуры, например, «kbdus» для англо-английской клавиатуры или «kbdusx» для US-International. Я попробовал «GetKeyboardLayoutName» из Win32API, но я просто получил номер (0x20409). Я знаю, что 0x0409 означает «английский» и «0x2», вероятно, означает один из вариантов английской клавиатуры. Как получить точное имя раскладки клавиатуры для пользователя? Я использую Ruby 1.8.7 в Windows.Как получить раскладку клавиатуры на окнах с рубином?
0
A
ответ
1
Я нашел ответ на мой вопрос:
require 'win32/registry'
require 'win32API'
Win32API.new('user32', 'GetKeyboardLayoutName', 'p', '').call(layoutid = "\0"*8)
reg_path = 'SYSTEM\CurrentControlSet\Control\Keyboard Layouts\\' << layoutid
reg = Win32::Registry::HKEY_LOCAL_MACHINE.open(reg_path)
layoutcode = reg.read('Layout File')[1].split('.', 2)[0]
layoutname = reg.read('Layout Text')[1]
layoutcode # => "KDBUSX"
layoutname # => "United States-International"
0
Эта дискуссия о Language Identifiers, вероятно, заставит вас двигаться в правильном направлении. This listing of constants, вероятно, даже лучше.
Смежные вопросы
- 1. Vb.net получить раскладку клавиатуры
- 2. Получить физическую раскладку клавиатуры Программно
- 3. Как изменить раскладку клавиатуры
- 4. получить текущую раскладку клавиатуры Windows в Java
- 5. Получить раскладку клавиатуры и keysyms с XCB
- 6. Как получить физическую раскладку клавиатуры в android
- 7. Использовать раскладку клавиатуры
- 8. Изменить раскладку клавиатуры на python?
- 9. Программно изменить раскладку клавиатуры
- 10. Как создать собственную раскладку клавиатуры?
- 11. Как изменить раскладку клавиатуры на xmonad + Ubuntu
- 12. Как создать пользовательскую раскладку клавиатуры?
- 13. Изменить раскладку клавиатуры boot2docker tinycore
- 14. PyCharm меняет системную раскладку клавиатуры
- 15. {LShift} {RShift} :: изменить раскладку клавиатуры
- 16. Intellij игнорирует выбранную раскладку клавиатуры
- 17. Как изменить текущую раскладку клавиатуры в powershell?
- 18. Как изменить раскладку клавиатуры из Vagrantfile
- 19. определить раскладку клавиатуры с помощью javascript
- 20. Как установить раскладку выше программной клавиатуры
- 21. различают подключенные клавиатуры на окнах?
- 22. Как изменить раскладку клавиатуры в методе onSwipe?
- 23. Как изменить раскладку клавиатуры (решение X11 API)
- 24. File.open с рубином на окнах с юникода файла
- 25. получить текущую активную раскладку клавиатуры (язык) в linux
- 26. Конвертировать раскладку клавиатуры из AZERTY в QWERTY
- 27. Сделать линейную раскладку прокручиваемой при открытии клавиатуры
- 28. изменить раскладку клавиатуры после нажатия кнопки
- 29. Как программно изменить раскладку клавиатуры с помощью Cocoa?
- 30. Сделать Emacs игнорировать системную раскладку клавиатуры