Виртуальная машина UEFI не может набрать «\»

332
Mat Whiteside

Я пытаюсь установить SteamOS в Oracle VirtualBox. Я знаю, как это сделать, но в UEFI он не позволяет вводить «\», он позволяет вводить любой другой символ, но не этот.

Есть идеи?

1
Вы можете ввести любые возможные национальные символы? Я не знаком с раскладкой клавиатуры в Великобритании, но вы можете попробовать, например, `£`. Бьюсь об заклад, коды сканирования клавиатуры интерпретируются в соответствии с раскладкой клавиатуры США, потому что в этот момент больше ничего не загружалось. a CVn 10 лет назад 0
Если я наберу «£» на своей клавиатуре, то получится «#». Mat Whiteside 10 лет назад 0
Дай угадаю, `£` на британской клавиатуре - это Shift + 3? a CVn 10 лет назад 0
Да, я разобрал это сейчас. Клавиша "#" вводит клавишу "\" в виртуальной машине. Спасибо :) Mat Whiteside 10 лет назад 0
ОК, у нас это есть. Позвольте мне набрать правильный ответ тоже. :) a CVn 10 лет назад 0

1 ответ на вопрос

2
a CVn

This is because in the UEFI firmware setup, no specific keyboard layout has been loaded. So it falls back to a firmware default, which almost certainly happens to be a US keyboard layout.

The computer doesn't really know what's printed on the various key caps on the keyboard. What it does know, is how to map keyboard scan codes to character numbers (normally in ASCII), which in turn it knows how to display as glyphs on the screen.

What you are seeing is an effect of this indirection.

There is a \ key somewhere on your keyboard while you're in the UEFI setup (and it turns out it's the same key that is normally used for # on the UK keyboard layout, as we found out in the comments), and you'll just have to do a bit of experimentation to find it. You should be able to find any key that exists on a US keyboard layout, although the physical location of the key that produces that glyph may be somewhat non-obvious.

You'll see the same effect if you set your operating system to use a US keyboard layout.