[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:

So I'm wondering if there might be any way to select the system to boot depending on which key is pressed?


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

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) {
        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

stage2.c has stdlib.h included.

I added the program readfrontkey.c to and also adapted
Any help woud be apreciated
Joachim Mammele

P.S. The repository that I use can be found here:;a=summary

Grub-devel mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]