ESE Key Daemon 1.2.7 released

New version of ESE Key Daemon was released today.

New features include the ability to handle multiple key combinations and distinguish between key presses and releases. A problem with the handling of the last line in a configuration file when there is no newline on the last line is gone. Numeric keys are now also allowed in the configuration file.

Download: esekeyd-1.2.7.tar.gz (.asc)

MD5: 5937ad6d7815dbc6ab6983411a9f37d4
SHA1: 07671be42b61973a3270aaf1b41c3467568ae7ac

3 thoughts on “ESE Key Daemon 1.2.7 released”

  1. I have just started to use esekey to hibernate my system pushing the webcam button. While doing this I have found a couple of things that would be desirable.

    1- The webcam needs to be open so that the button will work, I’m running this perl script on startup (perl -e “open(FILE, ‘/dev/v4l/by-id/usb-046d_09a1_76A5BF10-video-index0’) || die ‘Cannot open the device\n’;sleep;” &), but having an option to specify this to esekey and have esekey open the device instead of having the perl running around would be great.

    2- Have esekey look at several devices with just one daemon. I have not looked at the code and depending on how it is this can mean to rewrite most of it and can be avoided having several daemons, but having just one daemon monitor several things would be great.

    That’s just my 2¢ nice program, thanks for coding it.


  2. Hello,

    I’ve just tried your esekey on my brand new gentoo-driven macbook air and it worked like a charm! Thank you :-)

    Please note that I fixed a silly bug and make a modification in mkparser.c aimed to recognize the laptops’ LID signal (see the unified patch below for details.)

    In the next days I’ll go on introducing the multiple devices support into esekey. This is for me an indispensable feature to track the various signals which the apple’s hardware scatters around – eg. LID is event0, POWER is event3 and keyboard is event5 in my case. If you like the idea I could provide you with a copy of the resulting patch for reviewing.

    Finally, I’m wondering if you have a development version of esekey; in case, could you tell me where I could fetch it? Actually I’m digging the 1.2.7 from your site.

    Keep up the good work and thanks again.


    diff -ur old//src/mkparser.c new//src/mkparser.c
    — old//src/mkparser.c 2010-07-04 22:23:51.000000000 +0200
    +++ new//src/mkparser.c 2011-11-01 23:32:36.180417554 +0100
    @@ -43,8 +43,7 @@
    while (!feof (fp))
    getline (&buff, &len, fp);
    – sscanf (buff, “#define KEY_%s %i”, name, &value);
    – if (value)
    + if (sscanf (buff, “#define KEY_%s %i”, name, &value) == 2)
    printf (” case %i:\n”, value);
    printf (” return \”%s\”;\n”, name);
    @@ -59,6 +58,31 @@

    printf (“\n }\n\n”);
    printf (” }\n\n”);
    + printf (” if (ev.type == EV_SW) {\n\n”);
    + printf (” switch (ev.code) {\n\n”);
    + fseek(fp, 0, SEEK_SET);
    + while (!feof (fp))
    + {
    + getline (&buff, &len, fp);
    + if (sscanf (buff, “#define SW_%s %i”, name, &value) == 2)
    + {
    + printf (” case %i:\n”, value);
    + printf (” return \”%s\”;\n”, name);
    + value = 0;
    + }
    + }
    + printf (” default:\n”);
    + printf (” if (!ret_val) ret_val = malloc (12);\n”);
    + printf (” sprintf(ret_val, \”KEY_%%d\”, ev.code);\n”);
    + printf (” return ret_val;\n”);
    + printf (“\n }\n\n”);
    + printf (” }\n\n”);
    printf (” return NULL;\n\n”);
    printf (“}\n”);
    printf (“\n”);

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.