Python'da bir tuş vuruşu nasıl simüle edebilirim? Aynı anda birden çok tuşa basmak istiyorum. gibiPython ile Linux'ta tuş vuruşunu simüle edin
şey:
keystroke('CTRL+F4')
veya
keystroke('Shift+A')
Python'da bir tuş vuruşu nasıl simüle edebilirim? Aynı anda birden çok tuşa basmak istiyorum. gibiPython ile Linux'ta tuş vuruşunu simüle edin
şey:
keystroke('CTRL+F4')
veya
keystroke('Shift+A')
, sen xautomation paketini (Debian tabanlı sistemlerde apt-get install xautomation
) yükleyip basılmasını simüle etmek xte
kullanın ör .:
from subprocess import Popen, PIPE
control_f4_sequence = '''keydown Control_L
key F4
keyup Control_L
'''
shift_a_sequence = '''keydown Shift_L
key A
keyup Shift_L
'''
def keypress(sequence):
p = Popen(['xte'], stdin=PIPE)
p.communicate(input=sequence)
keypress(shift_a_sequence)
keypress(control_f4_sequence)
Kabuk için anahtarları nasıl gönderebilirim? – user2988257
python-uinput: Linux uinput çekirdek modülü için
Pythonictir API ...
Python uinput Python arayüzü Linux uinput kern'e kullanıcı arabirimi sürücülerini çekirdeğe eklemeyi sağlayan el modülü. Uygulamada, Python uinput Windows üzerinde iseniz, Sendkeys kullanmak
Küçük harflerle yayabilir miyim? lütfen bir örnek! – karensantana
Bağlantı kesildi –
ölü basit ... programlı keyfi giriş işlemlerini üretmek için sanal joystick, klavye ve fareler oluşturmayı kolaylaştırır ve Linux üzerinde ise, öneri denemek Xsendkeys veya pexpect için given here. o X'e özgü olsa
python-uinput ve evdev düşünün edebilirsiniz. ikincisi ile shift+a
örneği: Linux üzerinde kullanmayı planlıyorsanız
from evdev import uinput, ecodes as e
with uinput.UInput() as ui:
ui.write(e.EV_KEY, e.KEY_LEFTSHIFT, 1)
ui.write(e.EV_KEY, e.KEY_A, 1)
ui.syn()
Benzer kod denedim, çünkü sistem günlüğünde yeni bir sanal girdi aygıtının oluşturulduğunu görüyorum, ancak tuş vuruşları X'te görünmüyor mu? Anahtarlar X sunucusu tarafından alındığından özel bir şey yapılabilir mi? – akostadinov
Bağlantılar öldü –
, pyautogui kütüphane deneyin. birden fazla anahtarla için, işe yaradı Benim için ör .:
pyautogui.hotkey('ctrl', 'c') # ctrl-c to copy
kısayol kullanmanız gerekecektir - bkz: bunu yapmak neden istediklerini How to pass a keystroke (ALT+TAB) using Popen.communicate (on Linux)?
sorabilir miyim? Ayrıca hangi ortamda? Komut satırı? Grafiksel Masaüstü? –