On OmniOSce/OpenIndiana, character translation in VNC consoles with bhyve can cause many problems for French speakers (myself included).
Here is a remapping file to be placed in /usr/share/bhyve/kbdlayout/ that contains the essential keys.
(For example /usr/share/bhyve/kbdlayout/custom)
Thus, you can remain in AZERTY on your host (without having to switch to QWERTY) and also have the AZERTY layout available in your VMs.
0x00b2,0x39; # ²
0x007e,0x39; # ~
'&',0x16; # &
'1',0x16; # 1
0x00e9,0x1e; # é
'2',0x1e; # 2
0x007e,0x1e; # ~
'"',0x26; # "
'3',0x26; # 3
''',0x25; # '
'4',0x25; # 4
0x007b,0x25; # {
'(',0x2e; # (
'5',0x2e; # 5
0x005b,0x2e; # [
'-',0x36; # -
'6',0x36; # 6
0x007c,0x36; # |
0x00e8,0x3d; # è
'7',0x3d; # 7
0x0060;0x3d; # `
'_',0x3e; # _
'8',0x3e; # 8
0x005c,0x3e; # \
0x00e7,0x46; # ç
'9',0x46; # 9
0x005e,0x46; # ^
0x00e0,0x45; # à
'0',0x45; # 0
0x0040,0x45; # @
')',0x4e; # )
0x00b0,0x4e; # °
0x005d,0x4e; # ]
'=',0x55; # =
'+',0x55; # +
0x007d,0x55; # }
'a',0x15;
'A',0x15;
'z',0x1d;
'Z',0x1d;
'e',0x24;
'E',0x24;
'r',0x2d;
'R',0x2d;
't',0x2c;
'T',0x2c;
'y',0x35;
'Y',0x35;
'u',0x3c;
'U',0x3c;
'i',0x43;
'I',0x43;
'o',0x44;
'O',0x44;
'p',0x4d;
'P',0x4d;
0xfe52,0x54; # ^
0xfe57,0x54; # "
'$',0x5b; # $
0x00a3,0x5b; # £
'q',0x1c;
'Q',0x1c;
's',0x1b;
'S',0x1b;
'd',0x23;
'D',0x23;
'f',0x2b;
'F',0x2b;
'g',0x34;
'G',0x34;
'h',0x33;
'H',0x33;
'j',0x3b;
'J',0x3b;
'k',0x42;
'K',0x42;
'l',0x4b;
'L',0x4b;
'm',0x4c;
'M',0x4c;
0x00f9,0x52; # ù
'%',0x52; # %
0x002a,0x5d; # *
0x00b5,0x5d; # µ
'<',0x61;
'>',0x61;
'w',0x1a;
'W',0x1a;
'x',0x22;
'X',0x22;
'c',0x21;
'C',0x21;
'v',0x2a;
'V',0x2a;
'b',0x32;
'B',0x32;
'n',0x31;
'N',0x31;
',',0x3a; # ,
'?',0x3a; # ?
';',0x41; # ;
'.',0x41; # .
':',0x49; # :
'/',0x49; # /
'!',0x4a; # !
0x00a7,0x4a; # §
Don't forget "bhyve -K custom" option to specify the remapping.
And, off course, use TigerVNC on windows because of ALTgr (No UltraVNC, Mighty...)