[OpenBIOS] [PATCH 1/10] Dummy get-key-map in keyboard device package
William Hahne
will07c5 at gmail.com
Wed Aug 10 20:15:13 CEST 2011
On Wed, Aug 10, 2011 at 12:53 PM, Blue Swirl <blauwirbel at gmail.com> wrote:
> On Tue, Aug 9, 2011 at 9:54 PM, William Hahne <will07c5 at gmail.com> wrote:
> > "get-key-map" is a Forth word that provides a map of all the keys
> currently
> > pressed on the keyboard. Since it is only used by BootX to determine if
> one
> > of the shortcuts for verbose or single user mode is pressed. It is a
> waste
> > of time to provide a full implementation. This just hands out a dummy key
> > map which specifies verbose mode.
> > Index: drivers/adb_kbd.c
> > ===================================================================
> > --- drivers/adb_kbd.c (revision 1041)
> > +++ drivers/adb_kbd.c (working copy)
> > @@ -43,10 +43,13 @@
> >
> > static void keyboard_read(void);
> >
> > +static void keyboard_get_key_map(void);
> > +
> > NODE_METHODS( keyboard ) = {
> > { "open", keyboard_open },
> > { "close", keyboard_close },
> > { "read", keyboard_read },
> > + { "get-key-map", keyboard_get_key_map },
> > };
> >
> > /* VT100 escape sequences */
> > @@ -566,3 +569,18 @@
> > }
> > PUSH(i);
> > }
> > +
> > +static unsigned char fake_keymap[32] = {
>
> Can this be 'const'?
>
Yes
>
> > + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
> > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> > + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> > + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
> > +};
> > +
> > +static void keyboard_get_key_map(void)
> > +{
> > + /* This is a bit of a hack since BootX requires a get-key-map word.
> > + In the future this should be changed to give the actual current
> > keymap,
> > + but since this only effects keyboard input in BootX it isn't a
> > priority. */
> > + PUSH( (int)fake_keymap );
>
> 'long' would not truncate on 64 bit host with 64 bit cells.
>
>
Oops, thanks for catching that. :) Revised patch at the bottom.
> > +}
> > --
> > OpenBIOS http://openbios.org/
> > Mailinglist: http://lists.openbios.org/mailman/listinfo
> > Free your System - May the Forth be with you
> >
>
> --
> OpenBIOS http://openbios.org/
> Mailinglist: http://lists.openbios.org/mailman/listinfo
> Free your System - May the Forth be with you
>
Index: drivers/adb_kbd.c
===================================================================
--- drivers/adb_kbd.c (revision 1046)
+++ drivers/adb_kbd.c (working copy)
@@ -43,10 +43,13 @@
static void keyboard_read(void);
+static void keyboard_get_key_map(void);
+
NODE_METHODS( keyboard ) = {
{ "open", keyboard_open },
{ "close", keyboard_close },
{ "read", keyboard_read },
+ { "get-key-map", keyboard_get_key_map },
};
/* VT100 escape sequences */
@@ -566,3 +569,18 @@
}
PUSH(i);
}
+
+static const unsigned char fake_keymap[32] = {
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
+};
+
+static void keyboard_get_key_map(void)
+{
+ /* This is a bit of a hack since BootX requires a get-key-map word.
+ In the future this should be changed to give the actual current
keymap,
+ but since this only effects keyboard input in BootX it isn't a
priority. */
+ PUSH( (ucell)fake_keymap );
+}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openbios.org/pipermail/openbios/attachments/20110810/ca493a3c/attachment.html>
More information about the OpenBIOS
mailing list