KubuntuシステムでAppleWirelessKeyboardをセットアップしようとしています。これらは、それぞれIntelAtomおよびInteli5を搭載したPCハードウェアです。キーボードはUSキーボードレイアウトで、背面にモデル番号A1314が書かれています。単三電池2本が必要です。モデルA1314には複数の種類があるようです。
10.04、11.04、11.10、12.04システムでこれを試しましたが、成功しませんでした。BluetoothドングルとKDEBluetooth通知トレイアプレットを使用するたびに、キーボードを接続できます。どちらの場合も、「AppleWirelessKeyboard」として表示されます。
ほとんどすべてが期待どおりに機能します。実際、私は今それを入力しています。しかし、そうではないことが1つあります。それは、Fnキーです。Fn +下矢印をPgDn / Page Downとして使用したいのですが、これがAppleキーボードのデフォルトの動作であることを理解しています。そしてもちろん、Page Up、Home、Endについても同じようにしたいと思います。私の例では、PageDownに固執します。
xevツールを使用して、システムが受信するキーコードを確認しました。Fnキーを押しても何も起こらず、何も登録されません。Fn +下矢印を押すと、xevは下矢印のみを登録します。これが私の11.04システムからの出力です。
Fnキーだけを押します:出力なし
下矢印キーを押す:KeyPressイベント、シリアル36、合成NO、ウィンドウ0x4400001、ルート0x15d、subw 0x4400002、時間2699773、(44,45)、ルート:(1352,298)、状態0x10、キーコード116(keysym 0xff54、Down )、same_screen YES、XLookupStringは0バイトを提供します:XmbLookupStringは0バイトを提供します:XFilterEventは次を返します:False
KeyRelease event, serial 36, synthetic NO, window 0x4400001,
root 0x15d, subw 0x4400002, time 2699860, (44,45), root:(1352,298),
state 0x10, keycode 116 (keysym 0xff54, Down), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Fn +下矢印キーを同時に押します。
KeyPress event, serial 36, synthetic NO, window 0x4400001,
root 0x15d, subw 0x4400002, time 2701548, (44,45), root:(1352,298),
state 0x10, keycode 116 (keysym 0xff54, Down), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x4400001,
root 0x15d, subw 0x4400002, time 2701623, (44,45), root:(1352,298),
state 0x10, keycode 116 (keysym 0xff54, Down), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
このフォーラムや他のLinux関連のフォーラムを何時間も検索してきましたが、まだ解決策が見つかりません。私は実際のアップルのラップトップまたはデスクトップを使用するときにこれを修正する方法についてのアドバイスをほとんど見つけましたが、私はそれを持っていません。彼らは次のようなことを試みると言いました
echo 2 > /sys/module/hid_apple/ ...
しかし、私のシステムにはhid_appleディレクトリが存在しないため、modprobe hid_apple
最初に行う必要がありました。それも役に立ちませんでした。
いくつかの設定ファイルを変更したり、必要に応じて独自のパッチを適用したカーネルをコンパイルしたりするのはクールです。
現在、10.04および12.04システムをテストできます。
同じ問題は、Windows 7に接続した場合にも発生します。Fnキーは、それ自体で、または他のキーと組み合わせても、何も実行しません。AutoHotkeyをいじることで、キーが押されたものとして登録されていることを確認できましたが、デフォルトでは無視されます。カスタムAutoHotkeyスクリプトでそれを修正できます。しかし、AutoHotkeyはWindows専用です。Linuxで問題を修正したいと思います。
iPad 2に接続すると、F1-F12キーとの組み合わせでのみ機能します。矢印キーではありません。iPadの画面がオフになっていて、Fnキーだけを押すと画面がオンになるので、キー自体が押された状態で登録されます。
だから私の質問を要約すると:現在登録されていないFnキーを使用する必要があるときに、Page Up、Page Down、Home、Endをこのキーボードで動作させるのを手伝ってくれる人はいますか?
2012年7月4日編集:まだ運がない。おそらくKDEが何かを妨害していると思いましたが、ここXFCEでは問題が解決しません。
Syslogからの出力は次のとおりです。
Jul 4 13:15:31 comp kernel: [ 1561.377849] usb 1-1.4: new full-speed USB device number 8 using ehci_hcd
Jul 4 13:15:31 comp kernel: [ 1561.449864] usb 1-1.4: device descriptor read/64, error -32
Jul 4 13:15:31 comp kernel: [ 1561.629402] usb 1-1.4: device descriptor read/64, error -32
Jul 4 13:15:32 comp kernel: [ 1561.805100] usb 1-1.4: new full-speed USB device number 9 using ehci_hcd
Jul 4 13:15:32 comp bluetoothd[911]: HCI dev 0 registered
Jul 4 13:15:32 comp bluetoothd[911]: Listening for HCI events on hci0
Jul 4 13:15:33 comp bluetoothd[911]: HCI dev 0 up
Jul 4 13:15:33 comp bluetoothd[911]: Adapter /org/bluez/911/hci0 has been enabled
Jul 4 13:15:44 comp kernel: [ 1573.712323] input: Apple Wireless Keyboard as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/bluetooth/hci0/hci0:42/input8
Jul 4 13:15:44 comp kernel: [ 1573.712569] generic-bluetooth 0005:05AC:0255.0006: input,hidraw3: BLUETOOTH HID v0.50 Keyboard [Apple Wireless Keyboard] on 00:09:DD:50:75:A1
ついにfnキーが機能するようになりました!そのためには、独自のカーネルモジュールをコンパイルする必要がありました。私はもっと簡単な方法でそれを解決できたと思いますが、これが私がしたことです:
私はこのバグを見つけました:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/942184
そのページに投稿された最初のパッチには私の解決策がありました:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/942184/+attachment/2788714/+files/alu2011.patch
次に、http://www.codewhirl.com/2012/04/how-to-compile-a-single-module-in-ubuntu-linux/の記事と最初のコメントに従って、モジュールにパッチを適用して変更しました。
USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI
取得したカーネルソースにこのIDがないため、パッチ全体を適用せず、ID0x0255で参照している行のみを適用しました。以前にsyslogの番号0255に気付いたので、これを試しました。generic-bluetooth 0005:05AC:0255.0006: input,hi...
どうやってやったのかよくわかりませんが、うまくいきます!
Xevの出力を次に示します。最初に、fnキーを使用して、次に使用せずに、左矢印キーを押します。
KeyPress event, serial 34, synthetic NO, window 0x3000001,
root 0x15d, subw 0x3000002, time 1502136, (40,28), root:(1235,427),
state 0x0, keycode 110 (keysym 0xff50, Home), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0x3000001,
root 0x15d, subw 0x3000002, time 1502635, (40,28), root:(1235,427),
state 0x0, keycode 110 (keysym 0xff50, Home), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 34, synthetic NO, window 0x3000001,
root 0x15d, subw 0x3000002, time 1504023, (40,28), root:(1235,427),
state 0x0, keycode 113 (keysym 0xff51, Left), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0x3000001,
root 0x15d, subw 0x3000002, time 1504235, (40,28), root:(1235,427),
state 0x0, keycode 113 (keysym 0xff51, Left), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Fnキーは、xmodmappingを楽しむことができる個別のキーとして登録されていませんが、いくつかのキーを再マッピングすることでAppleキーボードをハッピーハッキングのようなものに変えるという私の目標にはこれで十分です。
これはすべて既知のバグのようです:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/911064
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加