Gotta love Apple...

I’m currently running a Apple Aluminum Keyboard (with number pad) and a Apple Mighty Mouse, my problem being is that, the “function” buttons F1 - F19 & “Eject” don’t work sometimes. It’s crazy if I’m honest because it’s only with certain applications like Firefox, Photoshop (ran via WINE), LFS (ran via WINE), Empathy and Nautilus (at times.) There are a couple of others as well, anyway I’ve been in the keyboard layouts, I’ve tried all options for Apple and none seem to be working, I also get a KBR kernel issue too at times!

output from lsusb:

Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 003: ID 046d:c29a Logitech, Inc.
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 138a:0001 DigitalPersona, Inc Fingeprint Reader
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 009: ID 046d:09a4 Logitech, Inc. QuickCam E 3500
Bus 002 Device 008: ID 05ac:0304 Apple, Inc. Optical USB Mouse [Mitsumi]
Bus 002 Device 007: ID 05ac:0221 Apple, Inc. Aluminum Keyboard (ISO)
Bus 002 Device 005: ID 064e:a103 Suyin Corp.
Bus 002 Device 002: ID 05ac:1006 Apple, Inc. Hub in Aluminum Keyboard
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

output from lsmod:

Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 003: ID 046d:c29a Logitech, Inc.
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 138a:0001 DigitalPersona, Inc Fingeprint Reader
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 009: ID 046d:09a4 Logitech, Inc. QuickCam E 3500
Bus 002 Device 008: ID 05ac:0304 Apple, Inc. Optical USB Mouse [Mitsumi]
Bus 002 Device 007: ID 05ac:0221 Apple, Inc. Aluminum Keyboard (ISO)
Bus 002 Device 005: ID 064e:a103 Suyin Corp.
Bus 002 Device 002: ID 05ac:1006 Apple, Inc. Hub in Aluminum Keyboard
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
bally@bally-laptop:~$ lsmod
Module Size Used by
ipt_MASQUERADE 12759 1
xt_state 12578 1
ipt_REJECT 12541 2
xt_tcpudp 12603 4
iptable_filter 12810 1
nf_nat_h323 17002 0
nf_conntrack_h323 58101 1 nf_nat_h323
nf_nat_pptp 12629 0
nf_conntrack_pptp 13839 1 nf_nat_pptp
nf_conntrack_proto_gre 13606 1 nf_conntrack_pptp
nf_nat_proto_gre 12767 1 nf_nat_pptp
nf_nat_tftp 12489 0
nf_conntrack_tftp 12953 1 nf_nat_tftp
nf_nat_sip 17087 0
nf_conntrack_sip 29412 1 nf_nat_sip
nf_nat_irc 12643 0
nf_conntrack_irc 13349 1 nf_nat_irc
nf_nat_ftp 12649 0
nf_conntrack_ftp 13359 1 nf_nat_ftp
iptable_nat 13182 1
nf_nat 25416 9 ipt_MASQUERADE,nf_nat_h323,nf_nat_pptp,nf_nat_proto_gre,nf_nat_tftp,nf_nat_sip,nf_nat_irc,nf_nat_ftp,iptable_nat
nf_conntrack_ipv4 19589 4 iptable_nat,nf_nat
nf_conntrack 81469 18 ipt_MASQUERADE,xt_state,nf_nat_h323,nf_conntrack_h323,nf_nat_pptp,nf_conntrack_pptp,nf_conntrack_proto_gre,nf_nat_tftp,nf_conntrack_tftp,nf_nat_sip,nf_conntrack_sip,nf_nat_irc,nf_conntrack_irc,nf_nat_ftp,nf_conntrack_ftp,iptable_nat,nf_nat,nf_conntrack_ipv4
nf_defrag_ipv4 12729 1 nf_conntrack_ipv4
ip_tables 26957 2 iptable_filter,iptable_nat
x_tables 29538 7 ipt_MASQUERADE,xt_state,ipt_REJECT,xt_tcpudp,iptable_filter,iptable_nat,ip_tables
cryptd 20352 0
aes_x86_64 17208 1
aes_generic 38279 1 aes_x86_64
binfmt_misc 17456 1
parport_pc 36823 0
ppdev 17069 0
vesafb 13761 1
arc4 12529 2
snd_usb_audio 111390 1
snd_usbmidi_lib 24919 1 snd_usb_audio
snd_hda_codec_realtek 331704 1
nvidia 10709116 64
snd_hda_intel 32881 2
iwlagn 331644 0
snd_hda_codec 103315 2 snd_hda_codec_realtek,snd_hda_intel
snd_hwdep 13604 2 snd_usb_audio,snd_hda_codec
snd_pcm 95911 3 snd_usb_audio,snd_hda_intel,snd_hda_codec
iwlcore 167108 1 iwlagn
mac80211 286741 2 iwlagn,iwlcore
snd_seq_midi 13324 0
snd_seq_midi_event 14899 1 snd_seq_midi
uvcvideo 67214 0
snd_seq 61397 2 snd_seq_midi,snd_seq_midi_event
hid_apple 13237 0
snd_rawmidi 30435 2 snd_usbmidi_lib,snd_seq_midi
joydev 17412 0
videodev 81982 1 uvcvideo
v4l2_compat_ioctl32 16728 1 videodev
snd_timer 29396 2 snd_pcm,snd_seq
snd_seq_device 14462 3 snd_seq_midi,snd_seq,snd_rawmidi
cfg80211 177524 3 iwlagn,iwlcore,mac80211
snd 67204 17 snd_usb_audio,snd_usbmidi_lib,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_seq,snd_rawmidi,snd_timer,snd_seq_device
psmouse 72840 0
video 19176 0
serio_raw 13166 0
soundcore 12680 1 snd
snd_page_alloc 18484 2 snd_hda_intel,snd_pcm
coretemp 13411 0
lp 17825 0
parport 46339 3 parport_pc,ppdev,lp
hid_logitech 26427 0
ff_memless 12966 1 hid_logitech
usbhid 46693 1 hid_logitech
hid 90763 3 hid_apple,hid_logitech,usbhid
ahci 25854 4
atl1e 37225 0
libahci 26563 1 ahci

P.S. I know Apple products are “bad” but the Aluminum & Mighty mouse were “must have’s.” :3

Open a terminal and run:

xev

now you can test the F keys actually work, and get the key make/break codes.

After that, you’ve got some reading to do on how to apply your own key mappings:

Enjoy :wink:

I’ll be honest. That amount of writing put me of reading it. Isn’t there another way? :frowning:

If Ubuntu doesn’t contain a working keymap for your keyboard… I’m guessing the only way would be to create your own.

But if I come across anything on my travels, I’ll let you know.

See if this describes your problem:
https://help.ubuntu.com/community/AppleKeyboard

??

And if:

echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode

Temporarily fixes the function keys

Temporarily = Won’t survive a reboot.

I feel like a right noob now. I didn’t know I had to press and hold “fn” to make the function keys work. :frowning:

Thanks for this Mark!

EDIT: I still have one problem though… the “eject” button doesn’t seem to work. I remember having it work with some Apple configuration just can’t remember which… so is there anyway I could get this to work, or will I have to do the keymap thing which I honestly don’t understand very much? XD

Yes… in the Application lens, start Keyboard Shortcuts

Click Add

Name: CDeject
Command: eject

Click Apply

Look in the left hand (Action) column for the CDeject item (under Custom Shortcuts).

in the right hand (Shortcut) column, click where it says Disabled … it should change to New shortcut…

Now hit your eject key on the keyboard, and the eject command will now be bound to that key (or key combo).

Spot on! Cheers Mark! :wink: