Re: [Linuxwacom-devel] [PATCH libwacom] Add LED0 and LED1 options for led-controlling buttons

2012-06-06 Thread Bastien Nocera
On Tue, 2012-05-29 at 17:09 -0700, Ping Cheng wrote:
 On Wed, May 23, 2012 at 7:17 PM, Peter Hutterer
 peter.hutte...@who-t.net wrote:
  These two button options specify which button controls which LED bank
  exposed by the kernel.
 
  Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
  ---
  Notably on the Cintiq, the layout of the banks is inverse to what one
  expects (0 is right, 1 is left). That can be fixed in the kernel but
  long-term it's better to rely on a specific flag to tell us.
 
 We may not want to fix it in the kernel. People should not assume 0 is
 for left. All Cintiqs have 0 for right, so far ;). You may mention
 Intuos4. But I4 only has one set of LEDs.
 
  Not sure about the 24HD here - three buttons that control the leds? is this
  correct?
 
 Every LED has its own button.

I would really rather have this fixed in the kernel. We already know
which devices have LEDs, and how many, having them correctly numbered
(or at least in a way that makes sense) in there is what we should do.

Cheers


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel


Re: [Linuxwacom-devel] [PATCH libwacom] Add LED0 and LED1 options for led-controlling buttons

2012-06-06 Thread Ping Cheng
On Wed, Jun 6, 2012 at 8:53 AM, Bastien Nocera had...@hadess.net wrote:
 On Tue, 2012-05-29 at 17:09 -0700, Ping Cheng wrote:
 On Wed, May 23, 2012 at 7:17 PM, Peter Hutterer
 peter.hutte...@who-t.net wrote:
  These two button options specify which button controls which LED bank
  exposed by the kernel.
 
  Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
  ---
  Notably on the Cintiq, the layout of the banks is inverse to what one
  expects (0 is right, 1 is left). That can be fixed in the kernel but
  long-term it's better to rely on a specific flag to tell us.

 We may not want to fix it in the kernel. People should not assume 0 is
 for left. All Cintiqs have 0 for right, so far ;). You may mention
 Intuos4. But I4 only has one set of LEDs.

  Not sure about the 24HD here - three buttons that control the leds? is this
  correct?

 Every LED has its own button.

 I would really rather have this fixed in the kernel. We already know
 which devices have LEDs, and how many, having them correctly numbered
 (or at least in a way that makes sense) in there is what we should do.

Well, kernel driver has already reported them. We just need to map
those BTN_s to UI properly.

linux-input does not distinguish buttons with LEDs from without LEDs.
Button events are reported independently from LED changes in kernel.
This is true for all LED enabled tablets, no matter LEDs are around a
button (I4, I5, and C21UX2), or are embedded in buttons (C24HD). My
suggestion to link button and LED together in xf86-input-wacom was
rejected last year. That pushed LED control outside of drivers. The
benefit for clients is they get the freedom to control LEDs the way
they like.

However, practically, I think we should provide a set of features in
UI that offer users default options to link button(s) to its relevant
LEDs even though, in theory, they are independent.

Ping

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel


Re: [Linuxwacom-devel] [PATCH libwacom] Add LED0 and LED1 options for led-controlling buttons

2012-05-29 Thread Ping Cheng
On Wed, May 23, 2012 at 7:17 PM, Peter Hutterer
peter.hutte...@who-t.net wrote:
 These two button options specify which button controls which LED bank
 exposed by the kernel.

 Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
 ---
 Notably on the Cintiq, the layout of the banks is inverse to what one
 expects (0 is right, 1 is left). That can be fixed in the kernel but
 long-term it's better to rely on a specific flag to tell us.

We may not want to fix it in the kernel. People should not assume 0 is
for left. All Cintiqs have 0 for right, so far ;). You may mention
Intuos4. But I4 only has one set of LEDs.

 Not sure about the 24HD here - three buttons that control the leds? is this
 correct?

Every LED has its own button.

Ping


  data/cintiq-21ux2.tablet     |    3 ++
  data/cintiq-24hd.tablet      |    3 ++
  data/intuos4-12x19.tablet    |    2 ++
  data/intuos4-4x6.tablet      |    2 ++
  data/intuos4-6x9-wl.tablet   |    2 ++
  data/intuos4-6x9.tablet      |    2 ++
  data/intuos4-8x13.tablet     |    2 ++
  data/intuos5-m.tablet        |    2 ++
  data/intuos5-s.tablet        |    2 ++
  data/intuos5-touch-l.tablet  |    2 ++
  data/intuos5-touch-m.tablet  |    2 ++
  data/intuos5-touch-s.tablet  |    2 ++
  data/wacom.example           |    5 
  libwacom/libwacom-database.c |    4 ++-
  libwacom/libwacom.c          |    2 ++
  libwacom/libwacom.h          |    2 ++
  test/tablet-validity.c       |   63 
 ++
  17 files changed, 101 insertions(+), 1 deletion(-)

 diff --git a/data/cintiq-21ux2.tablet b/data/cintiq-21ux2.tablet
 index 6a0b242..a623f27 100644
 --- a/data/cintiq-21ux2.tablet
 +++ b/data/cintiq-21ux2.tablet
 @@ -64,3 +64,6 @@ Right=K;L;M;N;J;O;P;Q;R
  Touchstrip=A
  Touchstrip2=J
  StripsNumModes=4
 +
 +LED0=J
 +LED1=A
 diff --git a/data/cintiq-24hd.tablet b/data/cintiq-24hd.tablet
 index 004ef22..8c5e715 100644
 --- a/data/cintiq-24hd.tablet
 +++ b/data/cintiq-24hd.tablet
 @@ -64,3 +64,6 @@ Right=I;J;K;L;M;N;O;P

  Ring=A;B;C
  Ring2=I;J;K
 +
 +LED0=I;J;K
 +LED1=A;B;C
 diff --git a/data/intuos4-12x19.tablet b/data/intuos4-12x19.tablet
 index 4f066b6..c947ef2 100644
 --- a/data/intuos4-12x19.tablet
 +++ b/data/intuos4-12x19.tablet
 @@ -54,3 +54,5 @@ OLEDs=B;C;D;E;F;G;H;I

  Ring=A
  RingNumModes=4
 +
 +LED0=A
 diff --git a/data/intuos4-4x6.tablet b/data/intuos4-4x6.tablet
 index 36e45d6..e06f08a 100644
 --- a/data/intuos4-4x6.tablet
 +++ b/data/intuos4-4x6.tablet
 @@ -53,3 +53,5 @@ Left=A;B;C;D;E;F;G

  Ring=A
  RingNumModes=4
 +
 +LED0=A
 diff --git a/data/intuos4-6x9-wl.tablet b/data/intuos4-6x9-wl.tablet
 index 90839de..8468f70 100644
 --- a/data/intuos4-6x9-wl.tablet
 +++ b/data/intuos4-6x9-wl.tablet
 @@ -54,3 +54,5 @@ OLEDs=B;C;D;E;F;G;H;I

  Ring=A
  RingNumModes=4
 +
 +LED0=A
 diff --git a/data/intuos4-6x9.tablet b/data/intuos4-6x9.tablet
 index 0d20933..3153a81 100644
 --- a/data/intuos4-6x9.tablet
 +++ b/data/intuos4-6x9.tablet
 @@ -54,3 +54,5 @@ OLEDs=B;C;D;E;F;G;H;I

  Ring=A
  RingNumModes=4
 +
 +LED0=A
 diff --git a/data/intuos4-8x13.tablet b/data/intuos4-8x13.tablet
 index e46e9b4..113a893 100644
 --- a/data/intuos4-8x13.tablet
 +++ b/data/intuos4-8x13.tablet
 @@ -54,3 +54,5 @@ OLEDs=B;C;D;E;F;G;H;I

  Ring=A
  RingNumModes=4
 +
 +LED0=A
 diff --git a/data/intuos5-m.tablet b/data/intuos5-m.tablet
 index ee3b6bb..79cc636 100644
 --- a/data/intuos5-m.tablet
 +++ b/data/intuos5-m.tablet
 @@ -63,3 +63,5 @@ Left=A;B;C;D;E;F;G;H;I

  Ring=A
  RingNumModes=4
 +
 +LED0=A
 diff --git a/data/intuos5-s.tablet b/data/intuos5-s.tablet
 index 665159d..f6ba62e 100644
 --- a/data/intuos5-s.tablet
 +++ b/data/intuos5-s.tablet
 @@ -61,3 +61,5 @@ Left=A;B;C;D;E;F;G

  Ring=A
  RingNumModes=4
 +
 +LED0=A
 diff --git a/data/intuos5-touch-l.tablet b/data/intuos5-touch-l.tablet
 index cbd2685..5c52ecd 100644
 --- a/data/intuos5-touch-l.tablet
 +++ b/data/intuos5-touch-l.tablet
 @@ -63,3 +63,5 @@ Left=A;B;C;D;E;F;G;H;I

  Ring=A
  RingNumModes=4
 +
 +LED0=A
 diff --git a/data/intuos5-touch-m.tablet b/data/intuos5-touch-m.tablet
 index 4cd57a8..3f627e8 100644
 --- a/data/intuos5-touch-m.tablet
 +++ b/data/intuos5-touch-m.tablet
 @@ -63,3 +63,5 @@ Left=A;B;C;D;E;F;G;H;I

  Ring=A
  RingNumModes=4
 +
 +LED0=A
 diff --git a/data/intuos5-touch-s.tablet b/data/intuos5-touch-s.tablet
 index 6e3812e..261ec74 100644
 --- a/data/intuos5-touch-s.tablet
 +++ b/data/intuos5-touch-s.tablet
 @@ -61,3 +61,5 @@ Left=A;B;C;D;E;F;G

  Ring=A
  RingNumModes=4
 +
 +LED0=A
 diff --git a/data/wacom.example b/data/wacom.example
 index 762c360..50ac843 100644
 --- a/data/wacom.example
 +++ b/data/wacom.example
 @@ -144,3 +144,8 @@ Touchstrip2=J
  # We assume the same number of modes for each of the touchstrips
  # if there is more than one
  StripsNumModes=4
 +
 +# Button associated with LED bank 0 or 1, i.e. the that should toggle that
 +# LED bank
 +LED0=A
 +LED1=J
 diff --git a/libwacom/libwacom-database.c b/libwacom/libwacom-database.c
 index 5468975..e5569c9 100644
 

[Linuxwacom-devel] [PATCH libwacom] Add LED0 and LED1 options for led-controlling buttons

2012-05-23 Thread Peter Hutterer
These two button options specify which button controls which LED bank
exposed by the kernel.

Signed-off-by: Peter Hutterer peter.hutte...@who-t.net
---
Notably on the Cintiq, the layout of the banks is inverse to what one
expects (0 is right, 1 is left). That can be fixed in the kernel but
long-term it's better to rely on a specific flag to tell us.

Not sure about the 24HD here - three buttons that control the leds? is this
correct?

 data/cintiq-21ux2.tablet |3 ++
 data/cintiq-24hd.tablet  |3 ++
 data/intuos4-12x19.tablet|2 ++
 data/intuos4-4x6.tablet  |2 ++
 data/intuos4-6x9-wl.tablet   |2 ++
 data/intuos4-6x9.tablet  |2 ++
 data/intuos4-8x13.tablet |2 ++
 data/intuos5-m.tablet|2 ++
 data/intuos5-s.tablet|2 ++
 data/intuos5-touch-l.tablet  |2 ++
 data/intuos5-touch-m.tablet  |2 ++
 data/intuos5-touch-s.tablet  |2 ++
 data/wacom.example   |5 
 libwacom/libwacom-database.c |4 ++-
 libwacom/libwacom.c  |2 ++
 libwacom/libwacom.h  |2 ++
 test/tablet-validity.c   |   63 ++
 17 files changed, 101 insertions(+), 1 deletion(-)

diff --git a/data/cintiq-21ux2.tablet b/data/cintiq-21ux2.tablet
index 6a0b242..a623f27 100644
--- a/data/cintiq-21ux2.tablet
+++ b/data/cintiq-21ux2.tablet
@@ -64,3 +64,6 @@ Right=K;L;M;N;J;O;P;Q;R
 Touchstrip=A
 Touchstrip2=J
 StripsNumModes=4
+
+LED0=J
+LED1=A
diff --git a/data/cintiq-24hd.tablet b/data/cintiq-24hd.tablet
index 004ef22..8c5e715 100644
--- a/data/cintiq-24hd.tablet
+++ b/data/cintiq-24hd.tablet
@@ -64,3 +64,6 @@ Right=I;J;K;L;M;N;O;P
 
 Ring=A;B;C
 Ring2=I;J;K
+
+LED0=I;J;K
+LED1=A;B;C
diff --git a/data/intuos4-12x19.tablet b/data/intuos4-12x19.tablet
index 4f066b6..c947ef2 100644
--- a/data/intuos4-12x19.tablet
+++ b/data/intuos4-12x19.tablet
@@ -54,3 +54,5 @@ OLEDs=B;C;D;E;F;G;H;I
 
 Ring=A
 RingNumModes=4
+
+LED0=A
diff --git a/data/intuos4-4x6.tablet b/data/intuos4-4x6.tablet
index 36e45d6..e06f08a 100644
--- a/data/intuos4-4x6.tablet
+++ b/data/intuos4-4x6.tablet
@@ -53,3 +53,5 @@ Left=A;B;C;D;E;F;G
 
 Ring=A
 RingNumModes=4
