shadowjohn / UCL_LIU

利用python+pyhook開發的仿嘸蝦米,肥米輸入法
MIT License
84 stars 16 forks source link

進入睡眠模式後再醒來,肥米視窗會失效 #38

Closed hrcspkla closed 1 year ago

hrcspkla commented 1 year ago

目前使用Win10 22H2、肥米版本:1.52。

讓電腦進入睡眠模式後,如果放置的時間很長(約6個小時以上),重新恢復後即使肥米還常駐在通知區域裡,還是叫不出浮動組字視窗打中文。必須將肥米關閉重開才能再用。之前的舊版本也有相同情況。

shadowjohn commented 1 year ago

@hrcspkla 您好,是的,我也有發現這個問題,午休時間出去買便當,回來後畫面回到登入視窗 然後再進入系統有發現前幾一段時間大概幾十秒,肥米沒有反應 不過來回多切幾次 ctrl+space 似乎都有回神回到正常的狀況 我找時間研究看看有沒有改善的機會~~

shadowjohn commented 1 year ago

image 早上試了一下,有發現如果使用登的鎖定螢幕,是按 Win+L 的話 按完密碼進入Windows後,會無法正常上字(不過用滑鼠去按「肥->英」就會正常) 登入後進入畫面,在 Debug event F 裡,這時會發現 flag_is_win_down 仍是 True ,以為仍壓著win按鍵,這時肥米不管按什麼都會穿透 可能是 Win+L 回到登出畫面太快,後面要讓 win 鍵釋放的部分沒生效 嘗試先從這方面修看看

shadowjohn commented 1 year ago

image 在 Debug Event F 埋抓 key event log 的方法,似乎可行 增加判斷使用者如果是 Win+L 組合鍵登出,那就強制 release Win 鍵

shadowjohn commented 1 year ago

image 成功~~~Win+L 登出後再進來也能正常打字了 先簽到 V1.54 的 branch https://github.com/shadowjohn/UCL_LIU/tree/V1.54

shadowjohn commented 1 year ago

@hrcspkla 您好 1.54 版已發佈,您有空再試看看登出後、休眠後還會不會發生 :)

shadowjohn commented 1 year ago

@hrcspkla 自從修復 win+L 鍵登出後,我自己就沒再遇到登出後再回來無法使用的狀況 不知道您試的如何,但您的狀況是休眠才發生 我系統沒在休眠,不好測這段

hrcspkla commented 1 year ago

@hrcspkla 自從修復 win+L 鍵登出後,我自己就沒再遇到登出後再回來無法使用的狀況 不知道您試的如何,但您的狀況是休眠才發生 我系統沒在休眠,不好測這段

自從發佈v1.54後,整整試了兩個禮拜直到今天,我想問題應該有解決。目前「睡眠模式」過後醒來,只有發生過一次失效,其它十幾次醒來後,肥米視窗都能正常喚醒,而且睡眠的時間有長有短,最長至少有12小時以上也正常。

至於「休眠」的話,問題應該還在。我的筆電有次插頭拔掉忘了插回去就進入睡眠,結果系統三個小時後自動從睡眠轉休眠,那次從休眠醒來後問題就發生,但這次休眠失效與上面所提的並不是同一次。不過我個人極少使用休眠模式所以並不影響。

抱歉過了兩個禮拜才回信,因為發生僅有一次的睡眠模式失效,我就打算再試久一點。以目前的狀況來說已是很理想的改進!

shadowjohn commented 1 year ago

@hrcspkla 您好 肥米在 cpu 高負載時,吃字有時會跟不上,然後就會卡卡的crash crash~ 這部分有點不好debug,不過確實也有遇到幾次 也有可能休眠結束一時各種應用程式起飛,輸入法就異常 我有空再研究看看怎麼修正

shadowjohn commented 1 year ago

image

大概已掌握到怎麼模擬 cpu high loading 時造成肥米失效無法正常打字的狀況 系統安裝 prime95 ( 計算π的程式 ),這程式會耗大量的 cpu 然後用肥米在記事本打字,這時如果把 prime95 的設定優先順序調到「高」 原本可以正常打字的肥米就會變卡,然後就無法再打出字 我有試著把肥米在啟動後的先順序也拉高,不過目前看起來沒效,再找看看有沒有好方法 慘的是debug畫面也沒看到錯誤訊息 Or2

shadowjohn commented 1 year ago

補充資料 PyHook doesn't detect key pressed in some windows

https://stackoverflow.com/questions/33377775/pyhook-doesnt-detect-key-pressed-in-some-windows