Kernel module
To make it work first build a custom kernel module created by Corentin Chary (iksaif) . As of 3.3.1 it hasn't made it to mainline yet, although it is scheduled for inclusion. Make sure you have a recent kernel emerged, symlinked, built and installed.
su -
cd /usr/src/
git clone https://github.com/iksaif/samsung-laptop-dkms
cd samsung-laptop-dkms
make
make install
modprobe samsung-laptop
If this works without errors then
depmod -aIf you have an error 2 you likely have /usr/src/linux/ pointing to a kernel that isn't the one you are running.
Udev Rules
Enter the following into
/lib/udev/keymaps/samsung-90x3a
0x96 kbdillumup
# Fn+F8
0x97 kbdillumdown
# Fn+F7
0xD5 wlan
The next step is create a rule in /lib/udev/rules.d/95-keymap.rules.
ENV{DMI_VENDOR}==
"[sS][aA][mM][sS][uU][nN][gG]*"
, ATTR{[dmi
/id
]product_name}==
"90X3A"
, RUN+=
"keymap $name samsung-90x3a"
grep -A 2 keyboard /proc/bus/input/devices | grep Sysfs
/lib/udev/keymap input/event5 /lib/udev/keymaps/samsung-90x3a
Now these new rules should be loaded, check that you can see them by running xev in a terminal emulator in X. If you press Fn+F8, then you should see events. If you don't see any, then it isn't working.
More to come...
More to come...