[Spice-devel] How to adapt keymaps for spice-html5

Eric Grammatico eric at grammatico.me
Sun Mar 6 17:31:10 UTC 2016


Hi Christophe,

Thanks a lot for your reply. 

I had a look in the direction you advise. Well... not that easy...

First I had modified the file /etc/X11/spiceqxl.xorg.conf with the following for inputs definition:

Section "InputDevice"
    Identifier "XSPICE POINTER"
    Driver     "xspice pointer"

    Option "CorePointer"
EndSection

Section "InputDevice"
    Identifier "XSPICE KEYBOARD"
    Driver     "xspice keyboard"

    Option "CoreKeyboard"
    Option "XkbLayout" "fr"
    Option "XkbModel" "pc104"
    Option "XkbVariant" "latin9"
EndSection


I made a test just to see if this update made any impact.... exactly not at all...

Then, I had a look in atKeynames.js. The KEY_Comma is wrong here. it's defined as "," and "<". On my keyboard it's "," and "?". I launch 'xev -event keyboard' from a terminal and pressing this key gave me the following result:

KeyPress event, serial 28, synthetic NO, window 0x5400001,
    root 0x399, subw 0x0, time 39177534, (81,88), root:(81,117),
    state 0x10, keycode 58 (keysym 0x2c, comma), same_screen YES,
    XLookupString gives 1 bytes: (2c) ","
    XmbLookupString gives 1 bytes: (2c) ","
    XFilterEvent returns: False


Thus I reported the keycode 58 in atKeynames.js for the element KEY_Comma. From there the key is not working anymore. No character printed when pressed.

The comments from the js file say:

* definition of the AT84/MF101/MF102 Keyboard

I had a look in Google to see a picture of a AT84.... Wahou ! Does someone believe a user will type on a AT84 using Xspice ? Last time I saw this kind of keyboard I was desperatly trying to have something out of RPGII on an IBM36....

I believe this AT84 is defined somewhere overwriting my keyboard config in spiceqxl.xorg.conf. From my point of view there is no reason to modified any javascript if on server side it's reading the wrong keyboard model/layout.

Thanks and regards,

Eric.


-
_/) Eric Grammatico.
2 mars 2016 13:47 "Christophe Fergeau" <cfergeau at redhat.com> a écrit:
> Hey,
> 
> On Fri, Feb 26, 2016 at 11:53:25PM +0000, Eric Grammatico wrote:
> 
>> Hello There,
>> 
>> I am currently testing spice-html5. I find it very promessing and I'd
>> like to give a hand if possible.
>> 
>> I am currently experiencing an irritating issue with key mapping. I
>> win to have French keymap implemented, but it seems most of extended
>> keys are either not defined or miss defined.
>> 
>> I spent ages to have this issue fixed on server side before having a
>> look in the js and I understood the client side is better adapted to
>> US key map.
>> 
>> Please could some one drive me to define/write the mapping for my
>> keyboard ?
> 
> I believe you need to edit common_scanmap in utils.js, and potentially
> atKeynames.js. You probably can infer the AT value from xev (and
> pressing the key), iirc it's often keycode minus 8. The common_scanmap
> index, I guess you can get it directly from the browser with a bit of
> javascript (or some logging added to get_scancode()).
> 
> Never tried to look into what you are trying to do, but this is how I
> would start at least :)
> 
>> May be an evolution would be to adapt the html page to
>> leave the user with the opportunity to select the key mapping before
>> connection. If this is implemented, I believe many contributions would
>> help to include further key mapping.
> 
> Key mapping is indeed one big complaint with spice-html5. I don't know
> if we can guess which keymap to use from browser language and have some
> hidden setting to override it, or something like that.
> 
> Christophe


More information about the Spice-devel mailing list