I add some debug message in unity-settings-daemon/plugins/mouse module, and run 
tests.
Here are my founds:


1-a) Press Fn+F9, function touchpad_callback disables the touchpad.
1-b) However after touchpad is disabled, device_removed_cb is invoked, and it 
then calls ensure_touchpad_active.
1-c) The ensure_touchpad_active checks if toucpad is the only one pointer 
device on the platform, it will make touchpad always enabled.
1-d) However ensure_touchpad_active only changes the gsettings entries but 
leave the device disabled.

* Press Fn+F9 to disable touchpad

=============================== 1st TOUCHPAD HOTKEY TRIGGER START
===============================

(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: === DEBUG touchpad_callback 
ENTER ===
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: +++(1) gsettings 
KEY_TOUCHPAD_ENABLED value: 0
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: Trying to set device disabled 
for "ETPS/2 Elantech Touchpad" (12)
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: Disabled device "ETPS/2 Elantech 
Touchpad" (12)
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: +++(2) KEY_TOUCHPAD_ENABLED, 
value=0 +++
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: === DEBUG touchpad_callback EXIT 
===
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: === DEBUG device_removed_cb 
ENTER ===
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: === DEBUG ensure_touchpad_active 
ENTER ===, gsettings key: 0
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: === DEBUG touchpad_callback 
ENTER ===
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: +++(2) KEY_TOUCHPAD_ENABLED, 
value=1 +++
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: === DEBUG touchpad_callback EXIT 
===
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: === DEBUG ensure_touchpad_active 
EXIT ===, gsettings key: 1
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: === DEBUG device_removed_cb EXIT 
===

=============================== 1st TOUCHPAD HOTKEY TRIGGER END
===============================

2-a) Press Fn+F9 again the touchpad is still disabled.
2-b) The gsettings KEY_TOUCHPAD_ENABLED is set to 0 (FALSE), I think it is 
changed by usd-media-key.
2-c) I think because device is removed from the list, nothing happend in this 
stage.

* Press Fn+F9 to enable touchpad
=============================== 2nd TOUCHPAD HOTKEY TRIGGER START 
===============================

(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: === DEBUG touchpad_callback 
ENTER ===
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: +++(2) KEY_TOUCHPAD_ENABLED, 
value=0 +++
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: === DEBUG touchpad_callback EXIT 
===

=============================== 2nd TOUCHPAD HOTKEY TRIGGER END
===============================

3-a) Press Fn+F9 again, the gsettings KEY_TOUCHPAD_ENABLED is set to 1(TRUE), 
it should be set by usd-media-key
3-b) The touchpad_callback eanbles touchpad. 

* Press Fn+F9 to enable touchpad
=============================== 3rd TOUCHPAD HOTKEY TRIGGER START 
===============================

(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: === DEBUG touchpad_callback 
ENTER ===
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: +++(2) KEY_TOUCHPAD_ENABLED, 
value=1 +++
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: @@@ set_toucpad_enabled :12 @@@
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: Trying to set device enabled for 
12
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: Enabled device 12
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: === DEBUG touchpad_callback EXIT 
===
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: === DEBUG device_added_cb ENTER 
===
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: setting handedness on ETPS/2 
Elantech Touchpad
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: setting tap to click on ETPS/2 
Elantech Touchpad
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: setting motion on ETPS/2 
Elantech Touchpad
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: Setting accel -1/-1, threshold 
-1 for device 'ETPS/2 Elantech Touchpad'
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: setting tap to click on ETPS/2 
Elantech Touchpad
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: setting edge scroll on ETPS/2 
Elantech Touchpad
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: setting horiz scroll on ETPS/2 
Elantech Touchpad
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: Trying to set normal scroll for 
"ETPS/2 Elantech Touchpad"
(lt-usd-test-mouse:16396): mouse-plugin-DEBUG: === DEBUG device_added_cb EXIT 
===

=============================== 3rd TOUCHPAD HOTKEY TRIGGER END
===============================


According to my analysis, the touchpad disable hotkey should work fine if 
ensure_touchpad_active does nothing.
I looks the changelog in unity-settings-daemon, this function is added because 
of the issue:
  https://bugzilla.gnome.org/show_bug.cgi?id=685941

I think users should be able to disable the touchpad if there has control keys.
Should we keep ensure_touchpad_active this function?


** Bug watch added: GNOME Bug Tracker #685941
   https://bugzilla.gnome.org/show_bug.cgi?id=685941

** Attachment added: "run-usd-test.log"
   
https://bugs.launchpad.net/ubuntu/+source/unity-settings-daemon/+bug/1454950/+attachment/4397228/+files/run-usd-test.log

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to unity-settings-daemon in Ubuntu.
https://bugs.launchpad.net/bugs/1454950

Title:
  It needs to press touchpad hotkey twice to re-enable touchpad

Status in unity-settings-daemon package in Ubuntu:
  New

Bug description:
  I have a laptop: ASUS P452L and it has a hotkey (Fn+F9) to disable touchpad 
function.
  I found when I use the hotkey to disable the touchpat and then I have to 
press the hotkey
  twice to re-enable it.

  This is symptom cannot be found if:
  1) using Kubuntu.
  2) plug the usb mouse (any port is ok)

  Because it can't be reproduced in Kubuntu, I think it should be an
  issue of unity-settings-daemon.

  Platform: ASUS P451L
  Ubuntu: 14.04-LTS
  Unity-setting-daemon version: 14.04.0+14.04.20140606-0ubuntu2
  Touchpad vendor: Elantech

  Note: This issue can be reproduced in Ubuntu 15.04.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unity-settings-daemon/+bug/1454950/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to