Pynput ile capslock aktif mi? pasif mi? ile ilgili konu başlığı(ÇÖZÜLDÜ)

arkadaşlar pynput ile capslock aktif mi? pasif mi? kontrol edebiliyorum ama aynı kütüphane de uygulamamda ki button click edildiğin de capslock aktif ise pasif pasif ise aktif olmasını istiyorum yardım eder misin?

import wx, pynput

class CapsLockDemo(wx.Frame):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.caps_lock_on = False
        self.SetSize((300, 200))
        self.keyboard = pynput.keyboard.Listener(on_press=self.on_press)
        self.BTN=wx.ToggleButton(self, label="Caps Lock")
        self.keyboard.start()
    def on_press(self, key):
        if key == pynput.keyboard.Key.caps_lock:
            self.caps_lock_on = not self.caps_lock_on
            if self.caps_lock_on==True:
                self.BTN.SetLabel("CAPSLOCK")
                self.BTN.SetValue(True)
            else:
                self.BTN.SetLabel("Caps Lock")
                self.BTN.SetValue(False)

if __name__ == "__main__":
    app = wx.App()
    frame = CapsLockDemo(None, title="Caps Lock Demo")
    frame.Maximize(True)
    frame.Show(True)
    app.MainLoop()

pyautogui modülünün press metodu işinizi görür sanırım.
https://pyautogui.readthedocs.io/en/latest/

1 Beğeni

arkadaşlar teşekkür ederim çözüldü

import wx, pynput

class CapsLockDemo(wx.Frame):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.caps_lock_on = False
        self.SetSize((300, 200))
        self.keyboard = pynput.keyboard.Listener(on_press=self.on_press)
        self.BTN=wx.ToggleButton(self, label="Caps Lock")
        self.BTN.Bind(wx.EVT_TOGGLEBUTTON, self.on_toggle)
        self.keyboard.start()
    def on_press(self, key):
        if key == pynput.keyboard.Key.caps_lock:
            self.caps_lock_on = not self.caps_lock_on
            if self.caps_lock_on==True:
                self.BTN.SetLabel("CAPSLOCK")
                self.BTN.SetValue(True)
            else:
                self.BTN.SetLabel("Caps Lock")
                self.BTN.SetValue(False)
    def on_toggle(self, event):
        pynput.keyboard.Controller().tap(pynput.keyboard.Key.caps_lock)

if __name__ == "__main__":
    app = wx.App()
    frame = CapsLockDemo(None, title="Caps Lock Demo")
    frame.Maximize(True)
    frame.Show(True)
    app.MainLoop()