All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pauli Borodulin <pauli@borodulin.fi>
To: Roland Scheidegger <rscheidegger_lists@hispeed.ch>
Cc: linux-dvb@linuxtv.org
Subject: Re: [linux-dvb] Updated Mantis VP-2033 remote control patch for Manu's jusst.de Mantis branch
Date: Tue, 20 May 2008 15:30:11 +0300	[thread overview]
Message-ID: <4832C453.5070306@borodulin.fi> (raw)
In-Reply-To: <4832BE7D.2080808@hispeed.ch>

> On 20.05.2008 08:16, Pauli Borodulin wrote:
 >> [...]
>> Btw I found these in dvb-usb-remote.c:
>>
>>      input_dev->rep[REP_PERIOD] = d->props.rc_interval;
>>      input_dev->rep[REP_DELAY]  = d->props.rc_interval + 150;
>>
>> So there seems to be some configurable auto-repeat functionality in 
>> input layer. I guess I'll experiment with those even tho' RCs delays are 
>> a bit crappy, since it's a pretty painful to go through a long list of 
>> recordings without any auto-repeat...

Roland Scheidegger wrote:
> If you change these values (to anything but zero) before
> input_register_device, the input driver will just disable auto-repeat
> (or rather, you'd need to handle it yourself in the driver with the
> appropriate timer func, and I didn't feel like duplicating half the code
> of the input driver). input_register_device also says all capabilities
> must be set up before calling it, when I tried to change those values
> afterwards it didn't seem to work (though maybe I made some testing
> error, I can't see why it shouldn't work). I guess a REP_DELAY a bit
> over the initial delay (like 300ms) should work, and a REP_PERIOD of
> about 100 (which would give you about 50% chance of stopping pressing
> keys exactly) might be reasonable - though it really is annoying if you
> can't stop exactly (but it's not solvable - either live with slow repeat
> or live with that).

In dvb/ttpci/budget-ci.c there's a note:

         /* note: these must be after input_register_device */
         input_dev->rep[REP_DELAY] = 400;
         input_dev->rep[REP_PERIOD] = 250;

I wondered why and proceeded to kernel's drivers/input/input.c. There's
a note in input_register_device:

/*
  * If delay and period are pre-set by the driver, then autorepeating
  * is handled by the driver itself and we don't do it in input.c.
  */

init_timer(&dev->timer);
if (!dev->rep[REP_DELAY] && !dev->rep[REP_PERIOD]) {
	dev->timer.data = (long) dev;
	dev->timer.function = input_repeat_key;
	dev->rep[REP_DELAY] = 250;
	dev->rep[REP_PERIOD] = 33;
}

So it is different whether you set REP_DELAY & REP_PERIOD before or 
after calling input_register_device. If you set them before, it seems 
you are also expected to provide your own input_repeat_key function. If 
after, then... I guess input layer uses it's own logic, but just using 
customized REP_DELAY and REP_PERIOD.

I don't know why for example ttpci/av7110_ir.c uses it's own 
input_repeat_key function instead of using the logic provided by input 
layer. I will probably find this out later today when trying to 
experiment auto-repeat functionality.

Regards,
Pauli Borodulin

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

  reply	other threads:[~2008-05-20 12:30 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-16 22:57 [linux-dvb] Updated Mantis VP-2033 remote control patch for Manu's jusst.de Mantis branch Pauli Borodulin
2008-05-16 23:21 ` Markus Rechberger
2008-05-19 16:52   ` Pauli Borodulin
2008-05-19 17:47     ` Roland Scheidegger
     [not found]     ` <4831B70D.8050809@tungstengraphics.com>
2008-05-19 18:51       ` Pauli Borodulin
2008-05-19 23:47         ` Roland Scheidegger
     [not found]         ` <48320E0B.8090501@tungstengraphics.com>
2008-05-20  6:16           ` Pauli Borodulin
2008-05-20 12:05             ` Roland Scheidegger
2008-05-20 12:30               ` Pauli Borodulin [this message]
2008-05-24  2:22               ` Chris Hodgkins
2008-05-24  2:21             ` Chris Hodgkins

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=4832C453.5070306@borodulin.fi \
    --to=pauli@borodulin.fi \
    --cc=linux-dvb@linuxtv.org \
    --cc=rscheidegger_lists@hispeed.ch \
    /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.