# Unbuffered IO

**URL:** <https://www.ruby-forum.com/t/unbuffered-io/80223>\
**Category:** Ruby\
**Created:** [December 22, 2006, 11:43am UTC](https://www.ruby-forum.com/t/unbuffered-io/80223 "2006-12-22T11:43:09Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bertram\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/54ee81/32.png) [@Bertram\_S](https://www.ruby-forum.com/u/Bertram_S)\
**Post date:** [December 22, 2006, 11:43am UTC](https://www.ruby-forum.com/t/unbuffered-io/80223/1 "2006-12-22T11:43:09Z")

</div>

Hi,

this used to work in an older version/environment:

I read from a usb joystick:

irb(main):001:0\> f = File.new “/dev/input/event0”  
=\> #\<File:/dev/input/event0\>  
irb(main):002:0\> i=0  
=\> 0  
irb(main):003:0\> loop { a = f.read 8 ; puts [i,a.inspect].join( “–”)  
; i += 1 }  
0–"\342\252\213E\315\363\000\000"  
…  
7–"\000\000\000\000\000\000\000\000"  
[wait]

When I press the buttons on the device I get the output  
8-line-wise, that is 64 bytes at a time. So I try:

irb(main):001:0\> f = File.new “/dev/input/event0”  
=\> #\<File:/dev/input/event0\>  
irb(main):002:0\> f.sysread 8  
Errno::EINVAL: Invalid argument - /dev/input/event0  
from (irb):2:in `sysread’  
from (irb):2  
from :0

What does this mean and how could I get around it?

Thanks in advance.

Bertram

---

<div class="post-metadata">

**Author:** ![Bertram\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/54ee81/32.png) [@Bertram\_S](https://www.ruby-forum.com/u/Bertram_S)\
**Post date:** [December 22, 2006, 12:47pm UTC](https://www.ruby-forum.com/t/unbuffered-io/80223/2 "2006-12-22T12:47:14Z")

</div>

Hi,

Am Freitag, 22. Dez 2006, 19:41:00 +0900 schrieb Bertram S.:

> I read from a usb joystick:
> 
> irb(main):001:0\> f = File.new “/dev/input/event0”  
> =\> #\<File:/dev/input/event0\>

I confused event interface and joystick interface.

Please don’t answer on this stupid question.

Bertram
