lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110519235051.GA9782@elf.ucw.cz>
Date:	Fri, 20 May 2011 01:50:51 +0200
From:	Pavel Machek <pavel@....cz>
To:	kernel list <linux-kernel@...r.kernel.org>,
	linux-input@...r.kernel.org
Subject: select() on /dev/input/eventX not level-triggered?

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