Ответ @SiegeX подарки будет работать, но если у Вас есть много файлов в Вашем файле шаблона, это могло бы стать медленным и неуклюжим. Вы могли бы получить намного лучшую производительность при помощи другого инструмента, как это:
find . | grep -f pattern.txt
Да, это было всем этим.
Я наконец получил fn ключевую работу! Я должен был скомпилировать свой собственный модуль ядра, чтобы сделать так. Я думаю, что, возможно, решил его более легким способом, но здесь - то, что я сделал:
Я нашел эту ошибку: https://bugs.launchpad.net/ubuntu / + источник/Linux / + ошибка/942184
Самый первый патч, отправленный на той странице, имел мое решение: https://bugs.launchpad.net/ubuntu / + источник/Linux / + ошибка/942184 / + вложение/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
с идентификатором 0x0255, так как этот идентификатор отсутствовал в источнике ядра, который я получил. Я попробовал это, потому что я заметил номер 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, но это достаточно для моих целей, превращая клавиатуру яблока в happy-hacking-like путем переотображения нескольких ключей.
Кажется, что это - весь известная ошибка: https://bugs.launchpad.net/ubuntu / + источник/Linux / + ошибка/911064
Моя клавиатура является тем же. Вот патч, который я сделал против ядра Linux 3.4 для создания "fn" ключевой работы.
diff -aur linux-3.4.pristine/drivers/hid/hid-apple.c linux-3.4.new/drivers/hid/hid-apple.c
--- linux-3.4.pristine/drivers/hid/hid-apple.c 2012-07-15 04:45:54.489209371 -0300
+++ linux-3.4.new/drivers/hid/hid-apple.c 2012-07-15 04:41:46.986193078 -0300
@@ -455,6 +455,8 @@
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO),
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
APPLE_ISO_KEYBOARD },
+ { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI),
+ .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO),
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
APPLE_ISO_KEYBOARD },
diff -aur linux-3.4.pristine/drivers/hid/hid-core.c linux-3.4.new/drivers/hid/hid-core.c
--- linux-3.4.pristine/drivers/hid/hid-core.c 2012-07-15 04:45:54.489209371 -0300
+++ linux-3.4.new/drivers/hid/hid-core.c 2012-07-15 04:41:46.986193078 -0300
@@ -1382,6 +1382,7 @@
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI) },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO) },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS) },
+ { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI) },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO) },
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) },
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) },