Mac book proとHengeドックがあります。ドックは、数個のデバイスを簡単に接続してMBPを「ドッキング」できるホルダーにすぎません。 Appleワイヤレスキーボードもあります。キーボードはbluetoothです。
キーボードは「正常に」正常に動作しますが、問題は、MBPのふたを閉じるとラップトップがスリープ状態になることです(これを防ぐことはできません)。スリープ(Bluetoothがないためだと思います)。ゲームパッドを使用してデバイスをスリープから解除すると、ロック画面のパスワードプロンプトが表示されますが、Bluetoothキーボードが接続されていないため、実際には何も入力できません。
それでは、Bluetoothキーボード(Appleワイヤレスキーボード)を使用してMac Book Proをスリープ状態から復帰させる方法、または失敗した場合、パスワードを入力できるようにマシンの再開時に再接続を強制できますか?
ここに私のハードウェアの詳細があります。
Mac Book Pro 6.2(通常は動作しないことはわかっていますが、クローズドハードウェアプラットフォームです)
バス001デバイス008:ID 050d:0017 Belkin Components B8T017 Bluetooth + EDR 2.1
Bus 001デバイス007:ID 05ac:8218 Apple、Inc. Bluetoothホストコントローラー
Linuxバージョン
Linux macbook 3.5.0-22-generic #34-Ubuntu SMP
Ubuntu 12.10
私がやったこと:
AppleワイヤレスキーボードをUbuntuとペアリングしました。
私が期待するもの:
Appleワイヤレスキーボードのキーをマッシュすると、システムがスリープから復帰します。
何が起こるか
Appleワイヤレスキーボードのキーをマッシュすると、何も.....
受け入れられる答えに期待するもの:
キーをマッシュすると、Appleワイヤレスキーボードがスリープ状態から復帰し、コンピューティングの日を続けることができます。
注:
私は通常、これを見たり言ったりするのが嫌いですが、.... Mac OS XとWindowsで動作するため、ハードウェアがこれを実行できることを知っています。
私が見つけたもの
時間をかけて、私が見つけたいくつかのことを説明します。これは、なぜこれがそんなに複雑なプロセスであるのか、そして少なくとも彼らにとってそれを改善するために何ができるのかを人々が理解するのに役立つはずです。
まず、MBPのBluetooth無線は「USB」デバイスです。これは、ラップトップや一部のデスクトップでも非常に一般的です。そのため、LinuxはそれをUSBデバイスとして扱い、それに応じて構成できます。
第二に、Bluetooth無線には、キーボードとマウス専用の非常に基本的な「プロファイル」であるHIDモードの2つのモードがあります。このモードでは、Bluetoothデバイスを管理するアプリケーションが存在する前にキーボードを使用できます。たとえば、GRUBメニューでBluetoothキーボードを使用する場合、それはHIDモードです。あなたのラップトップとキーボードはまだペアリングする必要がありますが、問題や介入なしにこの非常に低いレベルで動作できます(もう一度ペアリングされます)。ただし、HIDモードは非常に制限されており、特定の機能が動作しません。たとえば、キーボードのバッテリーレベルは機能しません。また、HIDモードでは、ファンクションキーとメディアキーで苦労しました(このキーボードでは同じキーであり、ソフトウェアで切り替えることができます)。
次に、キーボードからラップトップに「何か」を送信する必要があります。 「何か」を受け取るにはラップトップも必要です。次に、ラップトップを実際に起動させるために、すべてを結び付ける必要があります。
最後に、Linux、Ubuntu、Bluez、または誰かが、すべてのBluetoothコントローラーがHCIモードで動作するはずだと考えているようです。このキーボードでもHIDモードでは非常に制限されており、単純なマウスとキーボード(携帯電話やヘッドセットなど)を超えるものにはHCIモードが必要であることを考えると、これはおそらく非常に健全なデフォルトです。ただし、HCIモードを実行するには完全なソフトウェアスタックが必要であり、ラップトップがサスペンド/スリープ/電源オフされている間は実行されません。そのため、デフォルトでは、ラップトップがスリープすると、キーボードが切断され、リスニングが終了します。
動作させるための実際の手順
ステップ0:回避策
私がこれをやっていたとき、私は問題を解決するために何もすることができなかったという事実に非常にイライラしました。ラップトップがスリープ状態のときは何もできません。少なくともMac Book Proでは、スリープ状態にしないと蓋を閉じることができません。そのため、ビデオは動作しない(ドッキングされていないときに接続されていない外部モニタに接続されるため)か、キーボードがなくてもすべてが表示される(動作しない/ペアリングされる/何でもないため)内部のものにはアクセスできません)。これを回避するには、実行する必要があります。 LDMのログイン画面でビジュアルキーボードを使用します。パスワードプロンプトが表示されたら、ユーザーの切り替えをクリックしてから、ビジュアルキーボードを使用してログインできます。同じユーザーとしてログインしている限り、セッションは失われません。そうは言っても、これらの手順を実行している間は、作業を保存しないでおきません。
ステップ1:キーボードを事前にペアリングします。
テスト中に、このステップが必要であることに気付きました。ただし、その理由は完全にはわかりません。 Appleは奇妙なことをするので手放すつもりです。
ステップ2:Linuxをキーボードで動作させる
何らかの理由で、ログイン時にキーボードがペアリングを失います。おそらく、BluetoothコントローラーがHCIモードに切り替えられたためです。これを修正するには、Linuxでペアリングする必要があります。これにより、手順1で行ったペアリングが解除されますが、ラップトップの電源がオフになっているときや起動中にHIDモードが解除されることはありません。ただし、再起動すると、BluetoothスタックがHCIモードで再び完全に実行されるまでキーボードは機能しません。これは、キーボードがHCIモードで話そうとしているが、誰も聞いていないためです。シャットダウンして接続がタイムアウトするのを待つと、キーボードはHIDモードで再び動作します。
Sudo apt-get install bluez-compat
を実行してbluez-compatをインストールします。これにより、簡単にペアリングできます。 Bluetoothマネージャーがないと、クラッシュしてしまいました。Bluetooth
を実行し、プラス記号をクリックします。キーボードをペアリングモードにし(Appleワイヤレスキーボードの電源ボタンを押しながら)、指示に従います。スムーズにペアリングする必要があります。この時点で、キーボードはLinuxで正常に動作し、ラップトップがスリープ状態のときにHIDコントローラーに信号を送信します。ステップ3:目を覚ます必要があることをLinuxに伝える
次に、Bluetoothデバイスが「何か」を取得した場合にLinuxにウェイクアップするように指示する必要があります。 このサイト のスクリプトのおかげで、これを行うのは非常に簡単です。基本的な手順は以下のとおりですが、不明な点がある場合は the site をお読みください。これのほとんどすべてはリンクされたサイトから来ています。
Sudo apt-get install notify-send zenity
chmod a+x /usr/local/sbin/select-resume-devices
およびchmod a+x /usr/local/sbin/enable-wakeup
。Sudo /usr/local/sbin/select-resume-devices
ステップ4:テストとキャッチ
コンピューターを再起動したので、すべて正常に動作するはずです。再度ログインしたら、何らかの方法でコンピューターをスリープモードにします。キーボードのキーをたたくと、ラップトップが再開します。ただし、キャッチがいくつかあります。