All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tomas Carnecky <tom@dbservice.com>
To: Jiri Kosina <jikos@jikos.cz>
Cc: linux-kernel@vger.kernel.org
Subject: Re: SideWinder GameVoice driver
Date: Fri, 18 May 2007 09:01:05 +0200	[thread overview]
Message-ID: <464D4F31.6000100@dbservice.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0705172309240.27422@twin.jikos.cz>

Jiri Kosina wrote:
> We don't want neither the 'Telephony' nor 'LEDs' usages to be claimed by 
> the hid-input system, that seems to make a little sense. 

I changed the IS_INPUT_APPLICATION() macro to accept 'Telephony/Headset'
and now the kernel has created a new event device node for the device
and it correctly generates evdev events if I press the keys on the pad.
(The LEDs can't be controlled, they light up if a key is pressed, they
are 'passive' from the POV of the kernel). So right now, I couldn't be
happier with how it works :)

> 
> So either the device is bogus and has broken report descriptor (which we 
> could fix in runtime), or it really can't be handled by hid-input (I have 
> no idea about the purpose and internal working of the device in question, 
> sorry).

GameVoice is used for VoIP communication between players. It consists of
a software and the small pad with eight buttons and connectors for the
headset. One of the buttons can be used to mute the microphone, the
others are labeled '1' - '4', 'TEAM', 'ALL' and 'COMMAND'. The idea is
that you can have up to four 'groups' of players and communicate only to
 certain groups by 'activating' the buttons, you can also speak to your
whole team or all players. The command button is used for voice commands
(for example, you press the button, say 'throw grenade' and the software
translates it to a predefined key sequence). That's more or less how
it's supposed to work.

Google gives you lots of images if you search for 'gamevoice':
http://pcdreitz.wintotal-forum.de/pys/gamevoice.jpg

> 
> Either we can fix the hiddev_connect() so that the device would be claimed 
> by hiddev (*) and you can write the driver for this device easily in 
> userland, or you could try to write generic in-kernel hid-telephony.c 
> handler of all telephony devices (but I doubt this is doable in a 
> reasonable way).

I'd much rather have this handled by hid-input, there's no reason to
have an additional driver (neither in the kernel nor in userland). It
'just works' with hid-input.

tom

  reply	other threads:[~2007-05-18  6:37 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-17 13:59 SideWinder GameVoice driver Tomas Carnecky
2007-05-17 14:28 ` Jiri Kosina
2007-05-17 15:11   ` Tomas Carnecky
2007-05-17 18:47     ` Tomas Carnecky
2007-05-17 21:31       ` Jiri Kosina
2007-05-18  7:01         ` Tomas Carnecky [this message]
2007-05-18 21:19           ` Jiri Kosina
2007-05-18 22:08             ` Tomas Carnecky
2007-05-18 23:31               ` Jiri Kosina
2007-05-19  9:18                 ` Tomas Carnecky
2007-05-18 22:20 ` Lee Revell
2007-05-18 22:30   ` Jiri Kosina
2007-05-19  8:24     ` Tomas Carnecky
2007-05-22 22:04 ` Bill Davidsen

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=464D4F31.6000100@dbservice.com \
    --to=tom@dbservice.com \
    --cc=jikos@jikos.cz \
    --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.