Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 19/09/2010, à 08:29

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

davoon a écrit :

@arobase40 : merci ! lol

Une bizarerie : quand je fonctionne sur batterie et que j'appuie sur P, la luminosité de l'écran baisse... mais bon, un coup de Fn+flèche droite et ça repart !

J'ai aussi noté cette bizarrerie et quelques autres qui sont en fait lié à la version 2.12 des drivers Intel.

Avec la version standard, il y avait un bug qui faisait que dans certaines circonstances, l'affichage du bureau (et uniquement le bureau) se retrouvait complètement brouiller et devenait illisible, alors qu'avec la version 2.12, il n'y a plus ce problème mis à part la perte de luminosité après une rotation, ainsi que l'écran qui a tendance à flasher après une sortie de veille.

En attendant que ces bugs soient corrigés dans la prochaine version par Intel ou Canonical, il faut que je trouve comment gérer la luminosité de l'écran par voie logiciel et que je l'intègre dans la prochaine version du script pour la rotation manuelle de l'écran qui ne devrait pas tarder à sortir. ^^

J'ai intégré l'affichage du clavier virtuel OnBoard et une meilleure gestion des process afin d'éviter un chargement en série du script.

Quant à la rotation automatique, je préfère ne pas avancer, mais j'espère être sur la voie de la solution. Au moins une solution temporaire jusqu'à ce que le driver officiel prenne en compte l'accéléromètre du 1825PT(Z)... ^^

A bientôt.

Hors ligne

#27 Le 23/09/2010, à 07:43

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

Salut,

Voici une nouvelle version du script de rotation d'écran manuel écrit en 2 parties :

Sauvegardez cette partie sous le nom de "rotate" :

#!/bin/bash

oskb_bin=/usr/bin/onboard
[ "$oskb_bin" ] || oskb_bin="`type -p cellwriter`"
[ "$oskb_bin" ] || oskb_bin="`type -p onboard`"
[ "$oskb_bin" ] || oskb_bin="`type -p xvkbd`"
[ "$oskb_bin" ] || exit 0

killbyname () {
  local killpid="$( ps xuw | grep ^$USER | grep $1 | awk '{print "kill -TERM "$2";"}' )"
  if [ "$killpid" ]; then
    eval $killpid
  fi
}

