Perte du pointeur de la souris avec le Touchpad de l'Ultrabook LDLC IRIS B2
Bonjour,
Après quelques recherches sur internet, j'ai trouvé un petit programme
python, ci-joint,
pour piloter le touchpad de l'ultrabook LDLC IRIS qui est fourni sans
pilote pour linux.
Seulement, lorsque j'utilise l’écran tactile, le pointeur de la souris
disparaît.
Et le pointeur ne réapparaît pas lors de l'utilisation du touchpad bien
que celui ci continue d’être opérationnel.
Un petit mouvement de souris permet de faire réapparaître le pointeur et
alors le touchpad redevient fonctionnel.
D’après ce que j'ai pu lire il y a bien des soucis d'affichage du
curseur ente le touchpad et l’écran tactile.
seulement la commande ci-dessous devrait résoudre ce problème, ce n'est
pas le cas chez moi.
$ dconf write /org/gnome/settings-daemon/plugins/cursor/active false
Ma question est:
Connaissez vous une commande pour forcer l'affichage du pointeur?
A défaut:
Connaissez vous une commande pour garder l'affichage du pointeur lors de
l'utilisation de l’écran tactile?
Merci pour votre aide
Olivier
touchpad.py
#!/usr/bin/python
import sys
import os
import usb.core
import usb.util
#Find the device idVendor 0x294e / idProduct 0x1001
dev = usb.core.find(idVendor=0x294e, idProduct=0x1001)
#Select interface 0 and endpoint 0
interface = 0
endpoint = dev[0][(0,0)][0]
#Detach kernel driver
if dev.is_kernel_driver_active(interface) is True:
dev.detach_kernel_driver(interface)
usb.util.claim_interface(dev, interface)
collected = 0 #variable to skip the first two data
testsup = float(100)
testinf = float(127)
deplacement = testsup/testinf
sensibilite = 2.5
x = 0
y = 0
click = ""
mouse_btn_l = 0
mouse_btn_r = 0
#set cursor visibility
os.system("dconf write /org/gnome/settings-daemon/plugins/cursor/active
false")
#Infinite while
while 1:
try:
data = dev.read(endpoint.bEndpointAddress, endpoint.wMaxPacketSize)
collected += 1
print data
#The 2 first data are not move data
if collected > 2:
#data[1] Right (1) & Left (255) = x
#data[2] Down (1) & Up (255) = y
# x
if (1 <= data[1] <= 127): #Right
x = data[1]*deplacement*sensibilite
elif (128 <= data[1] <= 255): #Left
x = -((-data[1]+256)*deplacement*sensibilite)
else : #No move on x axis
x = 0
# y
if (1 <= data[2] <= 127): #Down
y = data[2]*deplacement*sensibilite
elif (128 <= data[2] <= 255): #Up
y = -((-data[2]+256)*deplacement*sensibilite)
else : #No move on y axis
y = 0
#wheel is considere as a btn : 4 for up & 5 for down
if 1 <= data[3] <= 127: #up
click = "click 4"
elif 128 <= data[3] <= 255: #down
click = "click 5"
else:
click = " "
#Left click
if data[0] == 1 and mouse_btn_l == 0:
click = "mousedown 1"
mouse_btn_l = 1
#Right click
elif data[0] == 2 and mouse_btn_r == 0:
click = "mousedown 3"
mouse_btn_r = 1
#No click
elif data[0] == 0:
if mouse_btn_l == 1:
click = "mouseup 1"
if mouse_btn_r == 1:
click = "mouseup 3"
mouse_btn_l = 0
mouse_btn_r = 0
else:
click = " "
os.system("xdotool mousemove_relative -- %d %d %s" % (x, y, click))
# if data[0] == 1: #Right click
# os.system("xdotool click 1")
#Error
except usb.core.USBError as e:
data = None
if e.args == ('Operation timed out',):
continue
usb.util.release_interface(dev, interface)
#dev.attach_kernel_driver(interface)
Reply to: