[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
getting status of frontkeys
From: |
Joachim Mammele |
Subject: |
getting status of frontkeys |
Date: |
Fri, 16 Mar 2012 10:12:45 +0100 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 |
Hi everybody,
I wrote a mail to this list some time ago wondering if it might be
possible to get the status of some frontkeys of a tablet.
Vladimir answered me and mentioned that Grub Legacy wouldn't be
supported any more. Would it be possible then with Grub2 instead?
Vladimir answered aswell the following:
> bits9 = system("readFrontKey");
You can't use usual syscalls inside bootloader. GRUB2 has its own API
which is somewhat posix-like but has no such things as "system", pipes
or forks, and normally there shouldn't be any need.
I had a look at this page:
http://www.gnu.org/software/grub/manual/grub.html#Command_002dline-and-menu-entry-commands
So I'm wondering if there might be any way to select the system to boot
depending on which key is pressed?
Greetings
Joachiim
Here my old mail:
----
Hi everybody,
I have got a tablet with special frontkeys and I would like to install
and adapt android on it. This works fine with the project android-x86.org
On grub I would like to select the bootitems with the frontkeys.
The frontkeys can be read with the following code (this is working,
file named readFrontKey.c).
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/io.h>
int main()
{
unsigned char bits8, bits9, bits0, bitsA, bitsB, bitsC, bitsD,
bitsE, bits;
if(ioperm(0x208, 8, 1) < 0) {
perror("0x208");
return 1;
}
bits = 32;
outb(bits, 0x20A);
outw(-16832, 0x20C);
bits9 = inb(0x209);
return bits9;
}
But when I add the following code to external/grub/stage2/stage2.c I get an
"undefined reference to `system' " error message:
The code I added to stage2.c (at roundabout line 391) is
bits9 = system("readFrontKey");
if (bits9 == 64)
entryno = 1;
if (bits9 == 32)
entryno = 2;
if (bits9 == 16)
entryno = 3;
goto boot_entry;
/* Check for a keypress, however if TIMEOUT has been expired
(GRUB_TIMEOUT == -1) relax in GETKEY even if no key has been
pressed.
stage2.c has stdlib.h included.
I added the program readfrontkey.c to Makefile.am and also adapted
Makefile.in
Any help woud be apreciated
Joachim Mammele
P.S. The repository that I use can be found here:
http://android-x86.git.sourceforge.net/git/gitweb.cgi?p=android-x86/korg_external_grub.git;a=summary
_______________________________________________
Grub-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/grub-devel
- getting status of frontkeys,
Joachim Mammele <=