Bug 815702 - RFE: generate man pages to describe valid keycodes
RFE: generate man pages to describe valid keycodes
Status: VERIFIED
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt (Show other bugs)
7.0
Unspecified Unspecified
unspecified Severity unspecified
: rc
: 7.1
Assigned To: Daniel Berrange
Lili Zhu
: FutureFeature, ManPageChange
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-24 06:11 EDT by Daniel Berrange
Modified: 2017-12-03 21:36 EST (History)
11 users (show)

See Also:
Fixed In Version: libvirt-3.7.0-1.el7
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Comment 3 Gunannan Ren 2012-09-07 09:57:38 EDT
patch sent to upstream
https://www.redhat.com/archives/libvir-list/2012-September/msg00454.html
Comment 10 Daniel Berrange 2017-04-25 16:22:18 EDT
Merged upstream in:

commit e6c3b59c193ec1d17d72b65d460a951227c12a72
Author: Daniel P. Berrange <berrange@redhat.com>
Date:   Fri Mar 3 12:43:51 2017 +0000

    Add ability to generate man page describing key code names & values
    
    Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

will get it for free in 7.5 if we rebase.
Comment 12 Lili Zhu 2017-12-03 21:36:05 EST
Verified this bug with libvirt-3.9.0-4.el7.x86_64:

There are 10 kinds of codesets,
linux, xt, atset1, atset2, atset3, os_x, xtkbd, win32, usb, rfb.
Furthermore, symbolic names of linux, osx and win32 codesets are also privides

The verfication steps are arranged as follows
(I) man virkeycode-* (* represents all the 10 codesets)
The man pages of all the codesets exist

(II) man virkeyname-* (* represents linux, osx, win32)
The man pages all the above 3 codesets exist

(III) Select some of the key code values, send them to the vm, check whether it
can behave just as the man pages noted.
A. linux
# virsh send-key rhel74 --codeset linux 33 34 35
In guest, 'fgh' are printed

B. xt
# virsh send-key rhel74 --codeset xt 7 8 9
In guest, '678' are printed

C. atset1
# virsh send-key rhel74 --codeset atset1 54 17
In guest, 'W' are printed

D. atset2
# virsh send-key rhel74 --codeset atset2 42 41 43
In guest, 'v f' are printed

E. atset3
# virsh send-key rhel74 --codeset atset3 99
In the terminal of guest, the last command line can be shown

F. os_x
# virsh send-key rhel74 --codeset os_x 30 33
In guest, '][' are printed

G. xtkbd
# virsh send-key rhel74 --codeset xt_kbd 327
In the terminal of guest, cursor will shift to the beginning of the cmdline

H. win32
# virsh send-key rhel74 --codeset win32 96 97 98
In guest, '012' are printed

J. usb
1. Add a panic device into the guest
...
 <panic model='isa'>
      <address type='isa' iobase='0x505'/>
 </panic>
...
2. In guest,open the magic SysRq keys:
# echo 1 > /proc/sys/kernel/sysrq

3. Send alt-sysrq-c
# virsh send-key rhel74 --codeset usb 230 70 6

4. check the guest status
# virsh domstate rhel74 --reason
shut off (crashed)

K. rfb
# virsh send-key rhel74 --codeset rfb 56 2
In guest, the cursor will be on the 1st tab of terminal

All the selected key code values behave just as the man pages noted after sending them to the vm. 

Automation is the only way to verify all the key code values and their combinations. And it is our next step.
For now, we are going to move this bug to verified.

Note You need to log in before you can comment on or make changes to this bug.