Author: duncan
Date: Wed Mar 5 17:30:53 2008
New Revision: 10470
Log:
Swapped " and ' quotes
Modified:
branches/rel-1/freevo/src/evdev.py
Modified: branches/rel-1/freevo/src/evdev.py
==============================================================================
--- branches/rel-1/freevo/src/evdev.py (original)
+++ branches/rel-1/freevo/src/evdev.py Wed Mar 5 17:30:53 2008
@@ -72,10 +72,13 @@
def _IO(type,nr):
return _IOC(_IOC_NONE,(type),(nr),0)
+
def _IOR(type,nr,size):
return _IOC(_IOC_READ,(type),(nr),(size))
+
def _IOW(type,nr,size):
return _IOC(_IOC_WRITE,(type),(nr),(size))
+
def _IOWR(type,nr,size):
return _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(size))
@@ -83,18 +86,25 @@
EVIOCGVERSION = _IOR('E', 0x01, 4) # get driver version
EVIOCGID = _IOR('E', 0x02, 8) # get device ID
-def EVIOCGNAME(len): return _IOR('E', 0x06, len) # get device name
-def EVIOCGPHYS(len): return _IOR('E', 0x07, len) # get physical location
-def EVIOCGUNIQ(len): return _IOR('E', 0x08, len) # get unique identifier
-
-def EVIOCGBIT(ev,len):return _IOR('E', 0x20 + ev, len) # get event bits
-def EVIOCGABS(abs): return _IOR('E', 0x40 + abs, 20) # get abs value/limits
-def EVIOCSABS(abs): return _IOW('E', 0xc0 + abs, 20) # set abs value/limits
+def EVIOCGNAME(len):
+ return _IOR('E', 0x06, len) # get device name
+def EVIOCGPHYS(len):
+ return _IOR('E', 0x07, len) # get physical location
+def EVIOCGUNIQ(len):
+ return _IOR('E', 0x08, len) # get unique identifier
+
+def EVIOCGBIT(ev,len):
+ return _IOR('E', 0x20 + ev, len) # get event bits
+def EVIOCGABS(abs):
+ return _IOR('E', 0x40 + abs, 20) # get abs value/limits
+def EVIOCSABS(abs):
+ return _IOW('E', 0xc0 + abs, 20) # set abs value/limits
class evdev:
- def __init__(self, dev, blocking = False):
- '''
- '''
+ def __init__(self, dev, blocking=False):
+ """
+ """
+ print 'evdev.__init__(dev, blocking=False)'
self._fd = None
if blocking:
self._fd = os.open(dev, os.O_RDONLY)
@@ -103,86 +113,93 @@
self.get_events()
def __del__(self):
- '''
- '''
- self.close()
+ """
+ """
+ print '__del__(self=%r)' % (self.__dict__)
+ #if self is not None:
+ # self.close()
def close(self):
- '''
- '''
+ """
+ """
+ print 'close(self=%r)' % (self,)
if self._fd is not None:
os.close(self._fd)
self._fd = None
def print_info(self):
- '''
- '''
- print "Input driver version %d.%d.%d" % self.get_version()
+ """
+ """
+ print 'print_info()'
+ print 'Input driver version %d.%d.%d' % self.get_version()
devid = self.get_id()
- print "Device ID: bus %s vendor 0x%04x product 0x%04x version 0x%04x"
% \
- (devid["bus"], devid["vendor"], devid["product"], devid["version"])
-
+ print 'Device ID: bus %(bus)s vendor 0x%(vendor)04x product
0x%(product)04x version 0x%(version)04x' % devid
print 'Device name: "' + self.get_name() + '"'
print 'Device location: "' + self.get_location() + '"'
def print_events(self):
- '''
- '''
- print "Supported events:"
+ """
+ """
+ print 'print_events()'
+ print 'Supported events:'
keys = self._events.keys()
keys.sort()
for key in keys:
- print " Event type %s (%d):" % (_types[key], key)
+ print ' Event type %s (%d):' % (_types[key], key)
self._events[key].sort()
for event in self._events[key]:
try:
- print " Event %s (%d)" % (_events[key][event],
event)
+ print ' Event %s (%d)' % (_events[key][event],
event)
except KeyError:
- print " Event ??? (%d)" % event
+ print ' Event ??? (%d)' % event
def get_version(self):
- '''
- '''
- buf = ioctl(self._fd, EVIOCGVERSION, " ")
- l, = struct.unpack("I", buf)
+ """
+ """
+ print 'get_version()'
+ buf = ioctl(self._fd, EVIOCGVERSION, ' ')
+ l, = struct.unpack('I', buf)
return (l >> 16, (l >> 8) & 0xff, l & 0xff)
def get_id(self):
- '''
- '''
- buf = ioctl(self._fd, EVIOCGID, " " * 8)
- bus, vendor, product, version = struct.unpack("HHHH", buf)
- return { "bus":_buses[bus], "vendor":vendor,
- "product":product, "version":version }
+ """
+ """
+ print 'get_id()'
+ buf = ioctl(self._fd, EVIOCGID, ' ' * 8)
+ bus, vendor, product, version = struct.unpack('HHHH', buf)
+ return { 'bus':_buses[bus], 'vendor':vendor, 'product':product,
'version':version }
def get_name(self):
- '''
- '''
- buf = ioctl(self._fd, EVIOCGNAME(1024), " " * 1024)
- null = buf.find("\0")
+ """
+ """
+ print 'get_name()'
+ buf = ioctl(self._fd, EVIOCGNAME(1024), ' ' * 1024)
+ null = buf.find('\0')
return buf[:null]
def get_location(self):
- '''
- '''
- buf = ioctl(self._fd, EVIOCGPHYS(1024), " " * 1024)
- null = buf.find("\0")
+ """
+ """
+ print 'get_location()'
+ buf = ioctl(self._fd, EVIOCGPHYS(1024), ' ' * 1024)
+ null = buf.find('\0')
return buf[:null]
def get_events(self):
- '''
- '''
+ """
+ """
+ print 'get_events()'
keys = _types.keys()
keys.sort()
# We need one bit per type, rounded up to even 4 bytes
l = ((keys[-1] + 7) / 8 + 3) & ~0x3
- buf = ioctl(self._fd, EVIOCGBIT(0, l), " " * l)
- array = struct.unpack("I" * (l/4), buf)
+ buf = ioctl(self._fd, EVIOCGBIT(0, l), ' ' * l)
+ array = struct.unpack('I' * (l/4), buf)
self._events = {}
@@ -199,11 +216,11 @@
sl = ((subkeys[-1] + 7) / 8 + 3) & ~0x3
try:
- buf = ioctl(self._fd, EVIOCGBIT(i, sl), " " * sl)
+ buf = ioctl(self._fd, EVIOCGBIT(i, sl), ' ' * sl)
except IOError:
# No events for a type results in Errno 22 (EINVAL)
break
- subarray = struct.unpack("I" * (sl/4), buf)
+ subarray = struct.unpack('I' * (sl/4), buf)
for j in xrange(sl * 8):
if not subarray[j / 32] & (1 << j % 32):
@@ -212,8 +229,9 @@
self._events[i].append(j)
def has_event(self, test_event):
- '''
- '''
+ """
+ """
+ print 'has_event(test_event)'
for type in self._events.keys():
for event in self._events[type]:
if _events[type][event] == test_event:
@@ -221,28 +239,30 @@
return False
def read(self):
- '''
- '''
+ """
+ """
try:
- buf = os.read(self._fd, struct.calcsize("LLHHi"))
+ buf = os.read(self._fd, struct.calcsize('LLHHi'))
except OSError, (errno, str):
if errno == 11:
return None
raise
- sec, usec, type, code, value = struct.unpack("LLHHi", buf)
+ sec, usec, type, code, value = struct.unpack('LLHHi', buf)
return (float(sec) + float(usec)/1000000.0, _types[type],
_events[type][code], value)
-if __name__ == "__main__":
+if __name__ == '__main__':
def _convert_value(s):
- if s.startswith("0x"):
+ print '_convert_value(s)'
+ if s.startswith('0x'):
return int(s, 16)
return int(s, 10)
def parse_input_h(path):
+ print 'parse_input_h(path)'
global _types, _events, _ids, _buses
f = file(path)
@@ -254,40 +274,40 @@
buses = {}
for line in f.readlines():
- m = re.search("#define
(?P<name>EV_[A-Za-z0-9_]+)\s+(?P<value>(0x)?[0-9A-Fa-f]+)", line)
+ m = re.search('#define
(?P<name>EV_[A-Za-z0-9_]+)\s+(?P<value>(0x)?[0-9A-Fa-f]+)', line)
if m:
- if m.group("name") != "EV_VERSION":
- types[_convert_value(m.group("value"))] = m.group("name")
+ if m.group('name') != 'EV_VERSION':
+ types[_convert_value(m.group('value'))] = m.group('name')
continue
- m = re.search("#define
(?P<name>ID_[A-Za-z0-9_]+)\s+(?P<value>(0x)?[0-9A-Fa-f]+)", line)
+ m = re.search('#define
(?P<name>ID_[A-Za-z0-9_]+)\s+(?P<value>(0x)?[0-9A-Fa-f]+)', line)
if m:
- ids[_convert_value(m.group("value"))] = m.group("name")
+ ids[_convert_value(m.group('value'))] = m.group('name')
continue
- m = re.search("#define
(?P<name>BUS_[A-Za-z0-9_]+)\s+(?P<value>(0x)?[0-9A-Fa-f]+)", line)
+ m = re.search('#define
(?P<name>BUS_[A-Za-z0-9_]+)\s+(?P<value>(0x)?[0-9A-Fa-f]+)', line)
if m:
- buses[_convert_value(m.group("value"))] = m.group("name")
+ buses[_convert_value(m.group('value'))] = m.group('name')
continue
- m = re.search("#define
(?P<name>(?P<type>[A-Za-z0-9]+)_[A-Za-z0-9_]+)\s+(?P<value>(0x)?[0-9A-Fa-f]+)",
line)
+ m = re.search('#define
(?P<name>(?P<type>[A-Za-z0-9]+)_[A-Za-z0-9_]+)\s+(?P<value>(0x)?[0-9A-Fa-f]+)',
line)
if m:
- t = m.group("type")
+ t = m.group('type')
# The naming is a bit off in input.h
- if t == "BTN":
- t = "KEY"
+ if t == 'BTN':
+ t = 'KEY'
for k in types.keys():
- if types[k] == "EV_" + t:
+ if types[k] == 'EV_' + t:
break
else:
- raise Exception("Invalid type: %s" % m.group("type"))
+ raise Exception('Invalid type: %s' % m.group('type'))
if not events.has_key(k):
events[k] = {}
- events[k][_convert_value(m.group("value"))] = m.group("name")
+ events[k][_convert_value(m.group('value'))] = m.group('name')
_types = types
_events = events
@@ -296,53 +316,54 @@
_buses = buses
def _print_tables():
- print "_types = {"
+ print '_print_tables()'
+ print '_types = {'
keys = _types.keys()
keys.sort()
for key in keys:
- print " %2d:%s," % (key, repr(_types[key]))
+ print ' %2d:%s,' % (key, repr(_types[key]))
- print " }"
+ print ' }'
- print ""
+ print ''
- print "_events = {"
+ print '_events = {'
keys = _events.keys()
keys.sort()
for key in keys:
- print " %2d:{ # %s" % (key, _types[key])
+ print ' %2d:{ # %s' % (key, _types[key])
subkeys = _events[key].keys()
for subkey in subkeys:
- print " %3d:%s," % (subkey, repr(_events[key][subkey]))
+ print ' %3d:%s,' % (subkey, repr(_events[key][subkey]))
- print " },"
+ print ' },'
- print " }"
+ print ' }'
- print ""
+ print ''
- print "_ids = {"
+ print '_ids = {'
keys = _ids.keys()
keys.sort()
for key in keys:
- print " %2d:%s," % (key, repr(_ids[key]))
+ print ' %2d:%s,' % (key, repr(_ids[key]))
- print " }"
+ print ' }'
- print ""
+ print ''
- print "_buses = {"
+ print '_buses = {'
keys = _buses.keys()
keys.sort()
for key in keys:
- print " %2d:%s," % (key, repr(_buses[key]))
+ print ' %2d:%s,' % (key, repr(_buses[key]))
- print " }"
+ print ' }'
# Main starts here
e = evdev(sys.argv[1], True)
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog