奇妙な問題が発生しています。他の人の作業に基づいてハッキングを行い、MacBook Pro 11.5 の内蔵キーボードのサポートをカーネル 3.19 にバックポートしました。私のGitHubソースはここにあります。
3.19 で期待どおりにコンパイルして動作できるようにしながら、カーネル 4.2 にできるだけ近づけるために、できる限りのことを行いました。
しかし、4.2 を起動すると期待どおりに動作する完璧な機能が得られますが、私のモジュールは何も動作しないようです。既存の Apple デバイスは期待どおりに動作しますが、内蔵キーボードでは依然として同じ問題が発生しています。
問題はファンクション キーが機能しないため、メディア キーを使用できないという事実に基づいています。また、他の Apple キーボードが機能することを確認するために健全性テストも実行しました (Apple の有線およびワイヤレス キーボードでテストし、両方とも正常に動作しました)。
キーボードが適切なドライバーにバインドされていることを確認する方法はありますか?
デバイスのUSB IDは で05ac:0274
、そのデバイスの設定行は次の場所にあります。hid-ids.h:147そしてhid-apple.c:553-554hid-apple モジュールを取り外しても、他のキーボードは動作しないのに内蔵キーボードは動作するため、デバイスが認識されていないだけだと確信しています。
何が起こっているのか、また内蔵キーボードがモジュールにバインドされない理由をデバッグするにはどうすればよいでしょうかhid-apple
?
編集: 次のようにして、キーボードを適切なドライバーにバインドすることができました。
# unbind everything matching 05AC:0274 from hid-generic
for dev in `ls /sys/bus/hid/drivers/hid-generic/ | egrep 05AC\:0274`; do
echo -n $dev | sudo tee /sys/bus/hid/drivers/hid-generic/unbind
done
# bind everything matching 05AC:0274 to hid-apple
for dev in `ls /sys/bus/hid/devices/ | egrep 05AC:0274` ; do
echo -n $dev | sudo tee /sys/bus/hid/drivers/hid-apple/bind
done
問題は残っています。特定の USB ID を特定のドライバーに強制的に関連付けるにはどうすればよいでしょうか? 以下の回答は受け入れますが、まだ解決策を探しています...
答え1
素晴らしい答えがありますここ簡単に答えると、コマンドusb-devices
(または同様の名前のパッケージでほとんどのディストリビューションで利用可能usbutils
) を使用すると、各 USB デバイスが現在使用しているドライバーに関する必要な情報が得られるはずです。