diff options
-rw-r--r-- | find_hid-help.pd | 10 | ||||
-rw-r--r-- | find_hid.py | 43 |
2 files changed, 53 insertions, 0 deletions
diff --git a/find_hid-help.pd b/find_hid-help.pd new file mode 100644 index 0000000..11f31c7 --- /dev/null +++ b/find_hid-help.pd @@ -0,0 +1,10 @@ +#N canvas 0 0 450 300 10; +#X obj 51 100 py find_hid find; +#X obj 51 122 print; +#X msg 51 65 reload; +#X msg 158 69 find USB-PS/2 Optical Mouse; +#X text 53 239 $Id: find_hid-help.pd 192 2005-11-20 00:54:05Z tim $; +#X text 49 153 find device in linux udevfs; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X connect 3 0 0 1; diff --git a/find_hid.py b/find_hid.py new file mode 100644 index 0000000..15b56ff --- /dev/null +++ b/find_hid.py @@ -0,0 +1,43 @@ +# Python script to search the udev file system for devices +# Copyright (C) 2005 Tim Blechmann +# +# 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; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. +# +# $Id: find_hid.py,v 1.1 2005-12-04 18:11:08 timblech Exp $ +# + +from os import popen, listdir + +def find (*args): + name = "" + for token in args: + name+=" " + str(token) + name = name.strip() + + events = filter(lambda x: "event" in x, listdir('/sys/class/input/')) + + for event in events: + pipe = popen('udevinfo -a -p /sys/class/input/%s' % event) + + line = pipe.readline() + while line: + if name in line: + print event + return float(event.strip("event")) + + line = pipe.readline() + pipe.close() + return -1 |