2 changed files with 0 additions and 59 deletions
@ -1,13 +0,0 @@ |
|||||
# Following rule will take affect after binding/unbinding action of HID devices |
|
||||
# which is expected. These rules only take effect one time for each mouse |
|
||||
# insertion, removal. Actually, usb events are triggered when usb and |
|
||||
# usb interface are binding but hid is more specific and happen once for each |
|
||||
# action. change action is not used because |
|
||||
# XAUTHORUTY and DISPLAY must be set and related to the current session. It may |
|
||||
# vary with different graphic drivers. |
|
||||
SUBSYSTEM=="hid", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/run/user/1000/gdm/Xauthority", ACTION=="bind", RUN+="/usr/local/bin/changemouse.py" |
|
||||
|
|
||||
# the following line may not be needed as when we unplug a mouse it would |
|
||||
# automatically remove devices from the list and they need no furthur |
|
||||
# configuration |
|
||||
# SUBSYSTEM=="hid", ACTION=="unbind", RUN+="/usr/local/bin/changemouse.py" |
|
@ -1,46 +0,0 @@ |
|||||
#!/usr/bin/env python3 |
|
||||
|
|
||||
"""Change mouse script |
|
||||
|
|
||||
Whenever a mouse is changed to the system, this script will be executed. These |
|
||||
are the rules: |
|
||||
+ All regular mouses should connect to the "Virtual core pointer" of the |
|
||||
system |
|
||||
+ Touchpanel should be connected to the master "touch-pointer" |
|
||||
|
|
||||
NOTE: if master `touch` is not present in the system, the script will create a |
|
||||
master `touch` itself and hides the pointer. eGalax device input will be |
|
||||
attached to this master. TODO: make master's cursor invisible. |
|
||||
|
|
||||
Currently we'll use xinput command-line application, but, It is possible |
|
||||
to write a specified c program that uses Xlib efficiently. |
|
||||
|
|
||||
Steps: |
|
||||
+ List all pointer as we don't know what pointer is added to the system |
|
||||
+ group them by their usage by name rules (As if the pointer is eGalax |
|
||||
touch pointer it should be attached to the touch-pointer o.w. it |
|
||||
should be attached to Vitual core pointer (OR trackball TODO)) |
|
||||
|
|
||||
utility functions to find and group pointers aer available in xutil module. |
|
||||
|
|
||||
NOTE: In case of psyco adds and removes mouses with intervals smaller than run |
|
||||
time of this code (which is not probabale at all) a lockfile is used so that |
|
||||
only one instance of this code is running at a moment so no conflicts occur. |
|
||||
""" |
|
||||
|
|
||||
import util.pointer as putil |
|
||||
import util.x as xutil |
|
||||
|
|
||||
if __name__ == "__main__": |
|
||||
"""Configure Pointers |
|
||||
|
|
||||
Execution time: 140ms avg -> Tolarable |
|
||||
""" |
|
||||
v_core, touch_master, e_galax, pointers = putil.get_pointers_categorized() |
|
||||
if e_galax: |
|
||||
xutil.reattach(e_galax.id, touch_master.id) |
|
||||
else: |
|
||||
# TODO: disable touch? |
|
||||
pass |
|
||||
for p in pointers: |
|
||||
xutil.reattach(p.id, v_core.id) |
|
Loading…
Reference in new issue