+
+LED0=A
diff --git a/data/intuos4-6x9-wl.tablet b/data/intuos4-6x9-wl.tablet
index 90839de..8468f70 100644
--- a/data/intuos4-6x9-wl.tablet
+++ b/data/intuos4-6x9-wl.tablet
@@ -54,3 +54,5 @@ OLEDs=B;C;D;E;F;G;H;I
 
 Ring=A
 RingNumModes=4
+
+LED0=A
diff --git a/data/intuos4-6x9.tablet b/data/intuos4-6x9.tablet
index 0d20933..3153a81 100644
--- a/data/intuos4-6x9.tablet
+++ b/data/intuos4-6x9.tablet
@@ -54,3 +54,5 @@ OLEDs=B;C;D;E;F;G;H;I
 
 Ring=A
 RingNumModes=4
+
+LED0=A
diff --git a/data/intuos4-8x13.tablet b/data/intuos4-8x13.tablet
index e46e9b4..113a893 100644
--- a/data/intuos4-8x13.tablet
+++ b/data/intuos4-8x13.tablet
@@ -54,3 +54,5 @@ OLEDs=B;C;D;E;F;G;H;I
 
 Ring=A
 RingNumModes=4
+
+LED0=A
diff --git a/data/intuos5-m.tablet b/data/intuos5-m.tablet
index ee3b6bb..79cc636 100644
--- a/data/intuos5-m.tablet
+++ b/data/intuos5-m.tablet
@@ -63,3 +63,5 @@ Left=A;B;C;D;E;F;G;H;I
 
 Ring=A
 RingNumModes=4
+
+LED0=A
diff --git a/data/intuos5-s.tablet b/data/intuos5-s.tablet
index 665159d..f6ba62e 100644
--- a/data/intuos5-s.tablet
+++ b/data/intuos5-s.tablet
@@ -61,3 +61,5 @@ Left=A;B;C;D;E;F;G
 
 Ring=A
 RingNumModes=4
+
+LED0=A
diff --git a/data/intuos5-touch-l.tablet b/data/intuos5-touch-l.tablet
index cbd2685..5c52ecd 100644
--- a/data/intuos5-touch-l.tablet
+++ b/data/intuos5-touch-l.tablet
@@ -63,3 +63,5 @@ Left=A;B;C;D;E;F;G;H;I
 
 Ring=A
 RingNumModes=4
+
+LED0=A
diff --git a/data/intuos5-touch-m.tablet b/data/intuos5-touch-m.tablet
index 4cd57a8..3f627e8 100644
--- a/data/intuos5-touch-m.tablet
+++ b/data/intuos5-touch-m.tablet
@@ -63,3 +63,5 @@ Left=A;B;C;D;E;F;G;H;I
 
 Ring=A
 RingNumModes=4
+
+LED0=A
diff --git a/data/intuos5-touch-s.tablet b/data/intuos5-touch-s.tablet
index 6e3812e..261ec74 100644
--- a/data/intuos5-touch-s.tablet
+++ b/data/intuos5-touch-s.tablet
@@ -61,3 +61,5 @@ Left=A;B;C;D;E;F;G
 
 Ring=A
 RingNumModes=4
+
+LED0=A
diff --git a/data/wacom.example b/data/wacom.example
index 762c360..50ac843 100644
--- a/data/wacom.example
+++ b/data/wacom.example
@@ -144,3 +144,8 @@ Touchstrip2=J
 # We assume the same number of modes for each of the touchstrips
 # if there is more than one
 StripsNumModes=4
+
+# Button associated with LED bank 0 or 1, i.e. the that should toggle that
+# LED bank
+LED0=A
+LED1=J
diff --git a/libwacom/libwacom-database.c b/libwacom/libwacom-database.c
index 5468975..e5569c9 100644
--- a/libwacom/libwacom-database.c
+++ b/libwacom/libwacom-database.c
@@ -243,7 +243,9 @@ struct {
{ Ring2, WACOM_BUTTON_RING2_MODESWITCH },
{ Touchstrip, WACOM_BUTTON_TOUCHSTRIP_MODESWITCH },
{ Touchstrip2, WACOM_BUTTON_TOUCHSTRIP2_MODESWITCH },
-   { OLEDs, WACOM_BUTTON_OLED }
+   { OLEDs, WACOM_BUTTON_OLED },
+   { LED0, WACOM_BUTTON_LED0 },
+   { LED1, WACOM_BUTTON_LED1 }
 };
 
 static void
diff