Page 1 of 3 123 LastLast
Results 1 to 10 of 79

Thread: HOW TO Setup Fujitsu tablet PC bezel buttons

Hybrid View

  1. #1
    Join Date
    Apr 2010
    Beans
    78
    Distro
    Ubuntu 12.04 Precise Pangolin

    HOW TO Setup Fujitsu tablet PC bezel buttons

    Participate in developing and testing fujitsu-tablet udev keymaps

    After using a Toshiba Tecra M4 and several HP tx (which all were hot and noisy) I am very pleased with my Fujitsu Lifebook T730 and will definitely go for another Fujitsu Tablet PC when the time has come. As far as I understood all Fujitsu Tablet PC use the same driver for the bezel buttons and those are not working out of the box (yet). I am just a dumb user but there are some experts that make the difference and I am very grateful to them! So I hope I am not the only one being interested in Favux's offer here:

    http://ubuntuforums.org/showpost.php...5&postcount=36!
    Is anyone interested in looking into the bezel buttons further? Cobuntu started to on page 1 of this thread. He didn't get a X key code for any of them in xev as I understand him. And no reaction at all from the first 3.

    If interested list your model and how many bezel buttons and what each one is suppose to do.

    Then enter in a terminal /lib/udev/findkeyboards. The output will show what event# the keyboard is on. Then using that event# enter in a terminal:
    Code:
    sudo /lib/udev/keymap -i input/event# | less
    Then press the bezel button(s) of interest. After pressing the bezel buttons enter esc to exit, and you will see the scan codes and the associated udev key codes. Enter ctrl-z to exit less. Post that output matching each scan code/key code to your bezel button and intended function list.

    We then should be able to figure out how to get them to work. We can use rc.local but as I mentioned to Cobuntu we would ultimately like a fujitsu-tablet udev keymap to place in /lib/udev/keymaps.

    Again I'm using appendix 2 from the Rotation HOW TO and the README.keymap.txt at /usr/share/doc/udev/README.keymap.txt.bz. The README.keymap.txt is basically the instructions to assemble a udev keymap.
    So if you have a Fujitsu Tablet PC please post your results here!

    Also be aware that MagickRotation already supports Fujitsu Tablet PCs with the latest version 1.6.1: http://ubuntuforums.org/showthread.php?t=1967982

    Fujitsu T730 has five bezel buttons [Physical number=printed above the button___printed (in color) left on the button___printed (in color) right on the button]:
    1=1___(in blue) A____(in white) scroll key down
    2=2___(in blue) B____(in white) scroll key up
    3=3___(in white) screen rotation symbol
    4=4___(in blue) Fn
    5=ENT___ (in white) ALT
    Last edited by Cobuntu; July 4th, 2012 at 01:00 AM.

  2. #2
    Join Date
    Apr 2010
    Beans
    78
    Distro
    Ubuntu 12.04 Precise Pangolin

    Using fjbtndrv in Precise

    This is how I managed to install fjbtndrv in 12.04 x64 (there might be a better way, but at least I got it working):
    < ppa was not working and there are missing packages when you download fjbtndrv-2.3.2 and run ./configure: it gives an error: Package requirements (x11 xi xext xtst) were not met:
    No package 'xi' found
    No package 'xtst' found this did not work
    > according to http://katastrophos.net/andre/blog/2...0-u2010-u2020/ run:
    sudo apt-get install libxrandr-dev libxtst-dev libxi-dev libhal-dev
    > then download latest driver to desktop: http://sourceforge.net/projects/fjbtndrv/ and unrar
    > cd /home/USER NAME/Desktop/fjbtndrv-2.3.2
    > ./configure
    > make
    > sudo make install (do not forget that!)
    > done, reboot
    < nothing works in 12.04x64; some scripts are here: /usr/local/lib/fjbtndrv
    > go to https://launchpad.net/~khnz/+archive/ppa
    then open for the latest available: https://launchpad.net/~khnz/+archive...-archive-extra and download all 4 available .deb for the correct platform (i386/amd64) and install in the following order (otherwise fjbtndrv will not install): fsc-btns-kernel-source > fscd > fscrotd > fjbtndrv
    RESTART





    Result when testing the buttons according to Favux's instructions (http://ubuntuforums.org/showpost.php...postcount=36):

    xev+BUTTON 1:
    KeyPress event, serial 36, synthetic NO, window 0x5a00001,
    root 0xae, subw 0x0, time 7093532, (-515,145), root259,197),
    state 0x0, keycode 186 (keysym 0x1008ff79, XF86ScrollDown), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False


    xev+BUTTON 2:
    KeyPress event, serial 36, synthetic NO, window 0x5a00001,
    root 0xae, subw 0x0, time 7198570, (-616,124), root158,176),
    state 0x0, keycode 185 (keysym 0x1008ff78, XF86ScrollUp), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False


    xev+BUTTON 3:
    KeyPress event, serial 36, synthetic NO, window 0x5a00001,
    root 0xae, subw 0x0, time 7256350, (-328,187), root446,239),
    state 0x0, keycode 161 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False


    xev+BUTTON 4:
    KeyPress event, serial 36, synthetic NO, window 0x5a00001,
    root 0xae, subw 0x0, time 7321409, (-642,135), root132,187),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False


    xev+BUTTON 5:
    KeyPress event, serial 36, synthetic NO, window 0x5a00001,
    root 0xae, subw 0x0, time 7357163, (-597,212), root177,264),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False




    But with the next step I get stuck:
    > /lib/udev/findkeyboards
    > /lib/udev/findkeyboards: AT keyboard: input/event4
    > sudo /lib/udev/keymap -i input/event4 | less
    „Then press the bezel button(s) of interest. After pressing the bezel buttons enter esc to exit, and you will see the scan codes and the associated udev key codes. Enter ctrl-z to exit less. Post that output matching each scan code/key code to your bezel button and intended function list.“
    < When I press the bezel buttons nothing happens, after pressing ESC it says:
    Press ESC to finish, or Control-C if this device is not your primary keyboard
    scan code: 0x01 key code: esc
    (END)

    Favux's response so far:
    I think right now the fjbtn drv is grabbing the keys which is why things aren't working as expected, but is why you are seeing xev keycodes. So nice work on getting it to compile. Although I'm pretty sure you don't need libhal-dev. And its not clear to me what the deb.s did.

    Each version of fjbtn drv varied how things were implemented so I'd have to go through it step by step to try and figure out exactly what's happening.

  3. #3
    Join Date
    Nov 2008
    Beans
    9,635
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: HOW TO Setup Fujitsu tablet PC bezel buttons

    Alright, so far for our sources list we have the following.

    Sources:
    Basic Instructions: /usr/share/doc/udev/README.keymap.txt
    Original thread: http://ubuntuforums.org/showthread.php?t=1967982
    Appendix 2 and elsewhere: http://ubuntuforums.org/showthread.php?t=996830
    And of course Robert Gerlach's stuff


    In appendix 3 on the Rotation HOW TO we figured out scroll for the HP Elitebook's jog dial. So we should be able to do that for your scroll keys.

    At this point to get our fujitsu-tablet udev keymap we want to go through step a) and b) in appendix 2 (or my instructions in the quote in your first post) with the fujitsu-tablet.ko from Magick Rotation installed. Which means you need to remove the fjbtn stuff you have installed so it isn't interferring with anything.

  4. #4
    Join Date
    Apr 2010
    Beans
    78
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: HOW TO Setup Fujitsu tablet PC bezel buttons

    Favux, I removed fjbtndrv/fscrotd/fscd/fsc-btns-kernel-source via Software Center. I have no idea how to remove my other step:
    > cd /home/USER NAME/Desktop/fjbtndrv-2.3.2
    > ./configure
    > make
    > sudo make install

    Also isn't fujitsu-tablet.ko getting lost this way - I did not have installed that before I installed any of the fjbtndrv stuff - but in MagickRotation's 'fujitsu-tablet_README.txt' it says that this is required (and not provided for in kernel 3.2)?

  5. #5
    Join Date
    Nov 2008
    Beans
    9,635
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: HOW TO Setup Fujitsu tablet PC bezel buttons

    Ah, OK. That means you have the early version of fujitsu-tablet from fjbtndrv. We definitely don't want that. We want to determine what the buttons are from the fujitsu-tablet.ko that got accepted to the kernel. I have to check versions but he fixed the buttons for several models. So the fujitsu-tablet.ko that first got accepted (3.3 kernel?) is buggy and it is the next kernel (3.4?) where the fixes were applied. Which is the one Magick uses.

    So after you uninstall it use the one in Magick. Just follow the directions in MagickExtras to install it.

    If the Makefile is complete (fingers crossed) what you should be able to do is go back into the folder where you did:
    Code:
    sudo make install
    and to remove it run:
    Code:
    sudo make uninstall

  6. #6
    Join Date
    Apr 2010
    Beans
    78
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: HOW TO Setup Fujitsu tablet PC bezel buttons

    Ok, sudo make uninstall seemed to work fine, following through MagickExtras instructions again showed that everything was still there and MagickRotation was and is working fine. I hope that everything is removed now, the only thing I noticed was, that already after removing the fjbtndrv debs after swivelling CellWriter seemed to have reset into training mode again.

    Here is the xev output on Fujitsu T730's five bezel buttons [Physical number=printed above the button___printed (in color) left on the button___printed (in color) right on the button]:

    (...)

    pressing button 1=1___(in blue) A____(in white) scroll key down:
    KeyPress event, serial 36, synthetic NO, window 0x6c00001,
    root 0xae, subw 0x0, time 15655825, (-224,245), root:(550,297),
    state 0x0, keycode 186 (keysym 0x1008ff79, XF86ScrollDown), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

    KeyRelease event, serial 37, synthetic NO, window 0x6c00001,
    root 0xae, subw 0x0, time 15655969, (-224,245), root:(550,297),
    state 0x0, keycode 186 (keysym 0x1008ff79, XF86ScrollDown), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False



    pressing button 2=2___(in blue) B____(in white) scroll key up:
    KeyPress event, serial 37, synthetic NO, window 0x6c00001,
    root 0xae, subw 0x0, time 15688707, (-213,196), root:(561,248),
    state 0x0, keycode 185 (keysym 0x1008ff78, XF86ScrollUp), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

    KeyRelease event, serial 37, synthetic NO, window 0x6c00001,
    root 0xae, subw 0x0, time 15688912, (-213,196), root:(561,248),
    state 0x0, keycode 185 (keysym 0x1008ff78, XF86ScrollUp), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False



    pressing button 3=3___(in white) screen rotation symbol:
    KeyPress event, serial 38, synthetic NO, window 0x6c00001,
    root 0xae, subw 0x0, time 15870768, (-161,237), root:(613,289),
    state 0x0, keycode 161 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

    KeyRelease event, serial 39, synthetic NO, window 0x6c00001,
    root 0xae, subw 0x0, time 15870883, (-161,237), root:(613,289),
    state 0x0, keycode 161 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False



    pressing button 4=4___(in blue) Fn:
    KeyPress event, serial 41, synthetic NO, window 0x6c00001,
    root 0xae, subw 0x0, time 16018411, (-288,251), root:(486,303),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

    KeyRelease event, serial 41, synthetic NO, window 0x6c00001,
    root 0xae, subw 0x0, time 16018661, (-288,251), root:(486,303),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False



    pressing button 5=DEL___ (in white) ALT:
    KeyPress event, serial 42, synthetic NO, window 0x6c00001,
    root 0xae, subw 0x0, time 16068691, (-378,308), root:(396,360),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

    KeyRelease event, serial 43, synthetic NO, window 0x6c00001,
    root 0xae, subw 0x0, time 16068841, (-378,308), root:(396,360),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

    (...)

    sudo /lib/udev/keymap -i input/event4 | less still does not work, so I guess either fjbtndrv is not completely removed or I am missing something. Maybe it were best to make a clean install on an external harddrive...
    Last edited by Cobuntu; July 2nd, 2012 at 04:17 PM. Reason: clarifying xev output

  7. #7
    Join Date
    Apr 2010
    Beans
    78
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: HOW TO Setup Fujitsu tablet PC bezel buttons

    Someone sent me something similar for the Fujitsu T902 I got a couple of month ago. The bezel buttons on the T902 differ, the printed symbols are from left to right:
    Windows Button/Volume down/Volume up/Screen Rotation/A/B

    Only the Windows Button/A/B seem to be recognized. Create a hidden text file in the home folder an name it ".Xmodmap". Put the following content in it:
    ! for the panel keys (not all supported

    ! Windows button
    keycode 161 = F20
    ! Button A
    ! keycode 186 = XF86ScrollDown
    keycode 186 = F24
    ! Button B
    ! keycode 185 = XF86ScrollUp
    keycode 185 = F25
    Then just like nema.arpit mentioned you can assign actions to this. E.g. I assigned "Unity Grab Handles" to the Windows button.

  8. #8
    Join Date
    Jun 2009
    Location
    San Diego,California
    Beans
    65
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: HOW TO Setup Fujitsu tablet PC bezel buttons

    Hi Cobuntu
    I have good news!!
    I was able to modify the fujitsu-tablet.c to get all three buttons working.
    DISCLAIMER : You do this at your own risk, I'm not responsible if something bad happens.

    Edit the fujitsu-tablet.c in /usr/src/fujitsu-tablet-20120404-gerlach folder
    Code:
    sudo nano /usr/src/fujitsu-tablet-20120404-gerlach/fujitsu-tablet.c
    Change the following :
    Code:
    static unsigned short keymap_Lifebook_Tseries[KEYMAP_LEN] __initconst = {
        KEY_RESERVED,
        KEY_RESERVED,
        KEY_RESERVED,
        KEY_RESERVED,
        KEY_SCROLLDOWN,
        KEY_SCROLLUP,
        KEY_DIRECTION,
        KEY_LEFTCTRL,
        KEY_BRIGHTNESSUP,
        KEY_BRIGHTNESSDOWN,
        KEY_BRIGHTNESS_ZERO,
        KEY_RESERVED,
        KEY_RESERVED,
        KEY_RESERVED,
        KEY_RESERVED,
        KEY_LEFTALT
    };
    to
    Code:
    static unsigned short keymap_Lifebook_Tseries[KEYMAP_LEN] __initconst = {
        KEY_RESERVED,
        KEY_VOLUMEDOWN,
        KEY_VOLUMEUP,
        KEY_DIRECTION,
        KEY_SCROLLDOWN,
        KEY_SCROLLUP,
        KEY_DIRECTION,
        KEY_LEFTCTRL,
        KEY_BRIGHTNESSUP,
        KEY_BRIGHTNESSDOWN,
        KEY_BRIGHTNESS_ZERO,
        KEY_RESERVED,
        KEY_RESERVED,
        KEY_RESERVED,
        KEY_RESERVED,
        KEY_LEFTALT
    };
    then do a dkms remove; dkms build and dkms install again as per the fujitsu-tablet_README. And modprobe fujitsu-tablet
    Code:
    sudo rmmod fujitsu_tablet
    sudo dkms remove -m fujitsu-tablet -v 20120404-gerlach --all
    sudo dkms build -m fujitsu-tablet -v 20120404-gerlach
    sudo dkms install -m fujitsu-tablet -v 20120404-gerlach
    sudo modprobe fujitsu-tablet
    The three keys should now show up in showkey -s or xev

    Cheers!!
    Last edited by nema.arpit; May 21st, 2013 at 10:23 AM.

  9. #9
    Join Date
    Aug 2011
    Beans
    17

    Re: HOW TO Setup Fujitsu tablet PC bezel buttons

    Hi!
    I got a Lifebook T730 with Ubuntu 13.04 running. Now i try to get the buttons working, but im stuck while i try to install fjbtndrv. Terminal says:
    Code:
    /Desktop/fjbtndrv-2.3.2$ make
    make  all-recursive
    make[1]: Entering directory `/home/timo/Desktop/fjbtndrv-2.3.2'
    Making all in src
    make[2]: Entering directory `/home/timo/Desktop/fjbtndrv-2.3.2/src'
    Making all in linux
    make[3]: Entering directory `/home/timo/Desktop/fjbtndrv-2.3.2/src/linux'
    make -C /lib/modules/3.8.0-24-generic/build M=/home/timo/Desktop/fjbtndrv-2.3.2/src/linux modules
    make: Entering an unknown directory
    make: *** /lib/modules/3.8.0-24-generic/build: No such file or directory.  Stop.
    make: Leaving an unknown directory
    make[3]: *** [fujitsu-tablet.ko] Error 2
    make[3]: Leaving directory `/home/timo/Desktop/fjbtndrv-2.3.2/src/linux'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/home/timo/Desktop/fjbtndrv-2.3.2/src'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/timo/Desktop/fjbtndrv-2.3.2'
    make: *** [all] Error 2
    Well, i'm more or less unexperienced with Ubuntu/Linux so any help would be nice

    Regards,

  10. #10
    Join Date
    Jun 2009
    Location
    San Diego,California
    Beans
    65
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: HOW TO Setup Fujitsu tablet PC bezel buttons

    It seems that you do not have the kernel headers
    Code:
    make: *** /lib/modules/3.8.0-24-generic/build: No such file or directory. Stop.
    See here
    http://crunchbang.org/forums/viewtopic.php?id=8463
    Change the kernel version to your own (3.8.0-24-generic)

Page 1 of 3 123 LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •