1
A
回答
1
你在正確的軌道上NSEvent
!只要你不想修改事件,但只是觀察它,這就像調用addGlobalMonitorForEventsMatchingMask:handler:
一樣簡單。只要您指定的類型爲with the mask的事件發佈到另一個應用程序,您的應用程序就會通過回調得到通知。*處理程序參數是一個塊,但需要您不必擔心,因爲PyObjC中的塊參數幾乎比處理更容易在直的Obj-C中:你可以傳遞任何可調用的對象(函數,方法,類等),而橋將處理剩下的事情。這是所有你需要做的:
def callback(event):
NSLog(u"%s" % event)
NSEvent.addGlobalMonitorForEventsMatchingMask_handler_(NSScrollWheelMask, callback)
在回調中,你得到的實際事件的副本,你可以查詢之類的東西了deltaX
或任何你喜歡。
請注意,就像AppKit中其他許多有趣的方法一樣,這個方法在10.6中是新的,並且不在PyObjC的較舊版本(閱讀:Apple提供的)的元數據文件中。這意味着如果您嘗試使用網橋的默認安裝來構建應用程序,它將會失敗。你將不得不使用更新的版本。
*如果你想獲得張貼到你的應用程序事件,您必須使用addLocalMonitorForEventsMatchingMask:handler:
。不幸的是,一個事件監視器無法爲您的應用程序和其他應用程序獲取這兩個事件
相關問題
- 1. Android地圖獲取滾動事件
- 2. 從滾動條按鈕獲取事件?
- 3. 在獲取RotationChanged事件時使用RadialController滾動Webview
- 4. 在滾動事件上獲取用戶滾動位置的最常用方法
- 5. 捕獲全局WCF ServiceHost請求事件
- 6. 使用滾動事件放大和縮小使用滾動事件
- 7. 使用NodeJS在Linux上捕獲全局鍵盤事件
- 8. 如何檢測全局拖動事件?
- 9. 使用pyobjc在Python編程全局熱鍵檢測OSX - 使用錯誤「Quartz.CGEventMaskBit」
- 10. 如何獲取日曆事件全局狀態?
- 11. 使用pyobjc
- 12. 如何在用戶滾動div頂部時獲取事件?
- 13. 如何使用Java獲取全局活動窗口的名稱?
- 14. Excel VBA:如何使全局事件Global_beforsave()
- 15. 檢測全局鍵事件
- 16. UWP中的全局事件
- 17. ChildWindow_Loaded的全局事件
- 18. Android全局觸摸事件
- 19. JQuery子全局事件
- 20. 使全局獲取文件從登錄用戶目錄
- 21. 觸發一個全局事件點擊並拖動滾動條的任何滾動容器
- 22. 使用鍵盤事件滾動文本
- 23. 使用jquery touchmove滾動事件
- 24. JavaScript在滾動事件上使用requestAnimationFrame
- 25. 使用Javascript模擬滾動事件
- 26. 使用php觸發JavaScript滾動事件
- 27. laravel全局獲取循環
- 28. PyObjC中的箭頭鍵事件處理
- 29. 在PyObjC中監聽onclick事件
- 30. 使用「-webkit溢出滾動:觸摸」的實時滾動事件
你能否詳細說明你的意思是「全局滾動事件」?你想知道什麼時候有任意的滾動視圖移動? (順便說一句,你有沒有得到那些事件水龍頭的工作?我希望如此。) – 2011-05-14 07:17:48
我想知道當用戶使用雙指滾動那裏觸摸板。我不在乎是否有任何實際滾動,我只需要知道用戶何時滾動和滾動多少。我沒有得到我的Event Tap工作......(我有點放棄了一段時間,直到我真的需要讓它工作,也許我會在那之前學習C ......) – Teak 2011-05-14 22:31:26
無論使用什麼應用程序,都可以獲得滾動事件活躍?這可能也需要一個事件點擊......我最近一直在與它混在一起。我會在這個週末再次捅一捅,看看我能不能在你或其他人面前搞清楚。 – 2011-05-14 22:54:37