[Bug 246121] [bhyve][PATCH] Append Keyboard Layout specified option for using VNC.

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu May 21 13:40:48 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246121

Koine Yuusuke <koinec at yahoo.co.jp> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #214027|0                           |1
        is obsolete|                            |
 Attachment #214725|text/x-uuencode             |text/plain
          mime type|                            |

--- Comment #5 from Koine Yuusuke <koinec at yahoo.co.jp> ---
Created attachment 214725
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=214725&action=edit
[bhyve][PATCH] Append Keyboard Layout specified option for using VNC.

Thank you for the various ideas!

As a result of thinking, I think that the method that has the keyboard-layout
setting file is better.
However, I tried to automatically generate the keyboard-layout setting file for
each language from the file existing /usr/share/vt/kbdmap for vt, so update the
generated keyboard-layout patch files for each language.
Now that I can enter the following keys on the keyboards of all languages
supported by vt, what about?

A. How to apply the patch ----------------------------------
  1. cd /usr/src/usr.sbin
  2. patch -u < bhyve_kbdlayout_fbsd13c.patch
  3. sh bhyve_kbdlayout.shar           (*Updated the bhyve_kbdlayou.shar file
in this time.)
  4. cd /usr/src/usr.sbin/bhyve
  5. make
  6. make install

  * If you use the FreeBSD 12.1-RELEASE, please replace the "fbsd13c" of the
above No.2 to the "fbsd121r".

B. Supoorting Keyboard map ---------------------------------
  You can use the following keyboard language layout.
   (Indicates the string that can be specified in the bhyve -k option.)
      am / be / be_acc / bg_bds / bg_phonetic / br / br_noacc / by
      ca / ca-fr / centraleuropean / centraleuropean_qwerty
      ch / ch_acc / ch-fr / ch-fr_acc / ch_macbook_acc / colemak_acc
      cz / de / de_acc / de_noacc / dk / dk_acc / dk_macbook
      ee / es / es_acc / es_dvorak / fi
      fr / fr_acc / fr_dvorak / fr_dvorak_acc / fr_macbook
      gr / gr_101_acc / gr_elot_acc / hr / hu_101 / hu_102
      il / is / is_acc / it / kz_io / kz_kst / lt
      latinamerican / latinamerican_acc / nl / no / no_dvorak / nordic_asus-eee
      pl / pl_dvorak / pt / pt_acc / ru / ru_shift / ru_win / se / si / sk
      tr / tr_f / ua / ua_shift_alt / uk / uk_capsctrl / uk_dvorak / uk_macbook
      us / us_acc / us_ctrl / us_emacs / us_macbook / us_unix
      us_dvorak / us_dvorakl / us_dvorakp / us_dvorakr / us_dvorakx
      jp / jp_capsctrl

C. Supporting Key with the above Keyboard-Layout file. ----
  Alphabetical Key ( [a-zA-Z] )
  Numeric Key      ( [0-9] )
  Sign mark Key    ( !"#$%&'()+-*/=^~\|@`[]{};:,.<>?_ )
  Enter / Escape / Tab / Shift(L/R) / Ctrl.(L/R) / Alt(L/R) / Home / End / Ins.
/ BackSpace / Delete
  Up Arrow / Down Arrow / Left Arrow / Right Arrow / PgUp / PgDown
  F1-12 / WinKey(L/R)

    * jp / jp_capsctl supports Japanese keyboard specific keys.

D. Thoghts on the ideas you taught ------------------------
 1. The workaround by executing "setxkbmap us" on the VNC client side.
   This method allows the guest OS to enter the correct key input, but there is
a problem that the key cannot be input correctly on the client side(HyberVisor)
terminal.
   Therefore, it is not possible to use the FreeBSD terminal on which bhyve
runs and the guest OS as the same time.
   I knew it was also introduced as a workaround on other sites, but I patched
this thread because of the above issue.

 2. The use of QEMU Extended Key Event Message
   I understand that this method is a drastic measure to avoid using the
keyboard-layout files, and I would like to make the patch with it if possible
...
   However, in the current VNC clients that exist the FreeBSD ports, tigerVNC
doesn't support this message because it is an old version, and it seems that
tightVNC & ssvnc doesn't support this message in the first place.
   If the VNC clients that exist the FreeBSd ports supprots this message, I
would like to try to support this message, but I can not support it because
there is no VNCclient currently. And as far as I can see the bhyve source tree,
I think the difficulty level of the modification is high.

 3. This proposal
   When we aim to make it easy to use any language using the current VNCclient
on FreeBSD ports, I think that it is unavoidable to use the keyboard-layout
setting file.
   However, it is difficult to create the keyboard-layout files for each
launguage from the beginning, so the minimum keys such as alphabets, numbers,
and symbols were automatically generated.
   I would like to ask if this method is acceptable, test the generating
keyboard-layout setting file for each language, and add a unique key definition
for each language.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-virtualization mailing list