qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 3/3] doc: document the Pseudo-encoding of LED state
  2013-04-19 18:11 [Qemu-devel] [PATCH 0/3 RFC v2] " Lei Li
@ 2013-04-19 18:11 ` Lei Li
  2013-04-22 19:36   ` Anthony Liguori
  0 siblings, 1 reply; 13+ messages in thread
From: Lei Li @ 2013-04-19 18:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: lagarcia, aliguori, Lei Li

Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com>
---
 docs/vnc-ledstate-Pseudo-encoding.txt |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)
 create mode 100644 docs/vnc-ledstate-Pseudo-encoding.txt

diff --git a/docs/vnc-ledstate-Pseudo-encoding.txt b/docs/vnc-ledstate-Pseudo-encoding.txt
new file mode 100644
index 0000000..3f3fd15
--- /dev/null
+++ b/docs/vnc-ledstate-Pseudo-encoding.txt
@@ -0,0 +1,33 @@
+VNC LED state Pseudo-encoding
+=============================
+
+Introduction
+------------
+
+This document describes the Pseudo-encoding of LED state for RFB which
+is the protocol used in VNC as reference link below:
+
+http://tigervnc.svn.sourceforge.net/viewvc/tigervnc/rfbproto/rfbproto.rst?content-type=text/plain
+
+When accessing a guest by console through VNC, there might be mismatch
+between the lock keys notification LED on the computer running the VNC
+client session and the current status of the lock keys on the guest
+machine.
+
+To solve this problem it attempts to add LED state Pseudo-encoding
+extension to VNC protocol to deal with setting LED state.
+
+Example
+-------
+
+The example psuedo-encodings for LED state defined as following:
+
+======= ===============================================================
+Code    Description
+======= ===============================================================
+100     CapsLock is set
+010     NumLock is set
+001     ScrollLock is set
+110     CapsLock and NumLock are set
+111     CapsLock, NumLock and ScrollLock are set
+======= ===============================================================
-- 
1.7.7.6

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [Qemu-devel] [PATCH 3/3] doc: document the Pseudo-encoding of LED state
  2013-04-19 18:11 ` [Qemu-devel] [PATCH 3/3] doc: document the Pseudo-encoding of LED state Lei Li
@ 2013-04-22 19:36   ` Anthony Liguori
  0 siblings, 0 replies; 13+ messages in thread
From: Anthony Liguori @ 2013-04-22 19:36 UTC (permalink / raw)
  To: Lei Li, qemu-devel; +Cc: lagarcia

Lei Li <lilei@linux.vnet.ibm.com> writes:

> Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com>
> ---
>  docs/vnc-ledstate-Pseudo-encoding.txt |   33 +++++++++++++++++++++++++++++++++
>  1 files changed, 33 insertions(+), 0 deletions(-)
>  create mode 100644 docs/vnc-ledstate-Pseudo-encoding.txt
>
> diff --git a/docs/vnc-ledstate-Pseudo-encoding.txt b/docs/vnc-ledstate-Pseudo-encoding.txt
> new file mode 100644
> index 0000000..3f3fd15
> --- /dev/null
> +++ b/docs/vnc-ledstate-Pseudo-encoding.txt
> @@ -0,0 +1,33 @@
> +VNC LED state Pseudo-encoding
> +=============================
> +
> +Introduction
> +------------
> +
> +This document describes the Pseudo-encoding of LED state for RFB which
> +is the protocol used in VNC as reference link below:
> +
> +http://tigervnc.svn.sourceforge.net/viewvc/tigervnc/rfbproto/rfbproto.rst?content-type=text/plain
> +
> +When accessing a guest by console through VNC, there might be mismatch
> +between the lock keys notification LED on the computer running the VNC
> +client session and the current status of the lock keys on the guest
> +machine.
> +
> +To solve this problem it attempts to add LED state Pseudo-encoding
> +extension to VNC protocol to deal with setting LED state.
> +
> +Example
> +-------
> +
> +The example psuedo-encodings for LED state defined as following:
> +
> +======= ===============================================================
> +Code    Description
> +======= ===============================================================
> +100     CapsLock is set
> +010     NumLock is set
> +001     ScrollLock is set
> +110     CapsLock and NumLock are set
> +111     CapsLock, NumLock and ScrollLock are set
> +=======
> ===============================================================

