Support for special buttons on Fujitsu P1510D

Bug #121962 reported by Tudor Holton
6
Affects Status Importance Assigned to Milestone
linux-source-2.6.20 (Ubuntu)
Won't Fix
Undecided
Unassigned
linux-source-2.6.22 (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

Binary package hint: linux-source-2.6.20

Some keys on the Fujitsu P1510D don't return a keycode.

In particular, this laptop has a special set of buttons right next to the display that are important to the use of the laptop. When the laptop screen has been rotated and placed flat against the keyboard, a.k.a. "Tablet mode", the keyboard is obscured and only these five buttons are accessible.

The buttons are labelled with symbols "Arrow Up" , "Arrow Down", "Rotate", "Fn", and "Alt". Next to the arrows are the letters "A" and "B", which are activated by the "Fn" key. The "Fn" key is not the same as the Fn key on the keyboard.

At present, none of these keys return a keycode under Feisty.

The touchscreen on this laptop is a serial mouse, so it's possible these buttons could also be a serial device of some kind, especially since there doesn't appear to be an undetected PCI or USB device. Alternatively, maybe an ISA device.

Steps to reproduce:
1) Get a Fujitsu P1510D and install Ubuntu Feisty on it
2) Return to the terminal with Control-Alt-F1 and log in
3) Type 'showkey' at the command prompt.
4) Press the buttons
5) See no keycode returned

Expected result
1) A keycode for each key pressed (or alternatively, the modified keycode when the "Fn" key is used.)

Revision history for this message
Tudor Holton (tudor) wrote :
Revision history for this message
Tudor Holton (tudor) wrote :
Revision history for this message
Tudor Holton (tudor) wrote :

According to http://www.samengstrom.com/nxl/6968/linux_p1510_page.en.html
"The device should be at at 0xfd70 with IRQ 5"

I've attached lspci -vnn, but I can't seem to see it.

Revision history for this message
Robert Gerlach (khnz) wrote :

I have written a driver for this device, but no deb yet.
http://sourceforge.net/projects/fjbtndrv/

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Gutsy commit 850d8cf0a6ab79891875861c0da717010da2ee9a
Gutsy commit a01109fb9c7b2bd297a17c18882bf2840a196e2d

Changed in linux-source-2.6.20:
assignee: nobody → timg-tpi
importance: Undecided → Low
status: New → Fix Committed
Revision history for this message
Tudor Holton (tudor) wrote :

That's great! I can confirm that the fjbtndrv works.

Revision history for this message
Matthew Garrett (mjg59) wrote :

Tim - the driver committed appears to be for the touchscreen on Fujitsu devices, not the additional buttons. fjbtndrv seems to be driving entirely different hardware.

Changed in linux-source-2.6.22:
status: Fix Committed → Confirmed
Revision history for this message
Tudor Holton (tudor) wrote :

Matthew - There are two drivers in that package. fscd appears to be a driver for the touchscreen, although I couldn't get that to compile. fsc-btns is the driver for the buttons which compiled and worked.

Revision history for this message
Tudor Holton (tudor) wrote :

Here is the output of showkey after the buttons module has been compiled. The file shows the five buttons pressed and depressed in order from left to right, which is the same order as I have mentioned them in my bug report.

Revision history for this message
Robert Gerlach (khnz) wrote :

fsc_btns it the real driver (kernel module).
fscd is only a helper, listen to the input event device and generate corresponding X events (button events, brightness adjustment and screen rotation). It is a workaround until the xorg evdev driver understand the kernel events correctly, the desktop environments interpret this events and wacom rotates by screen rotation. I have no idea if fscd should be in the distribution.

Revision history for this message
Tudor Holton (tudor) wrote :

How good! I didn't realise fscd was supposed to do that.

Anyway, I agree with Robert, the fsc_btns should be in (at least) to satisfy the ability to map the buttons to actions in Gnome or shell scripts. fscd isn't so important as there have been many ways to work around the other features.

Besides, if the evdev driver isn't up to scratch yet, we should really be bugging them instead, maybe push them to look at this hack. Workarounds are nice, but the standardised way to do things is always better.

fsc_btns, on the other hand, uses the standard kernel way of doing things. So please include it. :)

Revision history for this message
Tim Gardner (timg-tpi) wrote :

This driver has X11 dependencies outside the kernel. Needs a debian package.

Changed in linux-source-2.6.22:
assignee: timg-tpi → nobody
importance: Low → Wishlist
status: Confirmed → Won't Fix
Changed in linux-source-2.6.20:
status: New → Won't Fix
Revision history for this message
Matthew Garrett (mjg59) wrote :

