I have no idea why it does like that. It is a cheap laptop (Lenovo G460) 
that I bought when my Thinkpad broke down. The only thing somewhat 
likable about this cheap beast is its keyboard.

On 04/22/2012 01:47 PM, Carsten Haitzler (The Rasterman) wrote:
> On Mon, 09 Apr 2012 00:31:59 +0800 P Purkayastha<[email protected]>  said:
>
> well pretty simple. all the acpid's i see produce events like this:
>
> button/lid LID0 00000080 00000001
> button/lid LID0 00000080 00000002
> button/lid LID0 00000080 00000003
> button/lid LID0 00000080 00000004
>
> 2 strings, then 2 hex numbers. yours does not. it provides 3 strings. why? 
> this
> is nothing i've seen before, and i guess not supported in e. what kind of odd
> os setup do u have?
>
>> On 04/07/2012 10:46 AM, P Purkayastha wrote:
>>> Hi,
>>>
>>> In the "Hardware Configuration" dialog, I am unable to get e to bind to
>>> the "button/lid" acpi event. acpi_listen correctly displays that the
>>> event has been generated.
>>>
>>> I tried the sleep button, and the configuration dialog is able to detect
>>> that. So, it seems that e fails to detect the button/lid specifically.
>>>
>>> I know that the default profile comes with this option preconfigured.
>>> However, my config is quite old and heavily modified from the defaults,
>>> and I don't want to have to reconfigure everything (because I will
>>> inevitably forget to configure something).
>>
>> Investigating this a bit further, it seems the event never gets caught.
>> I have the following log from gdb. From file src/bin/e_acpi.c
>> _e_acpi_cb_server_data, line 207 onwards.
>>
>> (gdb) p str
>> $6 = 0x7ff9b4225db0 "button/lid LID close\n"<----- It gets the event.
>> (gdb) p p
>> $7 = 0x7ff9b4225dc4 "\n"
>> (gdb) s
>> 207             sdata = alloca(p - str + 1);
>> (gdb) p sdata
>> $8 =<optimized out>
>> (gdb) s
>> 208             strncpy(sdata, str, (int)(p - str));
>> (gdb) p sdata
>> $9 =<optimized out>
>> (gdb) s
>> 207             sdata = alloca(p - str + 1);
>> (gdb) s
>> 121       return __builtin___strncpy_chk (__dest, __src, __len, __bos
>> (__dest));
>> (gdb) s
>> 207             sdata = alloca(p - str + 1);
>> (gdb) s
>> 121       return __builtin___strncpy_chk (__dest, __src, __len, __bos
>> (__dest));
>> (gdb) s
>> 209             sdata[p - str] = 0;
>> (gdb) s
>> 211             if (sscanf(sdata, "%1023s %1023s %x %x",
>> (gdb) s
>> 209             sdata[p - str] = 0;
>> (gdb) s
>> 211             if (sscanf(sdata, "%1023s %1023s %x %x",
>> (gdb) s
>> 274             str = p + 1;<------------ sscanf() above failed.
>> (gdb) p device
>> $14 =
>> "button/lid\000\000\377\177\000\000(0\222.\377\177\000\001\260X\034\002\000
>> \000\000\000`H\034\002\000\000\000\000\224H\034\002\000\000\000\000\001\002
>> \060~\000\000\000\000 H\034\002\000\000\000\000\360X\034\002\000\000\000\000
>> \000\000\264\371\177\000\000 H\034\002\000\000\000\000\330\060\222.\377\177
>> \000\000\340\302\027\264\371\177\000\000\300\060\222.\377\177\000\000\330\060
>> \222.\377\177\000\000\376.Mb8\000\000\000\060~\004\000\000\000\000\000(\000
>> \000\000\000\000\000\000p0\222.\377\177\000\000Y\371\237.\377\177\000\000\240
>> \060\222.\377\177\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000
>> \000\000\000\340\062\222.\377\177\000\000\240\060\222.\377\177\000\000\063H@a8
>> \000\000\000H\256bm?\000\000\000\377\377\377\377\000\000\000\000\001\000\000
>> \000\000\000\000\000v\374@m?\000\000\000\360\060\222.\377"... (gdb) p bus $15
>> = "LID\000\000\000\000\000\000\b\000\000\000\000\000\000\030\000\000\000\000
>> \000\000\000\260R\204\264\371\177", '\000'<repeats 14 times>, "\027\000\000
>> \000\220\000\000\000\000\000\000\000\060\376E\002\000\000\000\000\060\376E\002
>> \000\000\000\000\200\000\000\000\000\000\000\000\377\357\377\377\371\177\000
>> \000\377/\000\000\000\000\000\000\376\037\000\000\377\377\027\000\210\000\000
>> \000\000\000\000\000\340\rs\002\000\000\000\000\004\376\377\377\377\377\377
>> \377\000\000\000\000\000\000\000\000\000\376\377\377\377\377\377\377\377\357
>> \377\377\000\000\000\000`", '\000'<repeats 16 times>, "\002\000\000\000\000
>> \000\000\300)\222.\377\177\000\000\001\020\000\000\000\000\000\000P*\222.\377
>> \177\000\000\060+\222.\377\177\000\000p\000\211n?\000\000\000P)\222.\377\177
>> \000\000\304\314Y\305\371\177\000\000 \000\000\000?\000\000\000\001\020\000
>> \000\377\177\000\000\000\000\000\000\000\000\000\001", '\000'<repeats 12
>> times>...
>>
>> Any idea what is going on?
>>
>> ------------------------------------------------------------------------------
>> For Developers, A Lot Can Happen In A Second.
>> Boundary is the first to Know...and Tell You.
>> Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
>> http://p.sf.net/sfu/Boundary-d2dvs2
>> _______________________________________________
>> enlightenment-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-users
>>
>
>


------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
enlightenment-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to