using TodoList.Maui.Services.Platforms;
namespace TodoList.Maui.Services
{
///
/// 全局热键服务工厂类,根据平台创建相应的热键服务实例
///
public static class GlobalHotKeyServiceFactory
{
///
/// 创建适合当前平台的全局热键服务实例
///
/// 全局热键服务实例
public static IGlobalHotKeyService Create()
{
#if WINDOWS
return new WindowsGlobalHotKeyService();
#elif MACCATALYST
return new MacGlobalHotKeyService();
#elif ANDROID || IOS
return new MobileGlobalHotKeyService();
#else
return new NullGlobalHotKeyService();
#endif
}
}
///
/// 空热键服务实现类,用于不支持热键的平台
///
public class NullGlobalHotKeyService : IGlobalHotKeyService
{
///
/// 不支持热键
///
public bool IsSupported => false;
///
/// 注册热键(空实现)
///
public void RegisterHotKey(string modifiers, string key, Action callback)
{
}
///
/// 注销热键(空实现)
///
public void UnregisterHotKey()
{
}
///
/// 更新热键(空实现)
///
public void UpdateHotKey(string modifiers, string key)
{
}
}
}