added layour swithing by caps key
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
namespace CursorLang.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Перехватывает Caps Lock на уровне системы и делит нажатия на короткие
|
||||
/// и длинные. Что делать с ними — решают подписчики.
|
||||
/// </summary>
|
||||
public interface ICapsLockHotkeyService
|
||||
{
|
||||
/// <summary>Короткое нажатие: клавишу отпустили до порога удержания.</summary>
|
||||
event EventHandler? Tapped;
|
||||
|
||||
/// <summary>Порог удержания пройден, клавишу всё ещё держат.</summary>
|
||||
event EventHandler? HoldStarted;
|
||||
|
||||
/// <summary>Удержание закончилось: клавишу отпустили.</summary>
|
||||
event EventHandler? HoldEnded;
|
||||
|
||||
/// <summary>Стоит ли перехват прямо сейчас.</summary>
|
||||
bool IsRunning { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Начинает перехват. Вызывать нужно из потока пользовательского интерфейса:
|
||||
/// системный хук клавиатуры работает только на потоке с циклом сообщений.
|
||||
/// </summary>
|
||||
void Start();
|
||||
|
||||
/// <summary>Снимает перехват, возвращая клавише её обычное поведение.</summary>
|
||||
void Stop();
|
||||
}
|
||||
Reference in New Issue
Block a user