if [ $# -eq 1 ]
then   
    dir=$1
else
    orientation="$(xrandr --query --verbose | grep LVDS1 | awk '{print $5}')"
    if [ "$orientation" = "normal" ]; then
        dir="right"
    elif [ "$orientation" = "right" ]; then
        dir="inverted"
    elif [ "$orientation" = "inverted" ]; then
        dir="normal"
    fi
    killbyname $oskb_bin
    killbyname "rotate-screen"
    rotate-screen ${dir} &
fi

Et celui-ci sous le nom de "rotate-screen" :

#!/bin/bash

oskb_bin=/usr/bin/onboard
[ "$oskb_bin" ] || oskb_bin="`type -p cellwriter`"
[ "$oskb_bin" ] || oskb_bin="`type -p onboard`"
[ "$oskb_bin" ] || oskb_bin="`type -p xvkbd`"
[ "$oskb_bin" ] || exit 0

[ "$id" ] || id="`xinput list | grep 'Cando      11.6' | sed -n -e's/.*id=\([0-9]\+\).*/\1/p'`"
[ "$id" ] || id="`xinput list | grep 'touchscreen' | sed -n -e's/.*id=\([0-9]\+\).*/\1/p'`"
[ "$id" ] || exit 0

# caliby="180 10772"
# calibx="65 18854"
caliby="274 10772"
calibx="273 18854"

# echo $1

xrandr -o $1

if [ "$1" = "normal" ]
then
    xinput set-prop "$id" "Evdev Axis Inversion" 0, 0
        xinput set-prop "$id" "Evdev Axes Swap" 0
        xinput set-int-prop "$id" "Evdev Axis Calibration" 32 $calibx $caliby
fi

if [ "$1" = "left" ]
then
    xinput set-prop "$id" "Evdev Axis Inversion" 1, 0
        xinput set-prop "$id" "Evdev Axes Swap" 1
        xinput set-int-prop "$id" "Evdev Axis Calibration" 32 $caliby $calibx
    "$oskb_bin" &
fi

if [ "$1" = "right" ]
then
    xinput set-prop "$id" "Evdev Axis Inversion" 0, 1
        xinput set-prop "$id" "Evdev Axes Swap" 1
        xinput set-int-prop "$id" "Evdev Axis Calibration" 32 $caliby $calibx
    "$oskb_bin" &
fi

if [ "$1" = "inverted" ]
then
    xinput set-prop "$id" "Evdev Axis Inversion" 1, 1
        xinput set-prop "$id" "Evdev Axes Swap" 0
        xinput set-int-prop "$id" "Evdev Axis Calibration" 32 $calibx $caliby
    "$oskb_bin" &
fi

Copiez les deux fichiers dans /usr/bin (par exemple), puis :

sudo chmod +x /usr/bin/rotate
sudo chown root /usr/bin/rotate
sudo chgrp root /usr/bin/rotate

Faite pareil pour "rotate-screen"

Enfin, pour ceux qui utiliseront ces deux scripts pour la 1° fois, ne créer le raccourci que sur "rotate", comme dans la procédure précédente.

Bon, il y a mieux en matière d'optimisation. Pour les plus courageux, donc... smile

Dernière modification par arobase40 (Le 23/09/2010, à 07:45)

Hors ligne

#28 Le 23/09/2010, à 08:01

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

Pour ceux qui sont en recherche d'un script pour la gestion de l'alimentation compatible avec le 1825PT(Z) et Lucid 10.04, vous pouvez le récupérer ici :

http://ubuntu-virginia.ubuntuforums.org/showthread.php?t=1341325

Ceux qui possèdent un SSD, pensez à modifier "echo 60 > /proc/sys/vm/swappiness" et remplacez 60 par 1 ou 0, afin de forcer le système à ne pas utiliser le swap ou tout au moins le moins possible afin d'user le moins possible les cellules du SSD...

Hors ligne

#29 Le 23/09/2010, à 13:50

imarune

Re : aspire 1825PTZ pilote ecran tactile?

Tout d'abord, merci arobase40 pour ces informations, cela m'a évité des journées de recherches wink (je suis sous Fedora 13 + kernel 2.6.36.rc4, mais tes infos sont transposables facilement).
Concernant la rotation auto, ton source i2c-gsensor.c permet de distinguer les 4 orientations possibles avec la modif suivante :

[root@strange i2c-gsensor]# diff i2c-gsensor.c old/i2c-gsensor.c
42c42
< #define WHO_AM_I	0x3b
---
> #define WHO_AM_I	0x3a
83c83
< 	i2cbus = 7;
---
> 	i2cbus = 0;
99d98
< 		sleep(3);
102a102
> 		printf("x: %d\t\t   ", x );
105a106
> 		printf("y: %d\t\t   ", y );
109,111d109
< 		/*
< 		printf("x: %d\t\t   ", x );
< 		printf("y: %d\t\t   ", y );
113,125d110
< 		*/
< 		if ( x < 128 && y > 128 && z < 128 ) {
< 			printf("normal\n");
< 		}
< 		if ( x > 128 && y > 128 && z < 128 ) {
< 			printf("left\n");
< 		}
< 		if ( x > 128 && y > 128 && z > 128 ) {
< 			printf("inverted\n");
< 		}
< 		if ( x > 128 && y < 128 && z < 128 ) {
< 			printf("right\n");
< 		}

Pour que ce soit vraiment utilisable, il faudrait détecter l'entrée i2cbus à utiliser (7 chez moi, cela dépend de l'ordre de chargement des modules i2c),  déterminer la durée du sleep et le nombre d'occurences pour la rotation, voir si on utilise la sortie standard ou un fichier flag pour communiquer l'info.
Du fait que les modules i2c_801 et i2c_dev sont suffisants, je suis moins pressé de bidouiller le lis3lv02d du kernel (je ne vois d'ailleurs pas ce que ça apporterait de plus ?)

Dernière modification par imarune (Le 23/09/2010, à 13:52)

Hors ligne

#30 Le 23/09/2010, à 15:56

imarune

Re : aspire 1825PTZ pilote ecran tactile?

Bon, j'ai un peu modifié le source c pour qu'il soit exploitable dans ton script, arobase40...

D'abord la façon de l'appeler :

#!/bin/sh

/sbin/modprobe i2c_i801
/sbin/modprobe i2c_dev

i2cbus=0
i2cbus_ok=0

while [ ${i2cbus_ok} -eq 0 ]
do
	systool -b i2c -A name i2c-${i2cbus} | grep -q SMBus 
	if [ $? = 0 ]
	then
		i2cbus_ok=1
	else
		((i2cbus=i2cbus+1))
	fi
done

new_orientation=`i2c-gsensor ${i2cbus}`
...
...

Et le code source c (argument supplémentaire loop pour boucler)

/*
    HTC Shift G-Sensor Reader
    Reads data from i2c interface, chip STMicroelectronics LIS3LV02DL

    Copyright (C) 2008       Esteve Espuna <esteve@eslack.org>
                             Pau Oliva <pof@eslack.org>

    Based on i2cget.c:
    Copyright (C) 2005       Jean Delvare <khali@linux-fr.org>

    Based on i2cset.c, i2cbusses.c:
    Copyright (C) 2001-2003  Frodo Looijaard <frodol@dds.nl>, and
                             Mark D. Studebaker <mdsxyz123@yahoo.com>
    Copyright (C) 2004-2005  Jean Delvare <khali@linux-fr.org>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
    MA 02110-1301 USA.
*/

#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <stdio.h>
#include <fcntl.h>
#include "i2c-dev.h"

#define WHO_AM_I	0x3b

int open_i2c_dev(const int i2cbus, const int quiet)
{
	int file;
	char filename[20];

	sprintf(filename, "/dev/i2c/%d", i2cbus);
	file = open(filename, O_RDWR);

	if (file < 0 && errno == ENOENT) {
		sprintf(filename, "/dev/i2c-%d", i2cbus);
		file = open(filename, O_RDWR);
	}

	if (file < 0 && !quiet) {
		if (errno == ENOENT) {
			fprintf(stderr, "Error: Could not open file "
			        "`/dev/i2c-%d' or `/dev/i2c/%d': %s\n",
			        i2cbus, i2cbus, strerror(ENOENT));
		} else {
			fprintf(stderr, "Error: Could not open file "
			        "`%s': %s\n", filename, strerror(errno));
			if (errno == EACCES)
				fprintf(stderr, "Run as root?\n");
		}
	}
	
	return file;
}

int main(int argc, char *argv[])
{
	int i2cbus, address, file, loop;
	int xl,xh;
	int yl,yh;
	int zl,zh;
	short x,y,z;
	int magic;

	loop = 0;
	if ( argc >= 2 ) {
		i2cbus = atoi(argv[1]);
		if (argc == 3 && strcmp(argv[2], "loop") == 0)
			loop = 1;
	}	
	else {
		fprintf(stderr, "Usage : %s i2cbus [loop]\n", argv[0]);
		exit (1);
	}

	address = 0x1d;
	file = open_i2c_dev(i2cbus, 0);

	ioctl(file, I2C_SLAVE, address); 
	i2c_smbus_write_byte_data(file, 0x20, 0x47);
	i2c_smbus_write_byte_data(file, 0x21, 0x63);

	magic = i2c_smbus_read_byte_data(file, 0xf);
	if (magic != WHO_AM_I ) {
		printf("Accelerometer not found %d\n", i2cbus);
		exit(-1);
	}

	while (1)
	{
		sleep(2);
		xh = i2c_smbus_read_byte_data(file, 0x28);
		xl = i2c_smbus_read_byte_data(file, 0x29);
		x = (xh<<8) | ( xl );
		yh = i2c_smbus_read_byte_data(file, 0x2a);
		yl = i2c_smbus_read_byte_data(file, 0x2b);
		y = (yh<<8) | ( yl );
		zh = i2c_smbus_read_byte_data(file, 0x2c);
		zl = i2c_smbus_read_byte_data(file, 0x2d);
		z = (zh<<8) | ( zl );
		if ( x < 128 )
			printf("normal\n");
		else {
			if ( y < 128 )
				printf("right\n");
			else {
				if (  z < 128 )
					printf("left\n");
				else
					printf("inverted\n");
			}
		}
		if ( !loop )
			break;
	}
	close(file);

	exit(0);
}

Dernière modification par imarune (Le 23/09/2010, à 15:59)

Hors ligne

#31 Le 23/09/2010, à 21:05

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

@ imarune,

Formidable !!!

Je ne suis pas malheureux d'avoir été coiffé sur le poteau, car je me sens un peu moins seul... smile

Sinon en ce qui concerne l'intérêt de la modification du lis3lv02d du kernel, c'est d'avoir un module standardisé pour que ce genre de fonction puisse être crée plus facilement sans passer par des bidouilles non maitrisables par les non initiés.
^^
Ca me donne plus de temps pour finaliser mon propre script afin que l'auto-rotation soit pris en charge sans avoir à chercher le point d'entrée du bus i2c, par exemple...

En tout cas, c'est super car ce 1825PT(Z) va devenir une super machine sous Linux, une fois que le multi-touch sera pris en compte. wink

Hors ligne

#32 Le 23/09/2010, à 21:53

imarune

Re : aspire 1825PTZ pilote ecran tactile?

arobase40 a écrit :

@ imarune,

En tout cas, c'est super car ce 1825PT(Z) va devenir une super machine sous Linux, une fois que le multi-touch sera pris en compte. wink

D'accord avec toi; je pense que c'est déjà une superbe machine sous linux; il faudrait juste une interface style jolicloud (mais en bien plus sympa) pour que ce soit le Pérou: avec la possibilité de switcher entre interface tactile "sympa" (pour le côté tablette) et gnome/kde ( pour le côté notebook).
Je cherche, mais rien trouvé de probant....

Hors ligne

#33 Le 23/09/2010, à 23:20

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

imarune a écrit :
arobase40 a écrit :

@ imarune,

En tout cas, c'est super car ce 1825PT(Z) va devenir une super machine sous Linux, une fois que le multi-touch sera pris en compte. wink

D'accord avec toi; je pense que c'est déjà une superbe machine sous linux; il faudrait juste une interface style jolicloud (mais en bien plus sympa) pour que ce soit le Pérou: avec la possibilité de switcher entre interface tactile "sympa" (pour le côté tablette) et gnome/kde ( pour le côté notebook).
Je cherche, mais rien trouvé de probant....

Jolicloud est déjà basé sur Ubuntu Netbook Edition ou UNR et le switcher existe entre UNR et le mode Desktop... wink

Par contre, il faudrait recréer un thème avec de grosses icônes pour les boutons de fermeture, agrandissement, rétrécissement. Ceux que j'ai pu voir sont encore assez laids ou trop petits pour une utilisation aux doigts... ^^

Hors ligne

#34 Le 25/09/2010, à 09:11

imarune

Re : aspire 1825PTZ pilote ecran tactile?

ci-dessous une version fonctionnelle de la rotation d'écran : correction d'une erreur left/right sur le source c, et le shell à lancer en sudo au début de la session (je me suis largement inspiré du tien arobase40)

#!/bin/sh

exec>/dev/null 2>&1 </dev/null

if [ -z "$PID" ]
then
   # daemonize and exit
   PID=$$
   export PID
   nohup $0 >/dev/null 2>&1 </dev/null&
   exit 0
fi

export i2cbus=0
export caliby="0 10751"
export calibx="0 18943"



/sbin/modprobe i2c_i801 >/dev/null 2>&1
/sbin/modprobe i2c_dev  >/dev/null 2>&1

get_i2cbus()
{	
	i2cbus_ok=0

	while [ ${i2cbus_ok} -eq 0 ] && [ ${i2cbus} -le 16 ]
	do
		systool -b i2c -A name i2c-${i2cbus} | grep -q SMBus 
		if [ $? = 0 ]
		then
			i2cbus_ok=1
			echo "i2cbus = ${i2cbus}"
		else
			((i2cbus=i2cbus+1))
		fi
	done
}

rotate_screen()
{
	/usr/bin/xrandr -o $1
	case $1 in
	normal)
  		xinput set-prop "$id" "Evdev Axis Inversion" 0, 0
        	xinput set-prop "$id" "Evdev Axes Swap" 0
        	xinput set-prop "$id" "Evdev Axis Calibration" $calibx $caliby
		;;
	inverted)
  		xinput set-prop "$id" "Evdev Axis Inversion" 1, 1
        	xinput set-prop "$id" "Evdev Axes Swap" 0
        	xinput set-prop "$id" "Evdev Axis Calibration" $calibx $caliby
		;;
	left)
  		xinput set-prop "$id" "Evdev Axis Inversion" 1, 0
        	xinput set-prop "$id" "Evdev Axes Swap" 1
        	xinput set-prop "$id" "Evdev Axis Calibration" $caliby $calibx
		;;
	right)
  		xinput set-prop "$id" "Evdev Axis Inversion" 0, 1
		xinput set-prop "$id" "Evdev Axes Swap" 1
        	xinput set-prop "$id" "Evdev Axis Calibration" $caliby $calibx
	esac
}

loop()
{
	while `true`
	do
		new_orientation=`/usr/local/bin/i2c-gsensor ${i2cbus}`
		if [ "${new_orientation}" != "${orientation}" ]
		then
			rotate_screen ${new_orientation}
			orientation=${new_orientation}
		fi
	done
}


# MAIN
#-----



orientation="$(xrandr --query --verbose | grep LVDS1 | awk '{print $5}')"
[ "$id" ] || id="`xinput list | grep 'Cando      11.6' \
	| sed -n -e's/.*id=\([0-9]\+\).*/\1/p'`"
[ "$id" ] || id="`xinput list | grep 'touchscreen' \
	| sed -n -e's/.*id=\([0-9]\+\).*/\1/p'`"
[ "$id" ] || exit 0

new_orientation=${orientation}

get_i2cbus

loop


exit 0
/*
    HTC Shift G-Sensor Reader
    Reads data from i2c interface, chip STMicroelectronics LIS3LV02DL

    Copyright (C) 2008       Esteve Espuna <esteve@eslack.org>
                             Pau Oliva <pof@eslack.org>

    Based on i2cget.c:
    Copyright (C) 2005       Jean Delvare <khali@linux-fr.org>

    Based on i2cset.c, i2cbusses.c:
    Copyright (C) 2001-2003  Frodo Looijaard <frodol@dds.nl>, and
                             Mark D. Studebaker <mdsxyz123@yahoo.com>
    Copyright (C) 2004-2005  Jean Delvare <khali@linux-fr.org>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
    MA 02110-1301 USA.
*/

#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <stdio.h>
#include <fcntl.h>
#include "i2c-dev.h"

#define WHO_AM_I	0x3b

