Thread (5 messages) 5 messages, 2 authors, 2011-05-23

select() on /dev/input/eventX not level-triggered?

From: Pavel Machek <hidden>
Date: 2011-05-19 23:50:55
Also in: lkml

Hi!

I'm debugging strange behaviour on /dev/input/eventX ... it seems that
select is not behaving level-triggered as it apparently should. I can
reproduce it when hitting windows & alt keys.

Now, I really should rewrite it into C, first, but perhaps someone has
an idea?

								Pavel

#!/usr/bin/python
# Thanks to mechomaniac.com
# GPLv2
# Copyright 2011 Pavel Machek

import struct
import time
import select
import os
import random

#
# format of the event structure (int, int, short, short, int)
inputEventFormat = 'iihhi'
inputEventSize = 16
file = open("/dev/input/event5", "rb") # standard binary file input
while 1:
  ( i, o, e ) = select.select( [file], [], [], 0.5 )
  if i == []:
    print "timeout event"
    continue
  event = file.read(inputEventSize)
  time.sleep(1)
  (time1, time2, type, code, value) = struct.unpack(inputEventFormat, event)
  print "type ", type, " code ", code, " value ", value

file.close()


-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help