From: Yan Seiner <yan@seiner.com>
To: LKML <linux-kernel@vger.kernel.org>
Subject: uinput question
Date: Sun, 20 Apr 2008 16:32:36 -0700 [thread overview]
Message-ID: <480BD294.9040504@seiner.com> (raw)
I'm trying to set up a system with multiple IR remotes acting as
keyboards for specific X sessions.
lirc <http://www.lirc.org> is a way to send infrared remote keystrokes
to applications. Some time ago I wrote a small patch to kbdd
<http://handhelds.org/moin/moin.cgi/kbdd> that lets me inject button
pushes on an IR remote into the /dev/input/uinput system as keyboard
events.
Now I'd like to send those keyboard events to only one X session, not
all of them.
In the kbdd code, there is the following snippet when the
/dev/input/uinput device is opened:
memset(&dev, 0, sizeof(dev));
strncpy(dev.name, "SerKBD", UINPUT_MAX_NAME_SIZE);
dev.idbus = BUS_RS232;
dev.idvendor = 0x00;
dev.idproduct = 0x00;
dev.idversion = 0x00;
So this would indicate to me that I can emulate different devices by
changing the names, IDs, and events. Then I want to select only those
events that pertain to my app...
So...
- Create a 'virtual' eventNN device based on the data fed to kbdd
- Send various keyboard events to the kernel via the uinput device
from several physical devices
- Select only those events destined for my virtual device
- Have those events pop out of my eventNN device so I can handle them
back in userspace
How do I do that? Where can I find some information on how to handle
uinput devices?
Thanks,
--Yan
--
o__
,>/'_ o__
(_)\(_) ,>/'_ o__
Yan Seiner (_)\(_) ,>/'_ o__
Certified Personal Trainer (_)\(_) ,>/'_ o__
Licensed Professional Engineer (_)\(_) ,>/'_
Who says engineers have to be pencil necked geeks? (_)\(_)
Help out my kids' school: http://www.seiner.com/blog/Travels/
next reply other threads:[~2008-04-21 0:08 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-20 23:32 Yan Seiner [this message]
2008-04-25 18:26 ` uinput question Dmitry Torokhov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=480BD294.9040504@seiner.com \
--to=yan@seiner.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.