int open_i2c_dev(const int i2cbus, const int quiet)
{
	int file;
	char filename[20];

	sprintf(filename, "/dev/i2c/%d", i2cbus);
	file = open(filename, O_RDWR);

	if (file < 0 && errno == ENOENT) {
		sprintf(filename, "/dev/i2c-%d", i2cbus);
		file = open(filename, O_RDWR);
	}

	if (file < 0 && !quiet) {
		if (errno == ENOENT) {
			fprintf(stderr, "Error: Could not open file "
			        "`/dev/i2c-%d' or `/dev/i2c/%d': %s\n",
			        i2cbus, i2cbus, strerror(ENOENT));
		} else {
			fprintf(stderr, "Error: Could not open file "
			        "`%s': %s\n", filename, strerror(errno));
			if (errno == EACCES)
				fprintf(stderr, "Run as root?\n");
		}
	}
	
	return file;
}

int main(int argc, char *argv[])
{
	int i2cbus, address, file, loop;
	int xl,xh;
	int yl,yh;
	int zl,zh;
	short x,y,z;
	int magic;
	loop = 0;
	if ( argc >= 2 ) {
		i2cbus = atoi(argv[1]);
		if (argc == 3 && strcmp(argv[2], "loop") == 0)
			loop = 1;
	}	
	else {
		fprintf(stderr, "Usage : %s i2cbus [loop]\n", argv[0]);
		exit (1);
	}

	address = 0x1d;
	file = open_i2c_dev(i2cbus, 0);

	ioctl(file, I2C_SLAVE, address); 
	i2c_smbus_write_byte_data(file, 0x20, 0x47);
	i2c_smbus_write_byte_data(file, 0x21, 0x63);

	magic = i2c_smbus_read_byte_data(file, 0xf);
	if (magic != WHO_AM_I ) {
		printf("Accelerometer not found %d\n", i2cbus);
		exit(-1);
	}

	while (1)
	{
		sleep(2);
		xh = i2c_smbus_read_byte_data(file, 0x28);
		xl = i2c_smbus_read_byte_data(file, 0x29);
		x = (xh<<8) | ( xl );
		yh = i2c_smbus_read_byte_data(file, 0x2a);
		yl = i2c_smbus_read_byte_data(file, 0x2b);
		y = (yh<<8) | ( yl );
		zh = i2c_smbus_read_byte_data(file, 0x2c);
		zl = i2c_smbus_read_byte_data(file, 0x2d);
		z = (zh<<8) | ( zl );
		if ( x < 128 )
			printf("normal\n");
		else {
			if ( y < 128 )
				printf("left\n");
			else {
				if (  z < 128 )
					printf("right\n");
				else
					printf("inverted\n");
			}
		}
		if ( !loop )
			break;
	}
	close(file);

	exit(0);
}

Hors ligne

#35 Le 26/09/2010, à 09:09

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

@ imarune

Ben c'est une belle avancée !!! smile

Avant de commenter ton code, petite précision concernant le module "lis3lv02d", il contient en fait tout ce qui est nécessaire pour gérer l'accéléromètre existant dans le 1825PT(Z), mais il est géré par le module "hp_accel" qui sert de ciment avec le système. Et bien évidemment, ce module est complètement dépendant des signatures ACPI des ordinateurs HP, à moins qu'il soit possible de le tromper via Hal ou Udev... ^^
Sinon, il va falloir récréer un module équivalent en utilisant les signatures spécifiques à notre machine.
Dans ce cas, ce qui va être le plus long sera de recompiler tout le kernel et ces modules. sad

Pour en revenir à ton code, il semblerait que la recherche du point d'entrée du bus i2c soit plus un problème sous Ubuntu qu'un avantage. Déjà il faut installer "sysfsutils" pour pouvoir utiliser "systool", et le résultat n'est pas toujours fiable puisque même en lui donnant le bon paramètre, le programme i2c-gsensor renvoie "Accelerometer not found n", n étant le point d'entrée.

Il faut que je teste davantage en utilisant différentes versions du kernel... Mais à priori, il semblerait que "/dev/i2c/0" soit toujours utilisé... A vérifier...

Ensuite, il semblerait, et j'insiste sur le conditionnel, que ta version du programme ne fonctionne que si l'ordinateur est physiquement retourné et que cela ne fonctionne pas si c'est uniquement l'écran qui est tourné... ^^

Pourrais-tu confirmer cela ???

Enfin, dans le code source c, ne vaudrait-il pas mieux renvoyer une valeur de retour pour indiquer la direction plutôt qu'un exit(0) ?

En tout cas, c'est un beau travail car cela évite des accés disque par rapport à l'utilisation du module "lis3lv02d". wink

Hors ligne

#36 Le 26/09/2010, à 11:08

imarune

Re : aspire 1825PTZ pilote ecran tactile?

exact, j'avais testé en mode laptop, pensant que le capteur était derrière l'écran; j'ai testé en mode tablette hier, et effectivement, ça ne fonctionne pas comme il faut (le capteur doit être en fait sur la CM) ... à revoir donc. Le pb, c'est que je ne vois pas pour le moment comment détecter le passage en mode tablette.

J'avais noté le module HP pour la gestion du lis3; il faudrait effectivement faire quelque chose de ce style pour le 1825ptz. Pour la recompilation kernel, je l'ai déjà refaite plusieurs fois pour essayer de debuguer la gestion lsi3 (sans succès)

Pour le code retour, cela permettrai effectivement de gérer l'orientation côté script, ce qui est bien plus souple...

On va y arriver ...

Hors ligne

#37 Le 26/09/2010, à 12:29

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

imarune a écrit :

On va y arriver ...

Forcément ! smile

Bon ben, j'ai modifié le code source du module hp_accel, et je suis entrain de le compiler en ce moment même, en espérant que cela fonctionnera du premier coup, car sinon il faut recompiler tout le noyau à chaque fois.
J'ai tenté plusieurs façons pour ne recompiler qu'un module modifié, mais ça ne semble pas fonctionner...

Tu as une idée ?

Hors ligne

#38 Le 26/09/2010, à 15:47

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

Et ce qui devait arriver arriva... Surtout, quand on compile un kernel-source brut de coffrage à la place de la version spécifique à Ubuntu...

FATAL: Error inserting hp_accel (/lib/modules/2.6.36-020636rc5-generic/kernel/drivers/hwmon/hp_accel.ko): Invalid module format

Avant que je puisse trouver les sources d'une version 2.6.36 Ubuntu... sad

J'essaie de trouver une autre solution.

Hors ligne

#39 Le 27/09/2010, à 13:47

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

Bon, finalement il a fallu passer par git et par la procédure spécifique à Ubuntu pour recompiler tout le noyau ainsi que les modules, ce qui est particulièrement laborieux...

