@deluxe228

Как ограничить использование клавиатуры на macOs с помощью swift?

Делаю приложение по очистке клавиатуры и мне нужно при установке значения переменной isToggleOn = true
вызывать функцию, которая блокирует клавиатуру по всей системе(для очистки клавы пользователем) или как либо игнорировать нажатия(как вариант)

Буду очень рад помощи зала)

import SwiftUI

struct ContentView: View {
    @State private var isToggleOn: Bool = false

    var body: some View {
        VStack(spacing: 8) {
            HStack {
                Text("Keyboard Cleaning")

                Spacer()

                Toggle("", isOn: $isToggleOn)
                    .toggleStyle(SwitchToggleStyle(tint: .green))
                    .onChange(of: isToggleOn) { newValue in
                        if newValue {
                            hideKeyboard()
                        }
                    }
            }

            Divider()

            HStack {
               Button(action: quitApplication) {
                    Text("Quit ClearMenu")
                      .font(.footnote)
                        .foregroundColor(Color.gray)
                        .multilineTextAlignment(.leading)
                        .background(Color.clear)
                }
                .buttonStyle(PlainButtonStyle())
                .padding(.bottom, 0.0)
                Spacer()
               Text("⌘+Q")
                  .font(.footnote)
                  .foregroundColor(Color.gray)
            }
            .padding(5)
        }
        .frame(width: 300).padding()
    }

    func hideKeyboard() {
        // Ваш код hideKeyboard остается неизменным
    }
   

    func quitApplication() {
        NSApplication.shared.terminate(self)
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
            .environmentObject(WindowManager())
    }
}
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы