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
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [email protected]


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