You can just describe that each bit represents the Caps, Num, and Scroll
lock key respectively and that '1' indicates that the LED should be on
and '0' should be off.

You should also list the psuedo-encoding number somewhere in this document.

Regards,

Anthony Liguori

> -- 
> 1.7.7.6

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Qemu-devel] [PATCH 0/3 v3] Support for LED state extension to Qemu VNC server
@ 2013-04-24 10:12 Lei Li
  2013-04-24 10:12 ` [Qemu-devel] [PATCH 1/3] vnc: Add SCROLL lock key to kbd_leds Lei Li
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Lei Li @ 2013-04-24 10:12 UTC (permalink / raw)
  To: qemu-devel; +Cc: lagarcia, aliguori, Lei Li

Hi guys,

This patch series tries to add support for LED state
extension to Qemu VNC server. The proposal has been sent
few days ago as link below:

http://lists.gnu.org/archive/html/qemu-devel/2013-04/msg01421.html

The previous version as link:

http://lists.gnu.org/archive/html/qemu-devel/2013-04/msg03988.html

Pleae let me know if there is anything else need be improved.

Thanks!


Changes since v2:
  - Address the comments from Anthony includes:
    - Just send 1 instead of the actual width and height.
    - Improve the document by adding the Pseudo-encoding number
      and simplify the description of the LED state encoding.

Changes since v1:
  - Address the comments from Anthony includes:
    - Use Pseudo-encoding for led state;
    - Get rid of send_ext_leds_state_ack;
    - Add document for the led state Pseudo-encoding.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Qemu-devel] [PATCH 1/3] vnc: Add SCROLL lock key to kbd_leds
  2013-04-24 10:12 [Qemu-devel] [PATCH 0/3 v3] Support for LED state extension to Qemu VNC server Lei Li
@ 2013-04-24 10:12 ` Lei Li
  2013-04-24 10:12 ` [Qemu-devel] [PATCH 2/3] vnc: Support for LED state extension Lei Li
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 13+ messages in thread
From: Lei Li @ 2013-04-24 10:12 UTC (permalink / raw)
  To: qemu-devel; +Cc: lagarcia, aliguori, Lei Li

Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com>
---
 ui/vnc.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/ui/vnc.c b/ui/vnc.c
index 8ee66b7..f574962 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -1525,10 +1525,11 @@ static void press_key(VncState *vs, int keysym)
 static void kbd_leds(void *opaque, int ledstate)
 {
     VncState *vs = opaque;
-    int caps, num;
+    int caps, num, scr;
 
     caps = ledstate & QEMU_CAPS_LOCK_LED ? 1 : 0;
     num  = ledstate & QEMU_NUM_LOCK_LED  ? 1 : 0;
+    scr  = ledstate & QEMU_SCROLL_LOCK_LED ? 1 : 0;
 
     if (vs->modifiers_state[0x3a] != caps) {
         vs->modifiers_state[0x3a] = caps;
@@ -1536,6 +1537,9 @@ static void kbd_leds(void *opaque, int ledstate)
     if (vs->modifiers_state[0x45] != num) {
         vs->modifiers_state[0x45] = num;
     }
+    if (vs->modifiers_state[0x46] != scr) {
+        vs->modifiers_state[0x46] = scr;
+    }
 }
 
 static void do_key_event(VncState *vs, int down, int keycode, int sym)
-- 
1.7.7.6

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Qemu-devel] [PATCH 2/3] vnc: Support for LED state extension
  2013-04-24 10:12 [Qemu-devel] [PATCH 0/3 v3] Support for LED state extension to Qemu VNC server Lei Li
  2013-04-24 10:12 ` [Qemu-devel] [PATCH 1/3] vnc: Add SCROLL lock key to kbd_leds Lei Li
@ 2013-04-24 10:12 ` Lei Li
  2013-04-24 11:44   ` Gerd Hoffmann
  2013-04-24 10:12 ` [Qemu-devel] [PATCH 3/3] doc: document the Pseudo-encoding of LED state Lei Li
  2013-04-24 14:54 ` [Qemu-devel] [PATCH 0/3 v3] Support for LED state extension to Qemu VNC server Eric Blake
  3 siblings, 1 reply; 13+ messages in thread
