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

Python - działanie po nacisnięciu klawisza

Object Storage Arubacloud
0 głosów
6,081 wizyt
pytanie zadane 7 listopada 2016 w Python przez MR.X Użytkownik (860 p.)
Witam

Mam trudną dla mnie sprawę do rozwiązania w jezyku Python.
Czy istnieje jakaś funckcja, która odczytuje jaki klawisz z klawiatury nacisnelismy i wykonuje odpowiednie zadanie np. wypisuje ten klawisz.?

Proszę o pomoc :)

4 odpowiedzi

+1 głos
odpowiedź 7 listopada 2016 przez xandros Nałogowiec (29,450 p.)
+1 głos
odpowiedź 7 listopada 2016 przez Krzysztof Pawliczuk Obywatel (1,500 p.)

najprościej użyć pyhook:

import pythoncom, pyHook

def OnKeyboardEvent(event):
    # block only the letter A, lower and uppercase
    return (event.Ascii not in (ord('a'), ord('A')))

# create a hook manager
hm = pyHook.HookManager()
# watch for all mouse events
hm.KeyDown = OnKeyboardEvent
# set the hook
hm.HookKeyboard()
# wait forever
pythoncom.PumpMessages()

event ma tam wystarczająco swoich metod:

    print ('MessageName:',event.MessageName)
    print ('Message:',event.Message)
    print ('Time:',event.Time)
    print ('Window:',event.Window)
    print ('WindowName:',event.WindowName)
    print ('Ascii:', event.Ascii, chr(event.Ascii))
    print ('Key:', event.Key)
    print ('KeyID:', event.KeyID)
    print ('ScanCode:', event.ScanCode)
    print ('Extended:', event.Extended)
    print ('Injected:', event.Injected)
    print ('Alt', event.Alt)
    print ('Transition', event.Transition)

ja na pythonie 3.5 właśnie w/w używałem, z połączeniem z pywin32 można zrobić wiele.

trochę się tym bawiłem i powiem, że jest dosyć intuicyjne

komentarz 7 grudnia 2016 przez Quirinnos Użytkownik (980 p.)
Wyczuwam keyloggera :)
komentarz 10 grudnia 2016 przez Krzysztof Pawliczuk Obywatel (1,500 p.)
I słusznie :) co prawda do testów - sprawdzałem jak bardzo trzeba się postarać aby win dopuścił jako proces (Python przekompilowany jako exe) niestety nie jest to trudne.) także masz dobre wyczucie. ;)
0 głosów
odpowiedź 7 listopada 2016 przez Fenix Nałogowiec (26,750 p.)
Proponuje uzyc liba pygame, tutaj masz doca dotyczącego eventu key http://www.pygame.org/docs/ref/key.html Jeśli miałbyś jakieś problemy, pisz.
komentarz 7 listopada 2016 przez MR.X Użytkownik (860 p.)
Tak też chciałem zrobić, niestety mamy wykonać to zadanie nie używając biblioteki PyGame, daltego też nie wiem jak się za to zabrać :/

Jakieś sugestie ?
0 głosów
odpowiedź 20 sierpnia 2020 przez kondzix767 Nowicjusz (140 p.)
import pygame as pg,sys
screen =  pg.display.set_mode((1280,780))
box = pg.Rect(10, 10, 50, 50)



while True:
    for event in pg.event.get():
        if event.type == pg.QUIT:
            sys.exit(0)




    keys =pg.key.get_pressed()
    if keys[pg.K_d]:
        box.x += 1
    elif keys[pg.K_a]:
        box.x -= 1
    elif keys[pg.K_s]:
        box.y += 1
    elif keys[pg.K_w]:
        box.y -= 1

 

 

 

Podobne pytania

0 głosów
1 odpowiedź 348 wizyt
0 głosów
1 odpowiedź 217 wizyt
pytanie zadane 1 czerwca 2023 w Python przez wojtek_programista Nowicjusz (170 p.)
0 głosów
0 odpowiedzi 286 wizyt
pytanie zadane 29 stycznia 2023 w Python przez Kubas23 Użytkownik (630 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,961 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!

...