En plus comme il n'y avait aucun code source du noyau 2.6.36-x il a fallu que je rétrograde vers la version 2.6.35-9. sad

Comme premier résultat : pas vraiment ce que j'attendais puisque pour le moment il y a simplement une meilleure gestion du Bluetooth et de la led Bluetooth... ^^

Et comme message dans dmesg :

lis3lv02d : Hardware type Acer found
lis3lv02d : unknown sensor type 0x0
lis3lv02d : probe of SMO8800:00 failed with error -22
lis3lv02d : driver loaded

Donc il va falloir encore apporter quelques modifications des signatures dans le module hp_accel et encore quelques nuits de compilation...

@+

Hors ligne

#40 Le 03/10/2010, à 20:30

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

Finalement, c'est pas le module hp_accel qu'il faut changer mais le module lis3lv02d_i2c... ^^
hmm

Hors ligne

#41 Le 06/10/2010, à 23:44

imarune

Re : aspire 1825PTZ pilote ecran tactile?

Bon enfin quelque chose qui marche, même si cela implique de patcher et de recompiler le kernel.

1) le patch kernel :pour l'appliquer =>
# cd  [dir_source_kernel]/drivers/hwmon; patch -p0 < [dir_patch]/lis3lv02d_i2c.patch)

[root@strange kernel]# cat lis3lv02d_i2c.patch
--- lis3lv02d_i2c_orig.c	2010-09-29 03:01:22.000000000 +0200
+++ lis3lv02d_i2c.c	2010-10-06 15:18:30.521867001 +0200
@@ -33,6 +33,9 @@
 
 #define DRV_NAME 	"lis3lv02d_i2c"
 
+/* Addresses to scan */
+static const unsigned short normal_i2c[] = { 0x1d, I2C_CLIENT_END };
+
 static inline s32 lis3_i2c_write(struct lis3lv02d *lis3, int reg, u8 value)
 {
 	struct i2c_client *c = lis3->bus_priv;
@@ -60,6 +63,26 @@
 	return lis3->write(lis3, CTRL_REG1, reg);
 }
 
+/* Return 0 if detection is successful, -ENODEV otherwise */
+static int lis3lv02d_i2c_detect(struct i2c_client *client,
+                          struct i2c_board_info *info)
+{
+	int val;
+        struct i2c_adapter *adapter = client->adapter;
+
+        if (!i2c_check_functionality(adapter,
+                                     I2C_FUNC_SMBUS_BYTE_DATA))
+                return -ENODEV;
+
+	val = i2c_smbus_read_byte_data(client, WHO_AM_I);
+	if (!((val & WAI_12B) || (val & WAI_8B)))
+                return -ENODEV;
+
+        strlcpy(info->type, "lis3lv02d", I2C_NAME_SIZE);
+
+        return 0;
+}
+
 /* Default axis mapping but it can be overwritten by platform data */
 static struct axis_conversion lis3lv02d_axis_map = { LIS3_DEV_X,
 						     LIS3_DEV_Y,
@@ -157,12 +180,15 @@
 		.name   = DRV_NAME,
 		.owner  = THIS_MODULE,
 	},
+	.class = I2C_CLASS_HWMON,	
 	.suspend = lis3lv02d_i2c_suspend,
 	.shutdown = lis3lv02d_i2c_shutdown,
 	.resume = lis3lv02d_i2c_resume,
 	.probe	= lis3lv02d_i2c_probe,
 	.remove	= __devexit_p(lis3lv02d_i2c_remove),
+ 	.detect = lis3lv02d_i2c_detect,
 	.id_table = lis3lv02d_id,
+  	.address_list = normal_i2c,
 };
 
 static int __init lis3lv02d_init(void)

Ensuite  le script (à binder au bouton P de l'écran ou à une icone bureau; à lancer via sudo). Il est encore (très)  perfectible, mais il fonctionne. Quand on passe du mode tablette en mode laptop, il faut incliner le laptop 3 secondes vers l'arrière (de plus de 45°)  pour retrouver une orientation correcte...

[root@strange i2c-gsensor]# cat rotate_screen
#!/bin/sh
#

trap - EXIT

exec>/dev/null 2>&1 </dev/null

prog=`basename $0`

export caliby="0 10751"
export calibx="0 18943"

orientation="$(xrandr --query --verbose | grep LVDS1 | awk '{print $5}')"
[ "$id" ] || id="`xinput list | grep 'Cando      11.6' \
	| sed -n -e's/.*id=\([0-9]\+\).*/\1/p'`"
[ "$id" ] || id="`xinput list | grep 'touchscreen' \
	| sed -n -e's/.*id=\([0-9]\+\).*/\1/p'`"
[ "$id" ] || exit 0

[ -z "$PID" ] && { PID=$$ $0 & exit; }

instances=`ps --no-headers -o pid -C $prog`
if [ "${instances}" != $$ ]
then
	# a previous instance is running; kill it
	# restore "normal" orientation then exit
	trap '' EXIT
	/usr/bin/killall $prog
	trap - EXIT
	/usr/bin/xrandr -o normal
  	xinput set-prop "$id" "Evdev Axis Inversion" 0, 0
        xinput set-prop "$id" "Evdev Axes Swap" 0
        xinput set-prop "$id" "Evdev Axis Calibration" $calibx $caliby
	exit 0
fi



rotate()
{
	/usr/bin/xrandr -o $1
	case $1 in
	normal)
  		xinput set-prop "$id" "Evdev Axis Inversion" 0, 0
        	xinput set-prop "$id" "Evdev Axes Swap" 0
        	xinput set-prop "$id" "Evdev Axis Calibration" $calibx $caliby
		;;
	inverted)
  		xinput set-prop "$id" "Evdev Axis Inversion" 1, 1
        	xinput set-prop "$id" "Evdev Axes Swap" 0
        	xinput set-prop "$id" "Evdev Axis Calibration" $calibx $caliby
		;;
	left)
  		xinput set-prop "$id" "Evdev Axis Inversion" 1, 0
        	xinput set-prop "$id" "Evdev Axes Swap" 1
        	xinput set-prop "$id" "Evdev Axis Calibration" $caliby $calibx
		;;
	right)
  		xinput set-prop "$id" "Evdev Axis Inversion" 0, 1
		xinput set-prop "$id" "Evdev Axes Swap" 1
        	xinput set-prop "$id" "Evdev Axis Calibration" $caliby $calibx
	esac
}