From: Lei Li @ 2013-04-24 10:12 UTC (permalink / raw)
  To: qemu-devel; +Cc: lagarcia, aliguori, Lei Li

Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com>
---
 ui/vnc.c |   45 +++++++++++++++++++++++++++++++++++++++++++++
 ui/vnc.h |    4 +++-
 2 files changed, 48 insertions(+), 1 deletions(-)

diff --git a/ui/vnc.c b/ui/vnc.c
index f574962..44189d7 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -1522,6 +1522,42 @@ static void press_key(VncState *vs, int keysym)
     kbd_put_keycode(keycode | SCANCODE_UP);
 }
 
+static int current_led_state(VncState *vs)
+{
+    int ledstate = 0;
+
+    if (vs->modifiers_state[0x46]) {
+        ledstate |= QEMU_SCROLL_LOCK_LED;
+    }
+    if (vs->modifiers_state[0x45]) {
+        ledstate |= QEMU_NUM_LOCK_LED;
+    }
+    if (vs->modifiers_state[0x3a]) {
+        ledstate |= QEMU_CAPS_LOCK_LED;
+    }
+
+    return ledstate;
+}
+
+static void vnc_led_state_change(VncState *vs)
+{
+    int ledstate = 0;
+
+    if (!vnc_has_feature(vs, VNC_FEATURE_LED_STATE)) {
+        return;
+    }
+
+    ledstate = current_led_state(vs);
+    vnc_lock_output(vs);
+    vnc_write_u8(vs, VNC_MSG_SERVER_FRAMEBUFFER_UPDATE);
+    vnc_write_u8(vs, 0);
+    vnc_write_u16(vs, 1);
+    vnc_framebuffer_update(vs, 0, 0, 1, 1, VNC_ENCODING_LED_STATE);
+    vnc_write_u8(vs, ledstate);
+    vnc_unlock_output(vs);
+    vnc_flush(vs);
+}
+
 static void kbd_leds(void *opaque, int ledstate)
 {
     VncState *vs = opaque;
@@ -1540,6 +1576,11 @@ static void kbd_leds(void *opaque, int ledstate)
     if (vs->modifiers_state[0x46] != scr) {
         vs->modifiers_state[0x46] = scr;
     }
+
+    /* Sending the current led state message to the client */
+    if (ledstate != current_led_state(vs)) {
+        vnc_led_state_change(vs);
+    }
 }
 
 static void do_key_event(VncState *vs, int down, int keycode, int sym)
@@ -1893,6 +1934,9 @@ static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings)
         case VNC_ENCODING_WMVi:
             vs->features |= VNC_FEATURE_WMVI_MASK;
             break;
+        case VNC_ENCODING_LED_STATE:
+            vs->features |= VNC_FEATURE_LED_STATE_MASK;
+            break;
         case VNC_ENCODING_COMPRESSLEVEL0 ... VNC_ENCODING_COMPRESSLEVEL0 + 9:
             vs->tight.compression = (enc & 0x0F);
             break;
@@ -1908,6 +1952,7 @@ static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings)
     }
     vnc_desktop_resize(vs);
     check_pointer_type_change(&vs->mouse_mode_notifier, NULL);
+    vnc_led_state_change(vs);
 }
 
 static void set_pixel_conversion(VncState *vs)
