[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Scripting and keystrokes
From: |
Serbinenko Vladimir |
Subject: |
Scripting and keystrokes |
Date: |
Sun, 12 Jun 2005 10:54:25 +0200 |
User-agent: |
Mozilla Thunderbird 1.0.2-1.3.2 (X11/20050324) |
Hello all. I'm back. I wrote nothing last time because I was quite busy.
2 themes I'd like to speak of:
1) Scripting: how make it: three possibilities
a) Hand written
b) Bison with 2 branches: one executes directly and other saves the
commands that are for later execution
**UGLY**
c) Convert with bison to the structure like
enum grub_script_cmd_type
{GRUB_SCRIPT_CMD_TYPE_COMMAND,GRUB_SCRIPT_CMD_TYPE_FOR_IN, <...>};
struct grub_script_for_in
{
char *var;
char **list;
grub_script_cmd *loop_begin;
grub_script_cmd *skip_loop;
}
struct grub_script_cmd
{
grub_script_cmd_type type;
union
{
char *command;
grub_script_for_in for_in;
<...>
}
}
*GOOD SOLUTION IMHO*
Which scripting: I propose to make bash-like scripting and make it so
close as possible to bash
2) Keystrokes: emulation of keypress: just write keys in buffer before
booting. I propose to add array of functions grub_preboot that will be
launched between grub_machine_fini and grub_loader_boot_func and
functions grub_add_preboot and grub_remove_preboot
And command syntax like:
keystroke [<first key> [<second key> [...]]]
Example
keystroke h e l l o
Space is needed because some keys can't be written with one symbol like:
F1, insert, ...
ex:
keystroke F8 down enter
I'm ready to write both scripting and keystroke.
Vladimir
Serbinenko