get_orient()
{
	set - `sed -e 's/(//' -e 's/)//' -e 's/,/ /g' \
		/sys/devices/platform/lis3lv02d/position`
	x=$1
	y=$2
	z=$3

	# echo "x: $x y: $y z: $z"
	# 
	if [ $x -lt -512 ]
	then
		# laptop mod = inverted tablet mode = normal
		new_orientation="normal"
	elif [ $x -gt 512 ]
	then
		# laptop mod = normal tablet mode = inverted
		new_orientation="inverted"
	elif [ $y -lt -512 ]
	then
		# laptop mod = right tablet mode = left
		new_orientation="left"	
	elif [ $y -gt 512 ]
	then
		# laptop mod = left tablet mode = right
		new_orientation="right"	
	fi
}

loop()
{
	while [ 1 ]
	do
		sleep 2
		get_orient
		if [ "${new_orientation}" != "${orientation}" ]
		then
			rotate ${new_orientation}
			orientation=${new_orientation}
		fi
	done
}


# MAIN
#-----

/sbin/modprobe lis3lv02d_i2c >/dev/null 2>&1


new_orientation=${orientation}

loop


exit 0

Dernière modification par imarune (Le 06/10/2010, à 23:52)

Hors ligne

#42 Le 12/10/2010, à 15:41

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

Génial !

Je n'ai pas encore réussi à lancer le script pour qu'il fonctionne en tâche de fond, et j'ai du supprimer cette partie :

trap - EXIT
exec>/dev/null 2>&1 </dev/null
prog=`basename $0`

Et la partie gérant l'instance pour pouvoir tester l'ensemble.
Je regarderais ce qu'il y a à modifier par rapport à Ubuntu...

Par contre, je suis partagé entre le résultat fourni par le module lis3lv02d_i2c par rapport au programme i2c-gsensor... ^^
Ton travail n'est pas du tout mis en cause, puisque le problème doit venir du module en lui-même. Cela semble manquer de précision et le temps de réaction est effectivement relativement long. Il va falloir voir du côté des développeurs de ce module s'il y a quelque chose à faire...

En tout cas, maintenant on a le choix entre les solutions et l'accéléromètre qui fonctionne.

Merci à toi Imarune et encore bravo.

Hors ligne

#43 Le 17/10/2010, à 13:00

arnaud2072

Re : aspire 1825PTZ pilote ecran tactile?

Bonjour,

Je viens fraîchement de passer sous Ubuntu Netbook Edition 10.10 avec mon Acer 1825ptz. Je rencontre le même problème que beaucoup : mon écran tactile est reconnu comme Touchpad. J'ai farfouillé internet à la recherche d'une solution, et je suis tombé sur ce forum et un forum américian où le problème semble avoir été résolu, mais je ne parviens pas à appliquer les solutions (je précise que je suis un grand débutant dans linux).

J'ai suivi les instructions de ce post http://ubuntuforums.org/showpost.php?p= … stcount=28 pour mettre à jour les pilotes graphiques, mais ça n'a rien changé au comportement de mon Touchpad. Je n'ai pas suivi le point 2) mentionné (installation du nouveau kernel) car je pense déjà avoir le kernel mentionné. Bref, je suis un peu bloqué ! Quelqu'un aurait-il la gentillesse de bien vouloir m'expliquer ce que je dois faire maintenant pour que ça fonctionne ?

Merci d'avance !

Hors ligne

#44 Le 20/10/2010, à 20:55

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

Il te faut modifier le fichier xf86-input-evdev 2.3.2 ou passer par les versions 2.4/2.5 du même fichier.

Il y a malgré tout un problème avec Ubuntu 10.10 Netbook Edition puisque la barre d'applications à gauche est difficile à manipuler. Pour pouvoir utiliser cette barre d'applications, il faut appuyer très brièvement sur les icônes, alors que tout le reste de l'interface fonctionne normalement.

Explications ici :

http://ubuntuforums.org/showthread.php? … 671&page=6

Concernant la modification de la version 2.3.2 de xf86-input-evdev, il te faudra te reporter à la page 1 du même lien.

Hors ligne

#45 Le 03/11/2010, à 10:20

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

Petites nouvelles sur le support du multitouch pour notre machine préférée :

Un nouveau projet est entrain de se mettre en place afin de gérer le multitouch des dalles non encore prises en compte par Ubuntu 10.10 Marverick et le projet utouch.

Ce projet s'appelle multitouch support for hid-multitouch: a first step towards multitouch unification !
Ce projet est dirigé par Stéphane Chatty, Henrick Rydberg et quelques autres personnes dont je n'ai pas encore identifié les noms et concerne les dalles tactiles de type Cando, Quanta, MosArt, Cypress, GeneralTouch and Pixcir...

Il y a des discussions très actives en ce moment et des patchs experimentaux en cours de développement qui n'ont pas encore été intégré dans aucun kernel et donc aucune distribution pour le moment.

http://www.spinics.net/lists/linux-input/msg11837.html

http://comments.gmane.org/gmane.linux.k … nput/15926

Les patchworks commencent ici qu'il va falloir compiler (par compilation, j'entend, rassemblement des infos éparpillés sur plusieurs posts) :

https://patchwork.kernel.org/patch/251471/

Je suppose qu'il y a encore pas mal de travail à abattre, et les plus courageux ou ceux qui ont du temps libre devant eux peuvent s'y mettre pour les tester.