The driver sends standard input events, which we already deal with in X. No extra dependencies are required in Ubuntu.

Changed in linux-source-2.6.22:
status: Won't Fix → Confirmed
Revision history for this message
Robert Gerlach (khnz) wrote :

The real driver is only a kernel module, not more (http://downloads.sourceforge.net/fjbtndrv/fsc_btns-0.40.tar.gz).
Currently, there is no official kernel diff for lack of feedback from users, so i don't know if this driver works on all target systems (have reports for P1510/P1610 and T4010). If it's helpful I can create a patch against ubuntu-gutsy.git.

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Robert,

How about a patch against ubuntu-gutsy-lum.git.

Revision history for this message
Robert Gerlach (khnz) wrote :

Tim, right. There is the patch (unchanged 0.40 release, i386 only).

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Gutsy l-u-m commit d13f8cdd1efe6cb940a20563922a9a9207b17b7f

Changed in linux-source-2.6.22:
assignee: nobody → timg-tpi
importance: Wishlist → Low
status: Confirmed → Fix Committed
Revision history for this message
Ben Collins (ben-collins) wrote :

Robert, in the future, do not add changelog entries in patches for linux-source and linux-ubuntu-modules. These changelogs are created automatically add upload time based on the git-log.

Thanks

Revision history for this message
Robert Gerlach (khnz) wrote : Re: [Bug 121962] Re: Support for special buttons on Fujitsu P1510D

Hi,

Am Freitag 31 August 2007 16:59:14 schrieb Ben Collins:
> Robert, in the future, do not add changelog entries in patches for
> linux-source and linux-ubuntu-modules. These changelogs are created
> automatically add upload time based on the git-log.

Thanks, will do.
Could you please point me towards some documentation for ubuntu kernel related
stuff, haven't found one yet (but some open questions).

Regards,
  Robert Gerlach

Revision history for this message
bullethead67 (bullethead67) wrote :

I have installed the fjbtndrv on a 5020D Tablet and 8 out of ten buttons work
 I had this working in ubuntu and am now trying it in slackware.
Here are the keys from top to bottom on the right of the tablet.

label keycode
Alt----------------nothing
Mail--------------210
Rotate------------14
Esc----------------57
Enter--------------28
Fn-----------------nothing
PgUp------------104
PgDn------------109
Up----------------103
Down------------108

Revision history for this message
Tudor Holton (tudor) wrote :

Are Fn and Alt not meta keys? Do you get a keycode if you combine them with a key that has a symbol with the same coloured letter as the Fn key?

Since this is a different machine, might I suggest a new bug report? Just link it to this one so the developers can know this driver affects more than one model.

Revision history for this message
bullethead67 (bullethead67) wrote :

That was my mistake all the buttons work fine I realized it after I posted. I have only been on linux a few months.

unfortunately when i rebooted the buttons stopped working alltogether.

I tried = modprobe fjbtndrv
and i got an error = atkbd.c: Spurious ACK on isa0060/serio0. Some program might be trying to access hardware directly

this error is continous and fills my screen locking up the computer.

Take note I tried
make
make install
modprobe fjbtndrv

and it diddnt work so i tried this

cd /usr/src/linux-headers-2.6.20-16/include/linux
sudo ln -s autoconf.h config.h
cd <fjbtndrv folder>
make
sudo make install
sudo depmod -ae
echo fjbtndrv >> sudo /etc/modules
sudo modprobe fjbtndrv

did this different install method ruin everything?

Revision history for this message
Robert Gerlach (khnz) wrote :

bullethead67, fjbtndrv driver is outdated, please try fsc_btns 0.40 from the sourceforge project and report problems there.

ALT and FN should report keycodes, but Xorg can't handle this yet (code >255).

Revision history for this message
Henrik Nilsen Omma (henrik) wrote :

Moving milestone to beta.

Tim Gardner (timg-tpi)
Changed in linux-source-2.6.22:
assignee: timg-tpi → nobody
Revision history for this message
Robert Gerlach (khnz) wrote :

Please upgrade to release 0.43. This release works for Stylistic ST tablets now.

changelog:
 - Stylistic ST5xxx support added
 - DMI based machine detection

Thanks

Revision history for this message
Tudor Holton (tudor) wrote :

I can confirm this works out of the box on Gutsy Gibbon. I am therefore changing the status to fix released. :-)

Changed in linux-source-2.6.22:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.