diff --git a/ui/vnc.h b/ui/vnc.h
index ad1dec2..e873377 100644
--- a/ui/vnc.h
+++ b/ui/vnc.h
@@ -384,6 +384,7 @@ enum {
 #define VNC_ENCODING_EXT_KEY_EVENT        0XFFFFFEFE /* -258 */
 #define VNC_ENCODING_AUDIO                0XFFFFFEFD /* -259 */
 #define VNC_ENCODING_TIGHT_PNG            0xFFFFFEFC /* -260 */
+#define VNC_ENCODING_LED_STATE            0XFFFFFEFB /* -261 */
 #define VNC_ENCODING_WMVi                 0x574D5669
 
 /*****************************************************************************
@@ -422,6 +423,7 @@ enum {
 #define VNC_FEATURE_TIGHT_PNG                8
 #define VNC_FEATURE_ZRLE                     9
 #define VNC_FEATURE_ZYWRLE                  10
+#define VNC_FEATURE_LED_STATE               11
 
 #define VNC_FEATURE_RESIZE_MASK              (1 << VNC_FEATURE_RESIZE)
 #define VNC_FEATURE_HEXTILE_MASK             (1 << VNC_FEATURE_HEXTILE)
@@ -434,7 +436,7 @@ enum {
 #define VNC_FEATURE_TIGHT_PNG_MASK           (1 << VNC_FEATURE_TIGHT_PNG)
 #define VNC_FEATURE_ZRLE_MASK                (1 << VNC_FEATURE_ZRLE)
 #define VNC_FEATURE_ZYWRLE_MASK              (1 << VNC_FEATURE_ZYWRLE)
-
+#define VNC_FEATURE_LED_STATE_MASK           (1 << VNC_FEATURE_LED_STATE)
 
 /* Client -> Server message IDs */
 #define VNC_MSG_CLIENT_SET_PIXEL_FORMAT           0
-- 
1.7.7.6

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Qemu-devel] [PATCH 3/3] doc: document the Pseudo-encoding of LED state
  2013-04-24 10:12 [Qemu-devel] [PATCH 0/3 v3] Support for LED state extension to Qemu VNC server Lei Li
  2013-04-24 10:12 ` [Qemu-devel] [PATCH 1/3] vnc: Add SCROLL lock key to kbd_leds Lei Li
  2013-04-24 10:12 ` [Qemu-devel] [PATCH 2/3] vnc: Support for LED state extension Lei Li
@ 2013-04-24 10:12 ` Lei Li
  2013-04-24 14:57   ` Eric Blake
  2013-04-24 14:54 ` [Qemu-devel] [PATCH 0/3 v3] Support for LED state extension to Qemu VNC server Eric Blake
  3 siblings, 1 reply; 13+ messages in thread
From: Lei Li @ 2013-04-24 10:12 UTC (permalink / raw)
  To: qemu-devel; +Cc: lagarcia, aliguori, Lei Li

Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com>
---
 docs/vnc-ledstate-Pseudo-encoding.txt |   40 +++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)
 create mode 100644 docs/vnc-ledstate-Pseudo-encoding.txt

diff --git a/docs/vnc-ledstate-Pseudo-encoding.txt b/docs/vnc-ledstate-Pseudo-encoding.txt
new file mode 100644
index 0000000..0c312cf
--- /dev/null
+++ b/docs/vnc-ledstate-Pseudo-encoding.txt
@@ -0,0 +1,40 @@
+VNC LED state Pseudo-encoding
+=============================
+
+Introduction
+------------
+
+This document describes the Pseudo-encoding of LED state for RFB which
+is the protocol used in VNC as reference link below:
+
+http://tigervnc.svn.sourceforge.net/viewvc/tigervnc/rfbproto/rfbproto.rst?content-type=text/plain
+
+When accessing a guest by console through VNC, there might be mismatch
+between the lock keys notification LED on the computer running the VNC
+client session and the current status of the lock keys on the guest
+machine.
+
+To solve this problem it attempts to add LED state Pseudo-encoding
+extension to VNC protocol to deal with setting LED state.
+
+Pseudo-encoding
+---------------
+
+This Pseudo-encoding requested by client declares to server that it supports
+LED state extensions to the protocol.
+
+The Pseudo-encoding number for LED state defined as:
+
+======= ===============================================================
+Number  Name
+======= ===============================================================
+-261    'LED state Pseudo-encoding'_
+======= ===============================================================
+
+LED state Pseudo-enconding
+--------------------------
+
+The LED state Pseudo-encoding describes the encoding of LED state which
+consists of 3 bits, each bit represents the Caps, Num, and Scroll lock
+key respectively. '1' indicates that the LED should be on and '0' should
+be off.
-- 
1.7.7.6

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [Qemu-devel] [PATCH 2/3] vnc: Support for LED state extension
  2013-04-24 10:12 ` [Qemu-devel] [PATCH 2/3] vnc: Support for LED state extension Lei Li
