2011-12-09 83 views
1

爲Linux,有一個叫xbindkeys是(驚訝)一個漂亮的小庫結合某些組合鍵您選擇的命令。綁定到Linux系統事件?

我尋找類似的東西,除了系統硬件事件。當我將耳機插入電腦的輸出插孔時,我希望能夠調用一個程序。當我拔下耳機時,能夠與事件綁定也很好。

有誰知道這是否可能?也許通過一些很酷的Python X11庫?

在此先感謝。

編輯:發現插孔抽象層的API:http://www.alsa-project.org/~tiwai/alsa-driver-api/ch06s02.html 不幸的是,這隻允許輪詢設備,而不是事件處理程序。

回答

3

你可能想使用udev這一點。我沒有使用過libudev,但這裏的something I found

libudev - 監控接口

libudev還提供了一個監控界面。當設備 的狀態改變時,監控接口 將嚮應用程序報告事件。這對於在設備連接或從系統斷開連接時接收通知很有用。

的動作是返回以下字符串:

  • 加 - 設備連接到系統
  • 刪除 - 設備從系統中
  • 改變斷開 - 一些有關設備改變
  • 移動 - 設備節點被移動,重命名,或重新父

該文繼續介紹如何通過udev_monitor_get_fd獲取文件描述符,後來通過select進行監控。