Подтвердить что ты не робот

Каковы ключи "OEM" в перечислении System.Windows.Forms.Keys?

У друга возникли проблемы с выяснением того, как назначить "Ctrl + +" в качестве клавиши быстрого доступа к ToolStripMenuItem. Я указал, что клавиша Keys.OemPlus будет работать, а отображаемая строка для ярлыка должна быть установлена, но перечисление Keys мистифицирует меня.

Какая сделка с этими "OEM" ключами? Я немного поработал, и похоже, потому что ключи поддерживаются только в Win2k или более поздних версиях, но это кажется нелепым, поскольку я уверен, что люди использовали ключевой ключ за десять лет до Win2k. Почему нет "OemEquals"? Существуют ли другие ключи, которые полностью отсутствуют в перечислении Keys?

В основном я ищу ответ на вопрос, почему существуют эти специальные имена, но мне бы хотелось услышать обсуждение других вопросов. Можно ли предположить, что, поскольку знак плюса находится поверх знака равенства на моей клавиатуре, используя Keys.OemPlus, и проверка ключа модификатора Shift - это ОК, чтобы указать, был ли нажат Ctrl + =? Существуют ли другие ключи, которые были опущены?

Обратите внимание, что это не вопрос WPF, хотя перечисления System.Windows.Forms.Keys и System.Windows.Input.Key выглядят одинаково (хотя Key неправильно указан в соответствии с Руководством по разработке Framework;))

4b9b3361

Ответ 1

Они были представлены с помощью API Windows, они не специфичны для WPF.

Во-первых, это коды KEY, а не коды символов: они идентифицируют ключ на клавиатуре, а не символ. символ "A" обычно генерируется нажатием клавиши A, удерживая нажатой клавишу SHIFT или активируя CAPS LOCK.

OEM-ключи - это клавиши, которые отличаются от локальных клавиатур. Если у американской клавиатуры есть скобки и скобки, немецкие клавиатуры имеют умлауты.

Они называются "OEM", потому что для определения их функциональности отвечал производитель оригинального оборудования (на клавиатуре).

Ответ 2

OEM означает "Производитель оригинального оборудования" (или что-то относительно близкое к нему). Я думаю, что попытка части WPF быть немного нейтральной платформой. Это только мнение.