@ 2013-04-24 11:44   ` Gerd Hoffmann
  2013-04-25  3:53     ` Lei Li
  0 siblings, 1 reply; 13+ messages in thread
From: Gerd Hoffmann @ 2013-04-24 11:44 UTC (permalink / raw)
  To: Lei Li; +Cc: lagarcia, aliguori, qemu-devel

  Hi,

> +        case VNC_ENCODING_LED_STATE:
> +            vs->features |= VNC_FEATURE_LED_STATE_MASK;
> +            break;

I think it with the client supporting the led state extension it is
probably a good idea to turn off the lock state sync logic in qemu's vnc
server, i.e. add a "!(vs->features & VNC_FEATURE_LED_STATE_MASK)" check
next to the lock_key_sync checks in do_key_event().

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Qemu-devel] [PATCH 0/3 v3] Support for LED state extension to Qemu VNC server
  2013-04-24 10:12 [Qemu-devel] [PATCH 0/3 v3] Support for LED state extension to Qemu VNC server Lei Li
                   ` (2 preceding siblings ...)
  2013-04-24 10:12 ` [Qemu-devel] [PATCH 3/3] doc: document the Pseudo-encoding of LED state Lei Li
@ 2013-04-24 14:54 ` Eric Blake
  2013-04-25  2:10   ` Lei Li
  3 siblings, 1 reply; 13+ messages in thread
From: Eric Blake @ 2013-04-24 14:54 UTC (permalink / raw)
  To: Lei Li; +Cc: lagarcia, aliguori, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1296 bytes --]

On 04/24/2013 04:12 AM, Lei Li wrote:
> Hi guys,
> 
> This patch series tries to add support for LED state
> extension to Qemu VNC server. The proposal has been sent
> few days ago as link below:
> 
> http://lists.gnu.org/archive/html/qemu-devel/2013-04/msg01421.html
> 
> The previous version as link:
> 
> http://lists.gnu.org/archive/html/qemu-devel/2013-04/msg03988.html
> 
> Pleae let me know if there is anything else need be improved.

Can you fix your setup to include a series diffstat in your cover
letter?  I know that 'git send-email --cover-letter --annotate' does
this; but I also know that's not the workflow everyone uses.  I just
updated http://wiki.qemu.org/Contribute/SubmitAPatch to mention that a
cover letter diffstat is a useful review aid (I'd much rather check a
0/n letter to see what files are touched in summary, rather than opening
n emails just to see if it touches any file I care about).  I guess that
means I'm asking for a bit of help in further updating the wiki to
mention how to have git reliably include a cover letter diffstat, since
asking for something without giving a recipe of how to accomplish it
isn't very nice.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Qemu-devel] [PATCH 3/3] doc: document the Pseudo-encoding of LED state
  2013-04-24 10:12 ` [Qemu-devel] [PATCH 3/3] doc: document the Pseudo-encoding of LED state Lei Li
@ 2013-04-24 14:57   ` Eric Blake
  2013-04-25  2:25     ` Lei Li
  0 siblings, 1 reply; 13+ messages in thread
From: Eric Blake @ 2013-04-24 14:57 UTC (permalink / raw)
  To: Lei Li; +Cc: lagarcia, aliguori, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1191 bytes --]

On 04/24/2013 04:12 AM, Lei Li wrote:
> Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com>
> ---
>  docs/vnc-ledstate-Pseudo-encoding.txt |   40 +++++++++++++++++++++++++++++++++
>  1 files changed, 40 insertions(+), 0 deletions(-)
>  create mode 100644 docs/vnc-ledstate-Pseudo-encoding.txt
> 
> +
> +The Pseudo-encoding number for LED state defined as:
> +
> +======= ===============================================================
> +Number  Name
> +======= ===============================================================
> +-261    'LED state Pseudo-encoding'_

Is the trailing _ intentional?

> +======= ===============================================================
> +
> +LED state Pseudo-enconding

s/enconding/encoding/

> +--------------------------
> +
> +The LED state Pseudo-encoding describes the encoding of LED state which
> +consists of 3 bits, each bit represents the Caps, Num, and Scroll lock
> +key respectively. '1' indicates that the LED should be on and '0' should
> +be off.

Which bit is which?  Is bit 0 the Caps lock LED?

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Qemu-devel] [PATCH 0/3 v3] Support for LED state extension to Qemu VNC server
  2013-04-24 14:54 ` [Qemu-devel] [PATCH 0/3 v3] Support for LED state extension to Qemu VNC server Eric Blake
