Я устанавливаю глобальные сочетания клавиш, работающие на отдельных страницах, например Ctrl + someKey
, чтобы сделать что-то, Ctrl + Alt + otherKey
, чтобы активировать некоторые другие вещи и так далее. У меня есть более или менее рабочий код для Ctrl + VirtualKey
(буквы, цифры, ...), но мне также нужны некоторые ключи, которых нет в VirtualKey
, такие как, точка, запятая, плюс, минус, ...
Это зарегистрированные события:
public Planner()
{
this.InitializeComponent();
CoreWindow.GetForCurrentThread().KeyDown += CoreWindow_KeyDown;
CoreWindow.GetForCurrentThread().CharacterReceived += Planner_CharacterReceived;
Window.Current.CoreWindow.Dispatcher.AcceleratorKeyActivated += Dispatcher_AcceleratorKeyActivated;
}
Я использую KeyDown
для Ctrl + K
, Ctrl + Shift + A
как ярлыки.
CharacterReceived
для захвата запятой, точки, плюс, минус как символы, но они не работают с Ctrl и Alt.
Последнее, Dispatcher_AcceleratorKey
, чтобы проверить, нажата ли клавиша Alt.