第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用掩碼鍵在鍵綁定問題上使用python-evdev將事件發(fā)送到uinput

使用掩碼鍵在鍵綁定問題上使用python-evdev將事件發(fā)送到uinput

一只萌萌小番薯 2021-03-22 21:18:26
簡而言之,我試圖在程序中添加一個鍵盤綁定,以編輯剪貼板,然后將所做的更改粘貼到活動窗口中。在Windows上,我認(rèn)為我可以通過消息傳遞來做到這一點(diǎn),但X并不那樣使用消息傳遞,因此,為了做到這一點(diǎn),我只是使用python-evdev向uinput發(fā)送ctrl + v事件。當(dāng)您僅運(yùn)行它時,它就可以很好地運(yùn)行,但是我需要它在鍵綁定(在本例中為super + v)上運(yùn)行。問題在于,當(dāng)您將ctrl和v事件發(fā)送到uinput時,超級掩碼仍處于活動狀態(tài),因此,它發(fā)送ctrl + super + v而不是將ctrl + v發(fā)送到窗口,而實(shí)際上并沒有執(zhí)行任何操作。這是最少的代碼來確切解釋我在說什么:import evdev,time,keybinder,gtkdef callback():    with evdev.UInput() as uinput:        uinput.write(evdev.ecodes.EV_KEY, evdev.ecodes.KEY_LEFTCTRL, 1)        uinput.write(evdev.ecodes.EV_KEY, evdev.ecodes.KEY_V, 1)        uinput.write(evdev.ecodes.EV_KEY, evdev.ecodes.KEY_V, 0)        uinput.write(evdev.ecodes.EV_KEY, evdev.ecodes.KEY_LEFTCTRL, 0)        uinput.syn()keybinder.bind("<super>v",callback)keybinder.bind("Escape",gtk.main_quit)gtk.main()如果您足夠快地發(fā)布超級,您實(shí)際上可以使它正常工作,但是它相當(dāng)快,顯然對于實(shí)際應(yīng)用程序是不可接受的。我曾嘗試發(fā)布super,但這會帶來一些問題。它不是很通用,它提出了隨后要做什么的問題(將其釋放?再次按下?如果他們在您釋放然后再次按下之間的時間內(nèi)釋放了該怎么辦?),最重要的是,它沒有確實(shí)似乎有效。無論如何,我想問題是,有沒有解決的辦法?也許是一種發(fā)送按鍵事件的方法,該事件不會與物理鍵盤結(jié)合(不太可能)?如果沒有,是否有更好的方法可以將其通用地粘貼到Linux?
查看完整描述

2 回答

  • 2 回答
  • 0 關(guān)注
  • 283 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號