@ 2013-04-25  2:10   ` Lei Li
  0 siblings, 0 replies; 13+ messages in thread
From: Lei Li @ 2013-04-25  2:10 UTC (permalink / raw)
  To: Eric Blake; +Cc: lagarcia, aliguori, qemu-devel

On 04/24/2013 10:54 PM, Eric Blake wrote:
> On 04/24/2013 04:12 AM, Lei Li wrote:
>> Hi guys,
>>
>> This patch series tries to add support for LED state
>> extension to Qemu VNC server. The proposal has been sent
>> few days ago as link below:
>>
>> http://lists.gnu.org/archive/html/qemu-devel/2013-04/msg01421.html
>>
>> The previous version as link:
>>
>> http://lists.gnu.org/archive/html/qemu-devel/2013-04/msg03988.html
>>
>> Pleae let me know if there is anything else need be improved.
> Can you fix your setup to include a series diffstat in your cover
> letter?  I know that 'git send-email --cover-letter --annotate' does
> this; but I also know that's not the workflow everyone uses.  I just
> updated http://wiki.qemu.org/Contribute/SubmitAPatch to mention that a
> cover letter diffstat is a useful review aid (I'd much rather check a
> 0/n letter to see what files are touched in summary, rather than opening
> n emails just to see if it touches any file I care about).  I guess that
> means I'm asking for a bit of help in further updating the wiki to
> mention how to have git reliably include a cover letter diffstat, since
> asking for something without giving a recipe of how to accomplish it
> isn't very nice.

Hi Eric,

Sure, I will include the series diffstat.
Thanks for your good suggestion!

>


-- 
Lei

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Qemu-devel] [PATCH 3/3] doc: document the Pseudo-encoding of LED state
  2013-04-24 14:57   ` Eric Blake
@ 2013-04-25  2:25     ` Lei Li
  2013-04-25  2:56       ` Eric Blake
  0 siblings, 1 reply; 13+ messages in thread
From: Lei Li @ 2013-04-25  2:25 UTC (permalink / raw)
  To: Eric Blake; +Cc: lagarcia, aliguori, qemu-devel

On 04/24/2013 10:57 PM, Eric Blake wrote:
> On 04/24/2013 04:12 AM, Lei Li wrote:
>> Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com>
>> ---
>>   docs/vnc-ledstate-Pseudo-encoding.txt |   40 +++++++++++++++++++++++++++++++++
>>   1 files changed, 40 insertions(+), 0 deletions(-)
>>   create mode 100644 docs/vnc-ledstate-Pseudo-encoding.txt
>>
>> +
>> +The Pseudo-encoding number for LED state defined as:
>> +
>> +======= ===============================================================
>> +Number  Name
>> +======= ===============================================================
>> +-261    'LED state Pseudo-encoding'_
> Is the trailing _ intentional?

Yes, add this trailing '_' to indicate that this is a quoted context and you can
locate its section somewhere.
I saw this style used in RFB protocol, but it's not necessary. I'd get rid of it
if you don't like it. :)

>
>> +======= ===============================================================
>> +
>> +LED state Pseudo-enconding
> s/enconding/encoding/

Sure.

>> +--------------------------
>> +
>> +The LED state Pseudo-encoding describes the encoding of LED state which
>> +consists of 3 bits, each bit represents the Caps, Num, and Scroll lock
>> +key respectively. '1' indicates that the LED should be on and '0' should
>> +be off.
> Which bit is which?  Is bit 0 the Caps lock LED?

Caps lock key is represented as '100', and Scroll lock key is represented as '001'.
Sorry, I should describe it more clearly.
Or maybe I should include the example of the encodings defined?

>


-- 
Lei

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Qemu-devel] [PATCH 3/3] doc: document the Pseudo-encoding of LED state
  2013-04-25  2:25     ` Lei Li
@ 2013-04-25  2:56       ` Eric Blake
  0 siblings, 0 replies; 13+ messages in thread
