Page 8 of 12 FirstFirst ... 678910 ... LastLast
Results 71 to 80 of 116

Thread: Ubuntu on EP121 Touch screen problem

  1. #71
    Join Date
    Apr 2011
    Location
    Paris, FRANCE
    Beans
    20
    Distro
    Ubuntu 11.04 Natty Narwhal

    Re: Ubuntu on EP121 Touch screen problem

    Quote Originally Posted by deadland View Post
    Well sometimes it works and sometime it doesn't at all ... So it is not predictable if it works or not, hope that’s clearer.
    This is when you boot on Windows and then on Ubuntu.
    Here's my theory : Windows first activate the bluetooth device and when you restart the slate on ubuntu the device still active so it can be used on Ubuntu. I used to do that trick quite a lot to make it work XD But when the device is turned off, when you try to boot in Ubuntu the bluetooth won't work at all.

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

    Re: Ubuntu on EP121 Touch screen problem

    Hi all,

    It looks like over on linuxwacom-devel they have figured out how to get the touchscreen running on evdev without the "forcing" hack in post #9. This was on the 3.1 kernel but it should apply to at least a few previous kernel versions. See: http://sourceforge.net/mailarchive/f...nuxwacom-devel

    You have to make minor modifications to the following files (basically whitelist and blacklist) before compiling the module(s)/kernel. To summarize (I think):
    Quote Originally Posted by Chris
    The reason its using this driver is because, like I mentioned earlier,
    your device has to be white listed to be used by a non-generic driver.

    To start with, someone will need to add your new product ID of 0xa001
    to this file:

    http://git.kernel.org/?p=linux/kerne...640e9c;hb=HEAD

    It needs to be added around line 234. Then it needs to be add to
    white list in the hid-multitouch.c file:

    http://git.kernel.org/?p=linux/kerne...9cd47d;hb=HEAD

    Look around line 682 for example of registering a resistive eGalax
    touch screen and around line 690 for registering a capacitive.

    This all assumes that eGalax has chosen to be a HID Multitouch
    compliant device for this model... probably they did.
    Quote Originally Posted by Chris
    OK, found out what I missed. When you have a driver that is
    auto-grabbed by generic-usb then you need to add it to a generic-usb
    blacklist in addition to adding it to hid-multitouch's whitelist.

    http://git.kernel.org/?p=linux/kerne...heads/for-next

    See around line 1407 where its blacklisting other eGalax touchscreens.
    Add a line for yours.
    Hopefully I got the correct bits.

    Anyway, once touch is on evdev you should be able to use ginn for multi-touch, see the N-trig HOW TO. N-trigs also have touch on evdev and the stylus on Wacom.

    I'm not going to try to figure out how to do the compile but Appendix 1 on the Linux Wacom HOW TO should give some hints.


    Edit: Interestingly Chris added that you could use the current xf86-input-wacom for gestures in lieu of evdev + ginn. Due to his ongoing work on gestures for xf86-input-wacom.
    Last edited by Favux; October 28th, 2011 at 07:54 PM.

  3. #73
    Join Date
    Mar 2011
    Beans
    24

    Re: Ubuntu on EP121 Touch screen problem

    Looks like I'm going to have to learn how to compile. Maybe. Eventually. This is definatley a motivator.

  4. #74
    Join Date
    Nov 2006
    Location
    Australia
    Beans
    87
    Distro
    Ubuntu 13.04 Raring Ringtail

    Re: Ubuntu on EP121 Touch screen problem

    I'm thinking about getting an EP121, but all this sounds way too hard.

    Do any of you have Ubuntu running inside VirtualBox (or similar) in Windows 7?
    Does that not work well enough?

  5. #75
    Join Date
    Mar 2011
    Beans
    24

    Re: Ubuntu on EP121 Touch screen problem

    Quote Originally Posted by az_s_za View Post
    I'm thinking about getting an EP121, but all this sounds way too hard.

    Do any of you have Ubuntu running inside VirtualBox (or similar) in Windows 7?
    Does that not work well enough?
    Windows 7 is major bloated, and I read Windows 8 is supposed to be even more so. I don't think you'll leave yourself much space with Virtualbox. It would work but I'd rather get it up and running in Ubuntu at least I think it would work. I tried setting up an Android development environment not too long ago and the Android emulator was sloooooow.
    Go Windows...
    That was supposed to be sarcastic.

  6. #76
    Join Date
    Apr 2011
    Location
    Paris, FRANCE
    Beans
    20
    Distro
    Ubuntu 11.04 Natty Narwhal

    Re: Ubuntu on EP121 Touch screen problem

    Quote Originally Posted by deadland View Post
    Hi there, it is working (Ubuntu 11.10 64 bit)

    You have to ask the EETI-Support (touch_fae at eeti.com) for a special driver (Asus EP121; ubuntu 11.10 64bit). They will send you a archive called "eGTouch_v1.00.0812.L-x64.tar.gz" (Note: the driver provided on the driver page of EETI is not working properly ).

    You just have to run the setup.sh as sudo and add to the "52-egalax-virtual.conf" file the option InvertY, that it looks like this:



    And finally reboot you system.

    Observations:
    1.) I asked the EETI Support if I could share their drive in the ubuntu forum, they said "NO" it is a project (I do not understand what this means, but anyway, please do not upload the driver)
    2.) Multi-touch does not work, they told me "If you want to have multi-touch function, the user-space (application) must be able to receive our multi report data from our controller." Well, I also do not understand what this means ...

    What does not work:
    1.) As i mentioned already, Multitouch does not work
    2.) Microphone
    3.) Specialkeys "show on-screen keyboard" etc.
    4.) Accelerometer

    Bye
    I just tested the driver and i must say that it work pretty well!
    Just one little correction : To get the Y axis right, just open the following file with administrator right :
    Code:
    sudo nano /etc/eGTouchd.ini
    At line #8 change 0 to 2 to reverse the Y axis, you should have
    Code:
    [eGTouchd.ini] 
    DebugEnableBits            0 
    ShowDebugPosition        0 
    RS232Baudrate             0         
    MouseMode            0 
    ReportPoint            5 
    MultiTouchEnable        1 
    Direction            2         
    Orientation            0
    [...]
    Regarding multitouch, the driver seems to implement the uTouch API, I should give it a try someday, but for now on, simple touch is more than OK.

  7. #77
    Join Date
    Sep 2005
    Beans
    93

    Re: Ubuntu on EP121 Touch screen problem

    I know I am making a fool of my self right now, but it would be great if we could solve the outstanding problems.

    1.) Bluetooth


    It works if I turn bluetooth "on" (via the bluetooth icon at the upper right corner) and restart the bluetooth service in a terminal.

    Code:
    sudo /etc/init.d/bluetooth restart
    also I found a tip to connect the bluetooth keyboard before logging in:

    After you install, login and setup your bluetooth keyboard. Once you have it paired, add a similar line to /etc/default/bluetooth: (Substitute your keyboard MAC)

    HIDD_OPTIONS="-connect 7C:ED:8D:XX:XX:XX -master -server"

    This will allow the bluetooth keyboard to be always connected. (It will sleep now & then. I believe it is configurable.)
    Credits to AbeOwitz

    2.) Specialkeys

    No idea...

    3.) Microphone


    No idea...
    Last edited by deadland; November 4th, 2011 at 04:07 PM.

  8. #78
    Join Date
    Dec 2005
    Beans
    57
    Distro
    Ubuntu 10.10 Maverick Meerkat

    Smile Re: Ubuntu on EP121 Touch screen problem

    The special keys are handled by the eeepc-wmi kernel module.

    Unfortunately the additional keys are relatively new and unmapped. If you really want to use them, you'll have to recompile the eeepc-wmi kernel module.

    (I'm not using Ubuntu these days, switched back to Gentoo due to Unity, but there should be some docs around on how to do this. i.e. download kernel source, edit and rebuild/replace module.)

    Edit /usr/src/linux/drivers/platform/x86/eeepc-wmi.c and add three (0xf3,0xf5,0xf6) new codes to the keymap structure:

    static const struct key_entry eeepc_wmi_keymap[] = {
    /* Sleep already handled via generic ACPI code */
    { KE_KEY, 0x30, { KEY_VOLUMEUP } },
    { KE_KEY, 0x31, { KEY_VOLUMEDOWN } },
    { KE_KEY, 0x32, { KEY_MUTE } },
    { KE_KEY, 0x5c, { KEY_F15 } }, /* Power Gear key */
    { KE_KEY, 0x5d, { KEY_WLAN } },
    { KE_KEY, 0x6b, { KEY_TOUCHPAD_TOGGLE } }, /* Toggle Touchpad */
    { KE_KEY, 0x82, { KEY_CAMERA } },
    { KE_KEY, 0x83, { KEY_CAMERA_ZOOMIN } },
    { KE_KEY, 0x88, { KEY_WLAN } },
    { KE_KEY, 0xbd, { KEY_CAMERA } },
    { KE_KEY, 0xcc, { KEY_SWITCHVIDEOMODE } },
    { KE_KEY, 0xe0, { KEY_PROG1 } }, /* Task Manager */
    { KE_KEY, 0xe1, { KEY_F14 } }, /* Change Resolution */
    { KE_KEY, 0xe8, { KEY_SCREENLOCK } },
    { KE_KEY, 0xe9, { KEY_BRIGHTNESS_ZERO } },
    { KE_KEY, 0xeb, { KEY_CAMERA_ZOOMOUT } },
    { KE_KEY, 0xec, { KEY_CAMERA_UP } },
    { KE_KEY, 0xed, { KEY_CAMERA_DOWN } },
    { KE_KEY, 0xee, { KEY_CAMERA_LEFT } },
    { KE_KEY, 0xef, { KEY_CAMERA_RIGHT } },
    { KE_KEY, 0xf3, { KEY_COMPOSE } },
    { KE_KEY, 0xf5, { KEY_F11 } },
    { KE_KEY, 0xf6, { KEY_TAB } },

    { KE_END, 0},
    };

    I've chosen some odd assignments since I'm using mostly Mypaint. However, you can choose other keymaps, and even re-assign them later with udev rules. --they need to be in that structure to be reassigned.

    0xf3 is the Virtual Keyboard button, which I set for Application Popup Menu since there is no VirtualKeyboard keycode as far as I can tell.

    0xf5 is the Rotate Lock button, which I've assigned for Full Screen F11. I don't know how Windows detects this being on or off. 0xf5 is sent to the OS when the state changed, but I don't see any state info.

    0xf6 is the front black button, which I've assigned to 'tab', which brings up the MyPaint toolbox. This button will occasionally emit another keycode. In Windows, the main press is "Enter", but holding it down brings up Ctrl-alt-delete, as I recall. Not sure if this is handled by the OS or the BIOS.

    If we figure this out, we can send a patch to the eeepc-wmi module maintainer for inclusion in the main kernel.


    -=-=-

    I got this machine for the built-in Wacom tablet, so I don't use the touchpad at all.

    You can disable the touchpad with a udev rule. Add this to the 99-local.rules.

    # USB Device Bus 002 Device 005: ID 0eef:a001 D-WAV Scientific Co., Ltd - eGalax TouchScreen
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="0eef", ATTRS{idProduct}=="a001", RUN="/bin/rm /dev/input/event%n", OPTIONS="ignore_device"

    This will remove the actual event device node, preventing xorg from talking to it. (Xorg will still attempt and error out.)

    There's probably a better solution out there. I couldn't get udev to simply ignore the device, so I had to delete the device node.

    -=-=-

    The Intel driver does support screen rotate via XRandR, but I've not found out how to talk to the sensor hardware. When I asked Asus tech support for details on hardware, they told me to "reinstall the OS." :/

    Even if we got that working, we'd also have to rotate the touchscreen and wacom drivers. This can be done for Wacom, but not sure about touch.
    Last edited by abeowitz; November 5th, 2011 at 05:07 PM.

  9. #79
    Join Date
    Dec 2005
    Beans
    57
    Distro
    Ubuntu 10.10 Maverick Meerkat

    Talking Re: Ubuntu on EP121 Touch screen problem

    BTW, this Perl script will turn off the touchscreen temporarily. When power manager wakes up from blank screen, it will reenable/wake up devices though. (Which is why I hacked the udev rule above.)

    I was hoping to get the touchscreen drivers working so I could use the screen rotate lock button to turn it on/off as needed, but oh well...

    #!/usr/bin/perl

    @lines = `xinput -list | grep eGalax`;
    foreach $line (@lines) {
    my ($id) = $line =~ /id=(\d+)/;
    my $line2 = `xinput -list-props $id | grep "Device Enabled"`;
    my ($enabled) = $line2 =~ /:.*(\d+)/;
    system "xinput set-int-prop $id \"Device Enabled\" 8 0";
    }
    This should probably have been done in bash to avoid loading Perl, but I don't know much bash.

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

    Re: Ubuntu on EP121 Touch screen problem

    To turn on/off touch you might want a toggle script similar to one of the touch-toggle scripts for the N-trigs. Part 3 in the N-trig HOW TO.
    Code:
    #!/bin/bash
    
    ## eGalax touch toggle script
    ##
    ## For touch state notification use:
    ##   sudo apt-get install libnotify-bin
    ## Otherwise comment (#) out the two notify-send lines.
    ## If installed see 'man notify-send'.
    
    if [ -f /tmp/touch_off ]; then
    	xinput set-prop "eGalax_eMPIA Technology Inc. PCAP MultiTouch Controller" "Device Enabled" 1
    	notify-send -t 1500 "eGalax MultiTouch touch ON"
    	rm -f /tmp/touch_off && exit 0
    else
    	xinput set-prop "eGalax_eMPIA Technology Inc. PCAP MultiTouch Controller" "Device Enabled" 0
    	notify-send -t 1500 "eGalax MultiTouch touch OFF"
    	echo 1 > /tmp/touch_off && exit 0
    fi
    Remember to make it executable and place it in a launcher. You can drag the launcher into a panel for single click. Or bind it to a button/key.

    If it doesn't work check that you have the same "device name". Run xinput list and substitute the <device name> for touch in the output for eGalax_eMPIA Technology Inc. PCAP MultiTouch Controller.
    Last edited by Favux; November 5th, 2011 at 05:50 PM.

Page 8 of 12 FirstFirst ... 678910 ... 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
  •