LCDproc development and user support list

Text archives Help


[Lcdproc] Tyan GS12 lcd keypad, up/down not working.


Chronological Thread 
  • From: peter AT adpm.de (Peter Marschall)
  • Subject: [Lcdproc] Tyan GS12 lcd keypad, up/down not working.
  • Date: Thu Jun 22 18:32:01 2006

Hi Robert,

pleas keep your replies to the list.

On Thursday, 22. June 2006 15:41, Robert Mount wrote:
> > I have added debugging output to the tyan driver in CVS HEAD.
> > It will be in tonight's nightly tarball
> > http://lcdproc.sourceforge.net/nightly/lcdproc-CVS-current.tar.gz
>
> With the nightly CVS build i tried (20060622), tyan.so doesn't get
> built during the make.
Is it because of an error ?
If yes, what is the error message ?
If no, did you configure the tyan driver in ?
E.g. using ./configure --enable-drivers=tyan ?

In my environment I cannot reproduce the problem.
Using ./configure --enable-drivers=all the tyan driver gets built fine.

> The previous version i had, it does work. That CVS build is 20060601.
The only difference in te tyan driver is one additional command:
report(RPT_DEBUG, "%s: get_key(): raw key code: 0x%02X", drvthis->name,
key);
on line 307.

> With both builds i had to make the following changes to the defaults
> in LCDd.conf:
> driver=tyan (it's missing)
> change "Device=/dev/lcd" to "Device=/dev/ttyS1" in the "[tyan]" section.
LCDd.conf is considered a configuration file that may need to be adapted
to the local environment.
Setting "Driver=tyan" as the default would make lcdproc fail for all users
without a tyan board. the default "Driver=curses" selection is a much
safer varriant as it requires no hardware but runs on the console.
/dev/lcd is chosen at will. It is considered to be a link to the real device.
This way you may be able to use the same config for more than one computer
(maybe even with different LCDs) and always know there the LCD is.
To achieve this in your environment you may do:
ln -sf ttyS1 /dev/lcd
Please note that this only works in an environment with static devices
(i.e. without udev) othetwise the link vanished from the /dev folder with
each
reboot.

> > Please try it running the LCDd daemon with report level 5, reporting set
> > stdout/stderr and the output redirected to a file:
> > LCDd -r 5 -s 0 -f 1 > LCDd.log 2>&1
>
> For grins, i ran this command anyway, here's what i found:
> **********
> Server running in foreground
> Listening for queries on 127.0.0.1:13666
> screenlist_init()
> driver_load( name="tyan", filename="/usr/local/lib/lcdproc/tyan.so")
> tyan: init() done
> Key "Menu" is now reserved in exclusive mode by client [-1]
Do you have "MenuKey=Menu" ?
This will not work as the tyan driver returns only the keys
shown in your log below.
Even if the key is labeled "Menu" its internal name is "Escape"

> Key "Enter" is now reserved in shared mode by client [-1]
> Key "Up" is now reserved in shared mode by client [-1]
> Key "Down" is now reserved in shared mode by client [-1]
You did not set "LeftKey=LEft" and "RightKey=Right", did you ?

> tyan: Untreated key 0xF4
> screenlist_process()
> screenlist_switch( s=[_server_screen] )
> screenlist_switch: switched to screen [_server_screen]
> tyan: Untreated key 0xF4
> tyan: Untreated key 0xF4
> tyan: Untreated key 0xF4
> screenlist_process()
> tyan: Untreated key 0xF4
> tyan: Untreated key 0xF4
> tyan: Untreated key 0xF4
> tyan: Untreated key 0xF4
> *********
>
> The last five lines repeat over and over with any buttons being pressed.
This is O.K. It tells that there was no key to be read.
I guess I need to reorg the code a bit to avoid these "Untreate keys" warnings
if no key was pressed. (But this is very low priority as is does not hurt
operations)

> I then ran the command again and pressed each key on the display and
> got this in the logs (i removed the above logs which were repeating
> over and over):
> *********
> Driver [tyan] generated keystroke Left
> handle_input: left over key: "Left"
> handle_input: key is for internal client
>
> Driver [tyan] generated keystroke Right
> handle_input: left over key: "Right"
> handle_input: key is for internal client
>
> Driver [tyan] generated keystroke Up
> handle_input: reserved key: "Up"
> handle_input: key is for internal client
>
> Driver [tyan] generated keystroke Down
> handle_input: reserved key: "Down"
> handle_input: key is for internal client
>
> Driver [tyan] generated keystroke Enter
> handle_input: reserved key: "Enter"
> handle_input: key is for internal client
>
> Driver [tyan] generated keystroke Escape
> handle_input: left over key: "Escape"
> handle_input: key is for internal client
This shows that the driver detects all key presses and recognized all 6 keys.


BTW I have a futher modification of te tyan driver lying in my
local repository that will give you the Bigclock screen in the lcdproc client.
But before I commit that to CVS I'd like to be sure your current issues are
solved.

Peter

--
Peter Marschall
peter AT adpm.de




Archive powered by MHonArc 2.6.18.

Top of page