Pour ma part, je vais prochainement publier les informations ainsi que le script écrit par Imarune et qu'il m'a transmlis en privé (très sophistiqué en l'occurrence) pour ce qui est de la gestion du G-sensor. J'apposerais également les modififications personnelles qui me semblent pertinentes afin d'améliorer la fiabilité de l'orientation de l'écran.

Dernière modification par arobase40 (Le 03/11/2010, à 10:23)

Hors ligne

#46 Le 12/11/2010, à 00:13

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

Bon, ben voilà le script d'Imarune qu'il m'a autorisé de publier :

#!/bin/bash
#
# set -x
DEBUG=""

[ $UID != 0 ] && { echo "$0 must be run as root" & exit 1; }

# redirect stdin, stdout and stderr
[ ! "${DEBUG}" ] && exec>/dev/null 2>&1 </dev/null
# daemonize and exit
[ ! "${DEBUG}" ] &&  [ -z "$PPID" ] && { PPID=$$ $0 & exit 0; }

shall_i_stay()
{
    # ... or shall i go
    # the first program's instance rotates screen
    # according to the accel chip values
    # the second one kills the first instance and exit
    # purpose : closing the program when not needed
    instances=`pgrep ${prog}`
    if [ "${instances}" != "$$" ]
    then
        # a previous instance is running; kill it
        # restore "normal" orientation then exit
        for instance in ${instances}
        do
            if [ "${instance}" != $$ ]
            then
                kill ${instance}
            fi
        done 
        xrandr -o normal
          xinput set-prop "$id" "Evdev Axis Inversion" 0, 0
            xinput set-prop "$id" "Evdev Axes Swap" 0
            xinput set-prop "$id" "Evdev Axis Calibration" $calibx $caliby
        exit 0
    fi
}

init_lis3lv02d()
{
    Product_name=`dmidecode | \
        awk ' ($1=="Product") && ($3~"Aspire")  { print $4} '`
    case ${Product_name} in
        1825PTZ|1425PTZ)
            [ "${DEBUG}" ] && \
                 echo "Notebook ${Product_name} : OK"
            ;;
        *)
            [ "${DEBUG}" ] && \
                echo "Unknown notebook ${Product_name} : exit"
            exit 1
            ;;
    esac
    smbus_loaded=`grep i2c_801 /proc/modules`
    [ -z "${smbus_loaded}" ] && modprobe i2c_801 >/dev/null 2>&1
    Module="0"
    Device="0"
    SMBus=""
    for device_name in `find /sys/devices -name name`
    do
        name=`cat ${device_name}`
        case $name in
            "ST LIS3LV02DL Accelerometer")
                # lis3lv02d module already loaded
                Module=1
                ;;
            "lis3lv02d")
                # device already enumerated
                Device=1
                ;;
            SMBus*)
                SMBus=`dirname ${device_name}`
                ;;
        esac    
    done
    [ "${DEBUG}" ] && \
        echo "Module: $Module  Device: $Device  SMBus: $SMBus"
    if [ "${Module}" = 0 ]
    then
        if [ "${Device}" = 1 ]
        then
            # should not happened
            modprobe lis3lv02d_i2c >/dev/null 2>&1
        else
            echo lis3lv02d 0x1d >${SMBus}/new_device
            sleep 2
            if [ ! -f /sys/devices/platform/lis3lv02d/position ]
            then
                # should not happened
                modprobe lis3lv02d_i2c >/dev/null 2>&1
            fi
        fi
    fi
    if [ -f /sys/devices/platform/lis3lv02d/position ]
    then
        [ "${DEBUG}" ] && \
            echo "Accelerometer successfully initialised !"
    else
        [ "${DEBUG}" ] && \
            echo "Accelerometer not found !"
        exit 1
    fi
}

rotate()
{
    xrandr -o $1
    case $1 in
    normal)
          xinput set-prop "$id" "Evdev Axis Inversion" 0, 0
            xinput set-prop "$id" "Evdev Axes Swap" 0
            xinput set-prop "$id" "Evdev Axis Calibration" $calibx $caliby
        ;;
    inverted)
          xinput set-prop "$id" "Evdev Axis Inversion" 1, 1
            xinput set-prop "$id" "Evdev Axes Swap" 0
            xinput set-prop "$id" "Evdev Axis Calibration" $calibx $caliby
        ;;
    left)
          xinput set-prop "$id" "Evdev Axis Inversion" 1, 0
            xinput set-prop "$id" "Evdev Axes Swap" 1
            xinput set-prop "$id" "Evdev Axis Calibration" $caliby $calibx
        ;;
    right)
          xinput set-prop "$id" "Evdev Axis Inversion" 0, 1
        xinput set-prop "$id" "Evdev Axes Swap" 1
            xinput set-prop "$id" "Evdev Axis Calibration" $caliby $calibx
    esac
}

get_orient()
{
    set - `sed -e 's/(//' -e 's/)//' -e 's/,/ /g' \
        /sys/devices/platform/lis3lv02d/position`
    x=$1
    y=$2
    z=$3

    if [ $x -lt -512 ]
    then
        # laptop mod = inverted tablet mode = normal
        new_orientation="normal"
    elif [ $x -gt 512 ]
    then
        # laptop mod = normal tablet mode = inverted
        new_orientation="inverted"
    elif [ $y -lt -512 ]
    then
        # laptop mod = right tablet mode = left
        new_orientation="left"    
    elif [ $y -gt 512 ]
    then
        # laptop mod = left tablet mode = right
        new_orientation="right"    
    fi
}

loop()
{
    while [ 1 ]
    do
        sleep 2
        get_orient
        if [ "${new_orientation}" != "${orientation}" ]
        then
            rotate ${new_orientation}
            orientation=${new_orientation}
        fi
#    echo "x: $x y: $y z: $z"
    done
}

# MAIN
#-----
trap - EXIT

PATH="$PATH:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
prog=`basename $0`
caliby="0 10751"
calibx="0 18943"
[ "$id" ] || id="`xinput list | grep Cando \
    | sed -n -e's/.*id=\([0-9]\+\).*/\1/p'`"
[ "$id" ] || id="`xinput list | grep touchscreen \
    | sed -n -e's/.*id=\([0-9]\+\).*/\1/p'`"
[ "$id" ] || { echo " Touch screen not found..." & exit 1; }
orientation=`xrandr --query --verbose | awk ' ($1=="LVDS1") {print $5} '`
new_orientation="${orientation}"

shall_i_stay
init_lis3lv02d
loop
exit 0

D'après ce code, il faut pencher la machine 45° en arrière pendant 2 secondes pour que l'affichage revienne en position normale.

Voici une légère modification dans la logique du test dans la fonction get_orient() pour que la rotation soit plus "naturelle".

# Dummy function
do_nothing ()
{
echo >/dev/null
}

get_orient()
{
    set - `sed -e 's/(//' -e 's/)//' -e 's/,/ /g' \
        /sys/devices/platform/lis3lv02d/position`
    x=$1
    y=$2
    z=$3

# Ce premier test est une sorte de calibration de l'accéléromètre. Il vous faut donc poser la machine à plat
# et noter les valeurs x, y et z et les inscrire ci-dessous.
    if [ $x -lt 256 ] && [ $y -lt 256 ] && [ $z -gt 512 ]
    then
        do_nothing
# Normalement, une fois les valeurs ci-dessus correctement déterminées, les autres tests devraient normalement 
# être bons pour toutes les positions.
    elif [ $x -gt 512 ] && [ $y -lt 256 ] && [ $z -gt 512 ]
    then
        # laptop mod = normal tablet mode = inverted
        new_orientation="inverted"
    elif [ $y -lt -512 ]
    then
        # laptop mod = right tablet mode = left
        new_orientation="left"    
    elif [ $y -gt 512 ]
    then
        # laptop mod = left tablet mode = right
        new_orientation="right"
    else    
        # laptop mod = inverted tablet mode = normal
        new_orientation="normal"
    fi
}

