InputEventWithModifiers
Общая база событий с флагами модификаторов.
Флаги относятся к конкретному событию, а не к состоянию клавиатуры на момент последующего чтения. Они могут быть назначены программно в InputEventKey, событиях мыши и других подходящих подклассах. Не определяйте нажатие отдельной клавиши Ctrl или Shift только по флагам другого события.
CommandOrControlAutoremap удобен для платформенного сочетания, но меняет CtrlPressed/MetaPressed при переключении. IsCommandOrControlPressed читает выбранный флаг события; это другой вопрос, чем включён ли autoremap.
GetModifiersMask возвращает битовую маску KeyModifierMask. Для кода клавиши вместе с маской у InputEventKey есть отдельные методы GetKeycodeWithModifiers, GetPhysicalKeycodeWithModifiers и GetKeyLabelWithModifiers.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Свойства5
AltPressedСвойство
public bool AltPressed { get; set; }Флаг Alt в данных этого события, а не непрерывный опрос текущей клавиатуры. Может быть установлен программно.
CommandOrControlAutoremapСвойство
public bool CommandOrControlAutoremap { get; set; }Выбирает платформенный модификатор сочетания: Ctrl в текущей Windows-сборке, Meta на платформах, предпочитающих его. Включение устанавливает один флаг и очищает другой; отключение очищает оба. При включённом режиме нельзя напрямую задавать CtrlPressed/MetaPressed. Не означает, что физическая клавиша сейчас нажата.
CtrlPressedСвойство
public bool CtrlPressed { get; set; }Флаг Ctrl в данных этого события, а не непрерывный опрос текущей клавиатуры. Может быть установлен программно. При CommandOrControlAutoremap = true прямое изменение CtrlPressed/MetaPressed отклоняется native-проверкой; не рассчитывайте на исключение CLR.
MetaPressedСвойство
public bool MetaPressed { get; set; }Флаг Meta в данных этого события, а не непрерывный опрос текущей клавиатуры. Может быть установлен программно. При CommandOrControlAutoremap = true прямое изменение CtrlPressed/MetaPressed отклоняется native-проверкой; не рассчитывайте на исключение CLR.
ShiftPressedСвойство
public bool ShiftPressed { get; set; }Флаг Shift в данных этого события, а не непрерывный опрос текущей клавиатуры. Может быть установлен программно.
Методы12
GetModifiersMaskKeyModifierMask
public KeyModifierMask GetModifiersMask();Объединяет активные флаги Shift, Alt, Ctrl и Meta в KeyModifierMask. Это маска модификаторов, не код основной клавиши. В режиме autoremap используется выбранный платформой Ctrl/Meta.
KeyModifierMaskБитовая комбинация KeyModifierMask; при отсутствии модификаторов — 0.
IsAltPressedbool
public bool IsAltPressed();Возвращает AltPressed без изменения события или опроса устройства.
boolТекущее логическое значение AltPressed.
IsCommandOrControlAutoremapbool
public bool IsCommandOrControlAutoremap();Возвращает CommandOrControlAutoremap без изменения события или опроса устройства.
boolТекущее логическое значение CommandOrControlAutoremap.
IsCommandOrControlPressedbool
public bool IsCommandOrControlPressed();Читает CtrlPressed или MetaPressed в зависимости от предпочтения платформы. Не проверяет, включён ли CommandOrControlAutoremap, и не опрашивает живую клавиатуру.
boolЗначение платформенного Ctrl/Meta-флага этого события.
IsCtrlPressedbool
public bool IsCtrlPressed();Возвращает CtrlPressed без изменения события или опроса устройства.
boolТекущее логическое значение CtrlPressed.
IsMetaPressedbool
public bool IsMetaPressed();Возвращает MetaPressed без изменения события или опроса устройства.
boolТекущее логическое значение MetaPressed.
IsShiftPressedbool
public bool IsShiftPressed();Возвращает ShiftPressed без изменения события или опроса устройства.
boolТекущее логическое значение ShiftPressed.
SetAltPressedvoid
public void SetAltPressed(bool pressed);Устанавливает AltPressed с теми же правилами и побочными изменениями флагов, что у свойства.
| Имя | Тип | По умолчанию |
|---|---|---|
pressed | bool | — |
pressedНовое логическое значение AltPressed.
SetCommandOrControlAutoremapvoid
public void SetCommandOrControlAutoremap(bool enable);Устанавливает CommandOrControlAutoremap с теми же правилами и побочными изменениями флагов, что у свойства.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
enableНовое логическое значение CommandOrControlAutoremap.
SetCtrlPressedvoid
public void SetCtrlPressed(bool pressed);Устанавливает CtrlPressed с теми же правилами и побочными изменениями флагов, что у свойства.
| Имя | Тип | По умолчанию |
|---|---|---|
pressed | bool | — |
pressedНовое логическое значение CtrlPressed.
SetMetaPressedvoid
public void SetMetaPressed(bool pressed);Устанавливает MetaPressed с теми же правилами и побочными изменениями флагов, что у свойства.
| Имя | Тип | По умолчанию |
|---|---|---|
pressed | bool | — |
pressedНовое логическое значение MetaPressed.
SetShiftPressedvoid
public void SetShiftPressed(bool pressed);Устанавливает ShiftPressed с теми же правилами и побочными изменениями флагов, что у свойства.
| Имя | Тип | По умолчанию |
|---|---|---|
pressed | bool | — |
pressedНовое логическое значение ShiftPressed.