Мне интересно, есть ли простой способ определить, какое устройство ввода вызвало определенное событие графического интерфейса.
Например: событие TButton.OnClick
запускается.Пользователь вызвал его нажатием клавиши на клавиатуре (сочетание клавиш, клавиша Enter
для кнопки по умолчанию, клавиша space
для кнопки с фокусировкой и т. Д.) Или оно было вызвано щелчком мыши?Есть ли какой-нибудь простой способ узнать?
Причина, по которой я хотел бы знать, заключается в том, что я могу реализовать подсказки по использованию клавиатуры в некоторых наших приложениях, когда пользователь использует мышь для запуска действий, которые также могут быть выполнены.с клавиатуры.Наши системы в цехах находятся в довольно пыльной / грязной среде, и мыши, как правило, плохо держатся в них.Кроме того, во многих случаях просто не так много места для использования мыши.(Нет, клавиатуры без цифровых клавиатур не являются решением. На них слишком сильно полагаются.)
Однако, поскольку наши приложения работают в Windows, пользователи, как правило, просто используют программы, как дома -с помощью мыши.В этом нет ничего особенного, но мы усердно работали над тем, чтобы оптимизировать рабочий процесс ввода для удобства работы с клавиатурой.Было бы хорошо, если бы у наших пользователей был эффективный способ показать, что у них есть возможность делать то, что они делают, без необходимости хватать мышь.