LCDproc development and user support list

Text archives Help


[Lcdproc] 0.5.0 keypad on hd47780


Chronological Thread 
  • From: g8ecj AT gilks.org (Robin Gilks)
  • Subject: [Lcdproc] 0.5.0 keypad on hd47780
  • Date: Sat Jun 10 22:22:02 2006

> On 10 Jun 2006 at 0:02, Robin Gilks wrote:
>
>> I *thought* that setting the following:
>> KeyMatrix_4_1=A
>> KeyMatrix_4_2=B
>> KeyMatrix_4_3=C
>> KeyMatrix_4_4=D
>> KeyMatrix_4_5=L
>> KeyMatrix_4_6=Q
>>
>> would do the trick but nope!
>
> Hmm it should have... If you increase the debug level, do you see more
> messages about the keys ? Can you debug it ?
>
>> The default config file has the following commands in it:
>> KeyMatrix_4_1=Enter
>> KeyMatrix_4_2=Up
>> KeyMatrix_4_3=Down
>> KeyMatrix_4_4=Escape
>>
>>
>> When I press (what was) the 'A' key, I get a 'HOLD' or 'ROTATE' appear
>> in
>> the bottom right of the display. I guess that is something to do with
>> the
>> default lines:
>> ToggleRotateKey=Enter
>> PrevScreenKey=Left
>> NextScreenKey=Right
>
> Indeed this tells the LCDd server to respond to these key events. You may
> be able to give empty strings ("") or otherwise non exitant keynames to
> prevent this behaviour.
>
>> so that Enter is getting mapped a second time to ToggleRotate - even
>> though I have the serverscreen turned off! (mind boggles...). Should
>> these
>> lines really be in the [server] section of the config file? They look
>> like
>> menu stuff to me.
>
> These keys are not actually reserved. Your client can still reserve them
> and receive them. If these keys are leftovers (no client has reserved
> them) they will be used for rotating. We've thought of using them for
> scrolling too.
>
>> The questions really are:
>> 1. Are the matrix key maps numbered 1... or 0... for each coord?
>> 2. Do I still have the use the Free...Key commands, if so how are they
>> labeled now?
>
> I don't find them in the source.
>
>> 3. What is the relevance of the ToggleRotate et al keys if the
>> serverscreen is off?
>
> Well it toggles rotation ;) If you have multiple screens they will by
> default rotate.
>
>> 5. Are there two levels of indirection to get back to the original 0.4.5
>> single letter keypad return values?
>
> No. The drivers generate a key event, which is configurable per driver.
> The clients (and the server itself) respond to given key events. The keys
> to which the server responds are configurable.
>
>> 6. Does LCDd still send stuff to an external client the same way or has
>> the protocol all changed like the screen priorities did?
>
> You should reserve keys in shared mode if you do it properly. And you can
> reserve "hot keys" (that should always only go to your app, also if
> invisible) in exclusive mode.
> We have thought of returning leftover keys to the currently visible
> client, but that is currently not the case. It would be convenient for
> keyboard input, where you don't want to reserve all keys. The internal
> menu client can already use leftover keys.
>
> Another difference is the heartbeat setting, things around scrolling
> widgets etc, bars and some things in the icon area. Of course the client
> supplied menus are new. Every of these things is documented.
>
> Joris
> --

Getting somewhere at last - the protocol HAS changed (again undocumented)
such that client_add_key now takes an argv list rather than a single
string containing all the single character keys to be used by the external
client.

I at least get something to happen now by using a space seperated list of
keys rather than a concatenated list (was CDBLQA, now C D B L Q A) but the
mapping is off for some reason. More diagnostics to be put into place
methinks to see what actually gets SENT to the client rather that just
what key presses get seen.

Cheers


--
Robin Gilks







Archive powered by MHonArc 2.6.18.

Top of page