3

マルチメディア キー (再生/一時停止、スキップ、前へ) を受信できるようにする必要があるアプリケーションを開始したところです。Mac、Linux (主要なディストリビューション)、および Windows をターゲットにしたいと考えています。私が必要とすることを実行しているように見えるGNOME のソリューションを見てきましたが、見た目はシンプルですが、すべての主要なプラットフォームでこれらのキーを取得できるものはありません。アプリケーションはバックグラウンドで実行され、フォーカスされることはないため、キーをグローバルに取得できる必要もあります。

現在、私は Python に強く結びついているわけではありませんが、複数のプラットフォームをターゲットにできるようにしたいので、Python が適しているように思えました。これを実行できるクロスプラットフォーム ライブラリを作成した人はいますか? 私はその作品を見つけることができませんでした。

PyQT は実行可能なオプションのように見えますが、OSX ではグローバル キーの検出に問題がある可能性があることを示唆する人もいます。

4

2 に答える 2

0

PyQt (またはPySide ) では、アプリケーション フラグを使用して、Qt::AA_CaptureMultimediaKeysマルチメディア キーのクロスプラットフォーム キャプチャを有効にすることができます。Qt::Key_MediaPlay原則として、このフラグを使用すると、ユーザーが再生 ( )、停止 ( Qt::Key_MediaStop)、一時停止 ( ) などのマルチメディア キーを押したときに、Qt プログラムはキーボード イベントを受け取ることができますQt::Key_MediaPause。サポートされているキーの完全なリストについては、ドキュメンテーション

すべてのキーがすべてのプラットフォームでサポートされるかどうかはわかりませんが、一般的に、Qt は異なるオペレーティング システム間で非常に優れた相互運用性を提供することを目指しています。シンプルなプロトタイプがあれば、その質問にすぐに答えられるはずです (MacOS 環境にアクセスできないため、そこでテストすることはできませんが、Windows と Linux では動作するはずです)。Qt を使用してキーボード イベントを処理する方法の詳細については、QKeyEvent クラスのドキュメントを参照してください。

于 2013-08-19T14:22:16.210 に答える
0

数か月前にpython-mmkeysを引き継ぎました。実際にコンパイルしようとしたことはありませんが、プロジェクトのコードに含まれていました。

PyGTK に依存していますが、GNU/Linux、MacOX、および Windows で利用できます。

コードは非常に使いやすいです。

import mmkeys
keys = mmkeys.Mmkeys()
keys.connect("mm_prev", previous_cb)
keys.connect("mm_next", next_cb)
keys.connect("mm_playpause", playpause_cb)
于 2013-08-24T00:55:39.893 に答える