Что такое «OEM» ключи в перечислении System.Windows.Forms.Kyys? - PullRequest
20 голосов
/ 24 февраля 2009

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

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

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

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

Ответы [ 2 ]

28 голосов
/ 24 февраля 2009

Они были представлены с Windows API, они не относятся к WPF.

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

Клавиши OEM - это ключи, которые различаются в зависимости от локальной клавиатуры . Там, где американская клавиатура имеет скобки и скобки, немецкие клавиатуры имеют умлауты.

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

1 голос
/ 24 февраля 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...