web-dev-qa-db-ja.com

Bluetoothヘッドフォンがコンピュータをスタンバイ状態から復帰させないようにするにはどうすればよいですか?

ラップトップとデスクトップの両方とペアリングされているBluetooth4.0ヘッドフォンを持っています。ヘッドホンの電源を入れるとすぐに、ペアリングされたデバイスがスタンバイから復帰します。そのため、デスクトップをスタンバイ状態にしていて、ラップトップでヘッドフォンを使用したい場合、デスクトップがスリープ状態から復帰して再接続します。

この機能を無効にできるようにしたいと思います。デバイスマネージャでBluetoothモジュールの電源設定を表示すると、 [このデバイスにコンピュータのスリープ解除を許可する]オプションはグレー表示されます 。これはおそらく、デスクトップのBluetoothアダプターがUSBから電力を供給されており、 MicrosoftによるBluetoothプロトコルの実装 に従って、USBルートハブとコントローラーが接続されたデバイスの電力状態を処理するためです。

ただし、Bluetoothモジュールが接続されているルートハブを開くと、 [このデバイスにコンピューターのスリープ解除を許可する]オプションもグレー表示されます 。とにかく、ここでは無効にしたくありません。キーボードも同じハブに接続されており、キーボードを使用してコンピューターをスタンバイから復帰できるようにしたいからです。

コマンドプロンプトでPowerCFG -lastwakeコマンドを使用すると、コンピューターを起動したデバイスがUSBルートハブであることが通知されるだけです(MicrosoftのBluetoothプロトコルの実装によると)。現在、コンピューターをスリープ状態にすると、BluetoothアダプターはD2スリープ状態になります。コンピューターをスタンバイ状態にしたときに、強制的にD3(オフ)状態にする方法はありますか?または、レジストリまたはBluetoothアダプターのスタンバイ機能からの復帰を無効にする場所をハッキングしますか?

Bluetoothヘッドフォンの電源を入れるたびに、コンピューターがスタンバイから復帰しないようにするにはどうすればよいですか?

:編集:

powercfg -devicequery wake_programmable
HID Keyboard Device
HID-compliant consumer control device (001)
HID Keyboard Device (001)
HID-compliant system controller (001)
HID-compliant consumer control device (004)
HID-compliant system controller (003)
HID-compliant consumer control device (005)
Qualcomm Atheros AR8151 PCI-E Gigabit Ethernet Controller (NDIS 6.30)
HID-compliant vendor-defined device (006)
HID-compliant vendor-defined device (008)
HID-compliant vendor-defined device (009) 
HID-compliant vendor-defined device (010)
HID-compliant mouse (001)

powercfg -devicequery wake_armed
HID Keyboard Device
HID Keyboard Device (001)
HID-compliant mouse (001)
7
Thomas

ウェイク対応デバイスのリストを表示するには:

powercfg /devicequery wake_programmable

HID Keyboard Device
Intel(R) Dual Band Wireless-AC 8265

ウェイク対応デバイスのリストを表示するには:

powercfg -devicequery wake_armed

HID Keyboard Device

特定のデバイスからのアウェイクを無効にするには:

powercfg /devicedisablewake "HID Keyboard Device"

Etvoilà:

powercfg /devicequery wake_armed

NONE
2
rustyx

このシナリオを検討しますか:

  1. デスクトップPCのスタンバイ時間に達すると、Bluetoothアダプターを無効にするスクリプトを自動トリガーし、5秒で非同期スタンバイをトリガーし、ウィンドウポップアップ「hh:mmでWindowsスタンバイを押して続行します」、スクリプトを一時停止します。
  2. 5秒後-デスクトップPCがスタンバイモードになります
  3. デスクトップPCはすべてのBluetoothデバイスを無視します
  4. Bluetooth以外のデバイス(ラップトップキーボードなど)を介してラップトップのスタンバイ状態からの終了を使用し、待機中のポップアップに応答する場合、スクリプトは続行され、Bluetoothアダプターが有効になります
  5. デスクトップPCが再開します

それは適切でしょうか?

ここにstandby_bt_ctl.cmdをフックする必要があります(そのために必要な提案):

@echo %DBG% off
:: go to standby after turning off Bluetooth adapter
::
:: bt_ctl.cmd - still to be determined would suggest devcon tool
call bt_ctl.cmd off
start /min nircmd.exe cmdwait 5000 standby
nircmdc.exe show nircmd infobox "Standby at ~$currdate.dd-MM-yyyy$ ~$currtime.HH:mm:ss$" "Information"
call bt_ctl.cmd on
0
Scott R