奇妙な問題があります。 MacBook Pro 11,5の内部キーボードサポートをカーネル3.19にバックポートするために、他の人の仕事に基づいてハッキングをしました。私のGitHubソースコードはここにあります。。
私は3.19で期待どおりにコンパイルして動作することができますが、可能な限りカーネル4.2に近づくようにあらゆる努力をしました。
しかし、4.2で起動すると、期待どおりに機能する完全な機能が提供されますが、私のモジュールは何もしません。従来のAppleデバイスは期待どおりに動作しますが、内蔵キーボードにはまだ同じ問題があります。
問題は、ファンクションキーが機能していないため、メディアキーを使用できないことです。また、他のAppleキーボードが動作していることを確認するために、完全なテストも行いました(Apple WirelessとWirelessキーボードでテストした結果、両方が正しく機能しました)。
キーボードが正しいドライバにバインドされていることを確認する方法はありますか?
デバイスのUSB IDは次のとおりです。05ac:0274
デバイスの構成ラインは以下にあります。hid-ids.h:147そしてhid-apple.c:553-554。 hid-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デバイスが使用している現在のドライバについて必要な情報を提供する必要があることです。