From: Eric Blake @ 2013-04-25  2:56 UTC (permalink / raw)
  To: Lei Li; +Cc: lagarcia, aliguori, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1791 bytes --]

On 04/24/2013 08:25 PM, Lei Li wrote:
> On 04/24/2013 10:57 PM, Eric Blake wrote:
>> On 04/24/2013 04:12 AM, Lei Li wrote:
>>> Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com>
>>> ---
>>>   docs/vnc-ledstate-Pseudo-encoding.txt |   40
>>> +++++++++++++++++++++++++++++++++
>>>   1 files changed, 40 insertions(+), 0 deletions(-)
>>>   create mode 100644 docs/vnc-ledstate-Pseudo-encoding.txt
>>>
>>> +
>>> +The Pseudo-encoding number for LED state defined as:
>>> +
>>> +======= ===============================================================
>>> +Number  Name
>>> +======= ===============================================================
>>> +-261    'LED state Pseudo-encoding'_
>> Is the trailing _ intentional?
> 
> Yes, add this trailing '_' to indicate that this is a quoted context and
> you can
> locate its section somewhere.
> I saw this style used in RFB protocol, but it's not necessary. I'd get
> rid of it
> if you don't like it. :)

I didn't read the RFB protocol; if you are being consistent with a
parent document that you are extending, then by all means use the same
conventions.

>> Which bit is which?  Is bit 0 the Caps lock LED?
> 
> Caps lock key is represented as '100', and Scroll lock key is
> represented as '001'.
> Sorry, I should describe it more clearly.

Yep, especially since your choice of encoding was opposite to mine.  A
good protocol should be easy to implement.  I don't care which order the
bits go in, as long as everyone treats the same bit as caps lock based
on good docs.

> Or maybe I should include the example of the encodings defined?

In my opinion, adding an example will never hurt :)

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Qemu-devel] [PATCH 2/3] vnc: Support for LED state extension
  2013-04-24 11:44   ` Gerd Hoffmann
@ 2013-04-25  3:53     ` Lei Li
  0 siblings, 0 replies; 13+ messages in thread
From: Lei Li @ 2013-04-25  3:53 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: lagarcia, aliguori, qemu-devel

On 04/24/2013 07:44 PM, Gerd Hoffmann wrote:
>    Hi,
>
>> +        case VNC_ENCODING_LED_STATE:
>> +            vs->features |= VNC_FEATURE_LED_STATE_MASK;
>> +            break;
> I think it with the client supporting the led state extension it is
> probably a good idea to turn off the lock state sync logic in qemu's vnc
> server, i.e. add a "!(vs->features & VNC_FEATURE_LED_STATE_MASK)" check
> next to the lock_key_sync checks in do_key_event().
>
> cheers,
>    Gerd

Hi Gerd,

Yes, I think it's a good idea.
Thanks!

>


-- 
Lei

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2013-04-25  3:54 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-24 10:12 [Qemu-devel] [PATCH 0/3 v3] Support for LED state extension to Qemu VNC server Lei Li
2013-04-24 10:12 ` [Qemu-devel] [PATCH 1/3] vnc: Add SCROLL lock key to kbd_leds Lei Li
2013-04-24 10:12 ` [Qemu-devel] [PATCH 2/3] vnc: Support for LED state extension Lei Li
2013-04-24 11:44   ` Gerd Hoffmann
2013-04-25  3:53     ` Lei Li
2013-04-24 10:12 ` [Qemu-devel] [PATCH 3/3] doc: document the Pseudo-encoding of LED state Lei Li
2013-04-24 14:57   ` Eric Blake
2013-04-25  2:25     ` Lei Li
2013-04-25  2:56       ` Eric Blake
2013-04-24 14:54 ` [Qemu-devel] [PATCH 0/3 v3] Support for LED state extension to Qemu VNC server Eric Blake
2013-04-25  2:10   ` Lei Li
  -- strict thread matches above, loose matches on Subject: below --
2013-04-19 18:11 [Qemu-devel] [PATCH 0/3 RFC v2] " Lei Li
2013-04-19 18:11 ` [Qemu-devel] [PATCH 3/3] doc: document the Pseudo-encoding of LED state Lei Li
2013-04-22 19:36   ` Anthony Liguori

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).