• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

with keyboard.GlobalHotKeys przekazywanie do funkjcji zmiennej

Object Storage Arubacloud
+1 głos
84 wizyt
pytanie zadane 14 stycznia w Python przez mark162 Początkujący (410 p.)

jak przekazać do zmiennej klawisz naciśnięty ??

 

from pynput import keyboard

def activate(kays):

    if kays == 'a':
        print(f'kays a: {kays}')

    if kays == 'b':
        print(f'kays b: {kays}' )

def quit():
    h.stop()


with keyboard.GlobalHotKeys({
        'a': activate,
        'b': activate,
        '<ctrl>+c': quit}) as h:
    
    h.join()

 

2 odpowiedzi

0 głosów
odpowiedź 15 stycznia przez VBService Ekspert (253,420 p.)
wybrane 17 stycznia przez mark162
 
Najlepsza

Próbowałeś może użyć coś w tym stylu

from pynput import keyboard

def activate(key):
    print(f'Key pressed: {key}')

def quit():
    h.stop()

with keyboard.GlobalHotKeys({
        '<ctrl>+a': lambda: activate('a'),
        '<ctrl>+b': lambda: activate('b'),
        '<ctrl>+c': quit}) as h:
     h.join()

lub

from pynput import keyboard

def activate(key):
    print(f'Key pressed: {key}')

def quit():
    h.stop()

with keyboard.GlobalHotKeys({
        'a': lambda: activate('a'),
        'b': lambda: activate('b'),
        '<ctrl>+c': quit}) as h:
     h.join()

lub ewentualnie tak jak napisał @adrian17, użyj

zwykłego Listenera

komentarz 17 stycznia przez mark162 Początkujący (410 p.)
próbowałem tak ale błęda waliło, myślałem że się tak nie da ale okazało się że brakowalo słowa" lambda: "
komentarz 18 stycznia przez VBService Ekspert (253,420 p.)

AFAIK, lambda spełnia podobną funkcję jak np. anonimowa funkcja w javascript.

<button>Message 1</button>
<button>Message 2</button>
<button>Message 3</button>
<message></message>

<script>
  const btns = document.querySelectorAll('button');

  btns[0].addEventListener('click', showMessage('Message1'));
  btns[1].addEventListener('click', function() { showMessage('Message2'); });
  btns[2].addEventListener('click', () => { showMessage('Message3'); });

  function showMessage(message='') {
    document.querySelector('message').textContent = message;
  }
</script>

 

+1 głos
odpowiedź 14 stycznia przez adrian17 Ekspert (344,860 p.)
Chyba coś pomieszałeś. Po prostu przekaż zadeklaruj osobną funkcję dla `a` i dla `b` i je przypisz jako osobne hotkeye.

Jak chcesz łapać dowolne klawisze z klawiatury i sprawdzać co jest wciśnięte, to w ogóle nie chcesz GlobalHotKeys, tylko zwykłego Listenera.

Zajrzyj do dokumentacji: https://pynput.readthedocs.io/en/latest/keyboard.html
komentarz 14 stycznia przez mark162 Początkujący (410 p.)
chciałem aby do funkcji: def activate(kays): był przekazany klawisz naciśnięty
komentarz 15 stycznia przez adrian17 Ekspert (344,860 p.)
No... to moja odpowiedź na to odpowiada.

Podobne pytania

0 głosów
1 odpowiedź 285 wizyt
0 głosów
1 odpowiedź 123 wizyt
pytanie zadane 8 listopada 2020 w Python przez KumberTwo Dyskutant (8,270 p.)
0 głosów
1 odpowiedź 389 wizyt
pytanie zadane 9 listopada 2020 w Python przez KumberTwo Dyskutant (8,270 p.)

92,580 zapytań

141,432 odpowiedzi

319,665 komentarzy

61,965 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...