Clients must now request keys using either client_add_key or screen_add_key
to receive key events. If a screen is active (on the display) and it
has registered a key with "screen_add_key" it will be the only client
to get that key. If the current screen doesn't want the key, it will
be sent to all clients that have registered that key using "client_add_key".
If you want to define a "hot button" for your client, you should probably
register that "hot key" with "client_add_key" and then list the keys that
control your client with "screen_add_key" on each screen. If you don't
have a "hot key", then just register keys with "screen_add_key" and you'll
get keystrokes only when your screen is active.
Also fixed some formatting (spaces versus tabs) in a couple of places.
Fixed lots of small problems in various places.
Added new protocol commands screen_add/del_key so screens
can request keystrokes when they are being displayed.
Lots of work on CPU GRAPH and BIG NUMBER CLOCK screens.
Fixed 'output' function in MtxOrb.c
Fixed lots of small problems in various places.
Added new protocol commands screen_add/del_key so screens
can request keystrokes when they are being displayed.
Lots of work on CPU GRAPH and BIG NUMBER CLOCK screens.
Fixed 'output' function in MtxOrb.c
Fixed lots of small problems in various places.
Added new protocol commands screen_add/del_key so screens
can request keystrokes when they are being displayed.
Lots of work on CPU GRAPH and BIG NUMBER CLOCK screens.
Fixed 'output' function in MtxOrb.c
display. The patch applied cleanly, and compiled properly. At least,
"it worked for me." :) I don't have such a display, thus I cannot test that
the driver actually works, but it at least doesn't do nasty things or break
the compile. Thanks, Nathan!
- bugfixes for display != MatrixOrb LCD
- changes the meaning of output_state
+ it's now a bitfield where evry bit corresponds to
one output
- protocol change
output on|off|value
where on = all outputs on
off = all outputs off
value = output on for all 1 bits
- changes the behavior for key presses
Keypresses are now deliverd to _all_ clients (not only
the one with the active screen)
reason: I have an client which is only active a few seconds after
an keypress
- changes the protocol so that a response is sent for every
command
reason: the client needs to communicate with the server with a
minimal latency
process LCDd now compiles and runs properly on Solaris! Additionally, he
has provided a new driver for a 16x2 LCD made by an Australian company.
I've compiled and executed this new code on a Solaris 2.6 box, and while I
don't have the display the new driver uses, LCDd tries to use it anyway,
fails (since the device isn't installed), and continues running, so this
looks solid!
Passed *every* piece of source in this project through indent. I'm setting
things up with ctags soon and am actually going to *gasp* use a nice
programming environment to continue development in. :)
sock_send_string and sock_send "corrected" to handle cases where not all
the bytes intended to be sent are actually sent (must loop to
send the remaining bytes).
File descriptors were not actually being closed by sock_close (they were
only being shutdown).