Enfin, une petite astuce qui devrait vous permettre d'activer l'accéléromètre sans avoir à recompiler le kernel. Normalement, elle ne devrait être utiliser que pour les développeurs et rien ne dit qu'elle fonctionnera toujours dans le futur... En tout cas, elle fonctionne depuis la version 2.6.34 jusqu'à la version 2.6.36. Je n'ai pas encore testé la version 2.6.37-RC...

Tout d'abord chargez les modules i2c-i801, i2c-dev et lis3lv02d_i2c dans le fichier /etc/modules, et rebooter...

Si vous trouvez i2c-0 dans /sys/devices/pci0000:00/0000:00:1f.3, dans ce cas lancez la commande ci-dessous en tant que root :
#echo lis3lv02d 0x1d>/sys/devices/pci0000:00/0000:00:1f.3/i2c-0/new_device

Pour vérifier que cela fonctionne :

#cat /sys/devices/pci0000:00/0000:00:1f.3/i2c-0/0-001d/name
Vous devriez voir apparaitre :

#lis3lv02d

Dans ce cas, tout est bon !!!

Pour rendre cette action permanente, il suffit d'écrire (sans mettre les guillemets) :
"echo lis3lv02d 0x1d>/sys/devices/pci0000:00/0000:00:1f.3/i2c-0/new_device" à la fin de votre fichier /etc/rc.local

Il n'y a plus qu'à lancer le script précédent pour voir le résultat...

Si vous avez des commentaires ou des questions, n'hésitez surtout pas !

Vous pouvez remercier Imarune qui a fait le plus gros du travail... smile

Hors ligne

#47 Le 19/11/2010, à 08:33

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

arnaud2072 a écrit :

Bonjour,

Je viens fraîchement de passer sous Ubuntu Netbook Edition 10.10 avec mon Acer 1825ptz. Je rencontre le même problème que beaucoup : mon écran tactile est reconnu comme Touchpad. J'ai farfouillé internet à la recherche d'une solution, et je suis tombé sur ce forum et un forum américian où le problème semble avoir été résolu, mais je ne parviens pas à appliquer les solutions (je précise que je suis un grand débutant dans linux).

J'ai suivi les instructions de ce post http://ubuntuforums.org/showpost.php?p= … stcount=28 pour mettre à jour les pilotes graphiques, mais ça n'a rien changé au comportement de mon Touchpad. Je n'ai pas suivi le point 2) mentionné (installation du nouveau kernel) car je pense déjà avoir le kernel mentionné. Bref, je suis un peu bloqué ! Quelqu'un aurait-il la gentillesse de bien vouloir m'expliquer ce que je dois faire maintenant pour que ça fonctionne ?

Merci d'avance !

Je n'ai pas lu tous les liens que tu cites , mais il me semble que cela concerne uniquement la version Lucid 10.04 et non pas Maverick 10.10, d'où la confusion ! ^^

Il semblerait que tu n'aies par utilisé le bon lien qu'il me semble pourtant avoir déjà donné. ^^
Je t'avais déjà donné la réponse pour la même question quelques lignes plus haut... ^^ wink
Si, si, vérifie bien.

Tout est clairement expliqué ici et il me semble de façon précise et claire :

http://ubuntuforums.org/showthread.php?t=1486671&page=6

Il te faut télécharger le tarball du fichier xf86-input-evdev 2.4 ou 2.5, le compiler et l'installer. Sinon, tu peux aussi modifier le fichier xf86-input-evdev 2.3.2 d'origine en appliquant un patch décrit (par Tomfrancart) dans la première page du même lien.

Attention de bien prefixer en utilisant l'option --prefix=/usr...

Tiens-moi au courant...

Dernière modification par arobase40 (Le 19/11/2010, à 08:40)

Hors ligne

#48 Le 08/12/2010, à 12:04

karboxifene

Re : aspire 1825PTZ pilote ecran tactile?

Bon pour infos sur cette discussion, j'ai tenté une install de la 10.10 sur l'acer 1825ptz et la...Catastrophe, la souris ne fonctionne plus correctement. Pas plus que le pavé tactile..... bref, une cata, le 2.6.35 rend inutilisable l'acer, du coup retour en arrière.....

galère

Hors ligne

#49 Le 09/12/2010, à 13:40

arobase40

Re : aspire 1825PTZ pilote ecran tactile?

Ce n'est pas tant le kernel 2.6.35 qui est en cause, même s'il n'est pas exempte de défauts, mais cela vient surtout de 10.10 qui lui est vraiment buggé.

Plusieurs personnes dans la section anglophone ont installé la 10.10 et n'ont pas rencontré ce genre de problèmes.

pour ma part, je suis toujours avec Lucid 10.04, en installant tour à tour les kernels 2.6.35, puis 2.6.36, sans problème non plus...

Hors ligne

#50 Le 15/12/2010, à 17:59

deadpool

Re : aspire 1825PTZ pilote ecran tactile?

bonjour a tous,
après lecture de ce topic et ceux du forum anglais, j'ai sauté le pas et commandé mon 1825ptz big_smile (j'hésitais avec le asus t101mt, mais les specs sont plus alléchantes sur le acer).
je compte y installer en multiboot: ubuntu, jolicloud et windows 7 (que j'ai pas eu l'occasion de test et dont je n'attends pas grand chose wink )
j'ai donc quelques questions a poser:

pour ubuntu:
- l'utilisation de l'écran tactile est possible, mais d'après vous, seulement en monopoint, pourtant sur le site de ENAC il est specifié que les drivers sont dispo depuis le noyau 2.6.34

Stantum, 3M, MosArt and Quanta: The drivers are included in the upstream kernel since version 2.6.34. If you are using an earlier version you have to download the drivers and apply the general procedure below.

donc est il possible d'utiliser le multitouch via utouch ?

pour jolicloud:

jolicloud étant un dérivé d'ubuntu puis-je activer l'écran tactile via les mêmes procédures ?

merci d'avance pour vos réponses wink


- MSI Z170A Gaming Pro Carbon + intel i5 6600K + MSI  GTX 1060 Gaming X 6G + 16go ddr4  / xubuntu 16.10
- LG G2 / bliss 6.3

Hors ligne