gotty/js/spice-web-client/keymaps/keymapes.js
Soren L. Hansen c66ae7b2e4 First, primitive stab at SPiCE integration
Launch an Xspice and run:
echo -ne "\033]844;127.0.0.1;9876\007"

This will launch a SPiCE client connecting to 127.0.0.1:9876.

Still need to add all the security stuff and generally be
more defensive in the implementation.
2021-04-16 06:50:05 -07:00

252 lines
17 KiB
JavaScript

// These tables map the js keyboard keys to the spice equivalent
wdi.KeymapES = function() {
// regular keys with associated chars. The columns means all the event flux to activate the key (i.e. [key up, key down])
// all the js events associated to these keys should have a charKey associated
var charmapES = {};
charmapES['º'] = [[0x29, 0, 0, 0], [0xA9, 0, 0, 0]];
charmapES['ª'] = [[0x2A, 0, 0, 0], [0x29, 0, 0, 0], [0xA9, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['\\'] = [[0xE0, 0x38, 0, 0], [0x29, 0, 0, 0], [0xA9, 0, 0, 0], [0xE0, 0xB8, 0, 0]];
charmapES['1'] = [[0x2, 0, 0, 0], [0x82, 0, 0, 0]];
charmapES['!'] = [[0x2A, 0, 0, 0], [0x2, 0, 0, 0], [0x82, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['|'] = [[0xE0, 0x38, 0, 0], [0x2, 0, 0, 0], [0x82, 0, 0, 0], [0xE0, 0xB8, 0, 0]];
charmapES['2'] = [[0x3, 0, 0, 0], [0x83, 0, 0, 0]];
charmapES['"'] = [[0x2A, 0, 0, 0], [0x3, 0, 0, 0], [0x83, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['@'] = [[0xE0, 0x38, 0, 0], [0x3, 0, 0, 0], [0x83, 0, 0, 0], [0xE0, 0xB8, 0, 0]];
charmapES['3'] = [[0x4, 0, 0, 0], [0x84, 0, 0, 0]];
charmapES['·'] = [[0x2A, 0, 0, 0], [0x4, 0, 0, 0], [0x84, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['#'] = [[0xE0, 0x38, 0, 0], [0x4, 0, 0, 0], [0x84, 0, 0, 0], [0xE0, 0xB8, 0, 0]];
charmapES['4'] = [[0x5, 0, 0, 0], [0x85, 0, 0, 0]];
charmapES['$'] = [[0x2A, 0, 0, 0], [0x5, 0, 0, 0], [0x85, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['~'] = [[0xE0, 0x38, 0, 0], [0x5, 0, 0, 0], [0x85, 0, 0, 0], [0xE0, 0xB8, 0, 0]];
charmapES['5'] = [[0x6, 0, 0, 0], [0x86, 0, 0, 0]];
charmapES['%'] = [[0x2A, 0, 0, 0], [0x6, 0, 0, 0], [0x86, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['6'] = [[0x7, 0, 0, 0], [0x87, 0, 0, 0]];
charmapES['&'] = [[0x2A, 0, 0, 0], [0x7, 0, 0, 0], [0x87, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['¬'] = [[0xE0, 0x38, 0, 0], [0x7, 0, 0, 0], [0x87, 0, 0, 0], [0xE0, 0xB8, 0, 0]];
charmapES['7'] = [[0x8, 0, 0, 0], [0x88, 0, 0, 0]];
charmapES['/'] = [[0x2A, 0, 0, 0], [0x8, 0, 0, 0], [0x88, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['8'] = [[0x9, 0, 0, 0], [0x89, 0, 0, 0]];
charmapES['('] = [[0x2A, 0, 0, 0], [0x9, 0, 0, 0], [0x89, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['9'] = [[0x0A, 0, 0, 0], [0x8A, 0, 0, 0]];
charmapES[')'] = [[0x2A, 0, 0, 0], [0x0A, 0, 0, 0], [0x8A, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['0'] = [[0x0B, 0, 0, 0], [0x8B, 0, 0, 0]];
charmapES['='] = [[0x2A, 0, 0, 0], [0x0B, 0, 0, 0], [0x8B, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['\''] = [[0x0C, 0, 0, 0], [0x8C, 0, 0, 0]];
charmapES['?'] = [[0x2A, 0, 0, 0], [0x0C, 0, 0, 0], [0x8C, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['¡'] = [[0x0D, 0, 0, 0], [0x8D, 0, 0, 0]];
charmapES['¿'] = [[0x2A, 0, 0, 0], [0x0D, 0, 0, 0], [0x8D, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['q'] = [[0x10, 0, 0, 0], [0x90, 0, 0, 0]];
charmapES['Q'] = [[0x2A, 0, 0, 0], [0x10, 0, 0, 0], [0x90, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['w'] = [[0x11, 0, 0, 0], [0x91, 0, 0, 0]];
charmapES['W'] = [[0x2A, 0, 0, 0], [0x11, 0, 0, 0], [0x91, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['e'] = [[0x12, 0, 0, 0], [0x92, 0, 0, 0]];
charmapES['E'] = [[0x2A, 0, 0, 0], [0x12, 0, 0, 0], [0x92, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['€'] = [[0xE0, 0x38, 0, 0], [0x12, 0, 0, 0], [0x92, 0, 0, 0], [0xE0, 0xB8, 0, 0]];
charmapES['r'] = [[0x13, 0, 0, 0], [0x93, 0, 0, 0]];
charmapES['R'] = [[0x2A, 0, 0, 0], [0x13, 0, 0, 0], [0x93, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['t'] = [[0x14, 0, 0, 0], [0x94, 0, 0, 0]];
charmapES['T'] = [[0x2A, 0, 0, 0], [0x14, 0, 0, 0], [0x94, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['y'] = [[0x15, 0, 0, 0], [0x95, 0, 0, 0]];
charmapES['Y'] = [[0x2A, 0, 0, 0], [0x15, 0, 0, 0], [0x95, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['u'] = [[0x16, 0, 0, 0], [0x96, 0, 0, 0]];
charmapES['U'] = [[0x2A, 0, 0, 0], [0x16, 0, 0, 0], [0x96, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['i'] = [[0x17, 0, 0, 0], [0x97, 0, 0, 0]];
charmapES['I'] = [[0x2A, 0, 0, 0], [0x17, 0, 0, 0], [0x97, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['o'] = [[0x18, 0, 0, 0], [0x98, 0, 0, 0]];
charmapES['O'] = [[0x2A, 0, 0, 0], [0x18, 0, 0, 0], [0x98, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['p'] = [[0x19, 0, 0, 0], [0x99, 0, 0, 0]];
charmapES['P'] = [[0x2A, 0, 0, 0], [0x19, 0, 0, 0], [0x99, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['`'] = [[0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x39, 0, 0, 0], [0xb9, 0, 0, 0]];
charmapES['à'] = [[0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x1E, 0, 0, 0], [0x9E, 0, 0, 0]];
charmapES['À'] = [[0xAA, 0, 0, 0], [0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x2A, 0, 0, 0], [0x1E, 0, 0, 0], [0x9E, 0, 0, 0]];
charmapES['è'] = [[0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x12, 0, 0, 0], [0x92, 0, 0, 0]];
charmapES['È'] = [[0xAA, 0, 0, 0], [0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x2A, 0, 0, 0], [0x12, 0, 0, 0], [0x92, 0, 0, 0]];
charmapES['ì'] = [[0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x17, 0, 0, 0], [0x97, 0, 0, 0]];
charmapES['Ì'] = [[0xAA, 0, 0, 0], [0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x2A, 0, 0, 0], [0x17, 0, 0, 0], [0x97, 0, 0, 0]];
charmapES['ò'] = [[0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x18, 0, 0, 0], [0x98, 0, 0, 0]];
charmapES['Ò'] = [[0xAA, 0, 0, 0], [0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x2A, 0, 0, 0], [0x18, 0, 0, 0], [0x98, 0, 0, 0]];
charmapES['ù'] = [[0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x16, 0, 0, 0], [0x96, 0, 0, 0]];
charmapES['Ù'] = [[0xAA, 0, 0, 0], [0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x2A, 0, 0, 0], [0x16, 0, 0, 0], [0x96, 0, 0, 0]];
charmapES['â'] = [[0x2A, 0, 0, 0], [0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0xAA, 0, 0, 0], [0x1E, 0, 0, 0], [0x9E, 0, 0, 0]];
charmapES['Â'] = [[0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x1E, 0, 0, 0], [0x9E, 0, 0, 0]];
charmapES['ê'] = [[0x2A, 0, 0, 0], [0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0xAA, 0, 0, 0], [0x12, 0, 0, 0], [0x92, 0, 0, 0]];
charmapES['Ê'] = [[0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x12, 0, 0, 0], [0x92, 0, 0, 0]];
charmapES['î'] = [[0x2A, 0, 0, 0], [0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0xAA, 0, 0, 0], [0x17, 0, 0, 0], [0x97, 0, 0, 0]];
charmapES['Î'] = [[0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x17, 0, 0, 0], [0x97, 0, 0, 0]];
charmapES['ô'] = [[0x2A, 0, 0, 0], [0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0xAA, 0, 0, 0], [0x18, 0, 0, 0], [0x98, 0, 0, 0]];
charmapES['Ô'] = [[0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x18, 0, 0, 0], [0x98, 0, 0, 0]];
charmapES['û'] = [[0x2A, 0, 0, 0], [0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0xAA, 0, 0, 0], [0x16, 0, 0, 0], [0x96, 0, 0, 0]];
charmapES['Û'] = [[0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0x16, 0, 0, 0], [0x96, 0, 0, 0]];
charmapES['^'] = [[0x2A, 0, 0, 0], [0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0xAA, 0, 0, 0], [0x39, 0, 0, 0], [0xb9, 0, 0, 0]];
charmapES['['] = [[0xE0, 0x38, 0, 0], [0x1A, 0, 0, 0], [0x9A, 0, 0, 0], [0xE0, 0xB8, 0, 0]];
charmapES['+'] = [[0x1B, 0, 0, 0], [0x9B, 0, 0, 0]];
charmapES['*'] = [[0x2A, 0, 0, 0], [0x1B, 0, 0, 0], [0x9B, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES[']'] = [[0xE0, 0x38, 0, 0], [0x1B, 0, 0, 0], [0x9B, 0, 0, 0], [0xE0, 0xB8, 0, 0]];
charmapES['a'] = [[0x1E, 0, 0, 0], [0x9E, 0, 0, 0]];
charmapES['A'] = [[0x2A, 0, 0, 0], [0x1E, 0, 0, 0], [0x9E, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['s'] = [[0x1F, 0, 0, 0], [0x9F, 0, 0, 0]];
charmapES['S'] = [[0x2A, 0, 0, 0], [0x1F, 0, 0, 0], [0x9F, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['d'] = [[0x20, 0, 0, 0], [0xA0, 0, 0, 0]];
charmapES['D'] = [[0x2A, 0, 0, 0], [0x20, 0, 0, 0], [0xA0, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['f'] = [[0x21, 0, 0, 0], [0xA1, 0, 0, 0]];
charmapES['F'] = [[0x2A, 0, 0, 0], [0x21, 0, 0, 0], [0xA1, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['g'] = [[0x22, 0, 0, 0], [0xA2, 0, 0, 0]];
charmapES['G'] = [[0x2A, 0, 0, 0], [0x22, 0, 0, 0], [0xA2, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['h'] = [[0x23, 0, 0, 0], [0xA3, 0, 0, 0]];
charmapES['H'] = [[0x2A, 0, 0, 0], [0x23, 0, 0, 0], [0xA3, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['j'] = [[0x24, 0, 0, 0], [0xA4, 0, 0, 0]];
charmapES['J'] = [[0x2A, 0, 0, 0], [0x24, 0, 0, 0], [0xA4, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['k'] = [[0x25, 0, 0, 0], [0xA5, 0, 0, 0]];
charmapES['K'] = [[0x2A, 0, 0, 0], [0x25, 0, 0, 0], [0xA5, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['l'] = [[0x26, 0, 0, 0], [0xA6, 0, 0, 0]];
charmapES['L'] = [[0x2A, 0, 0, 0], [0x26, 0, 0, 0], [0xA6, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['ñ'] = [[0x27, 0, 0, 0], [0xA7, 0, 0, 0]];
charmapES['Ñ'] = [[0x2A, 0, 0, 0], [0x27, 0, 0, 0], [0xA7, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['á'] = [[0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0x1E, 0, 0, 0], [0x9E, 0, 0, 0]];
charmapES['Á'] = [[0xAA, 0, 0, 0], [0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0x2A, 0, 0, 0], [0x1E, 0, 0, 0], [0x9E, 0, 0, 0]];
charmapES['é'] = [[0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0x12, 0, 0, 0], [0x92, 0, 0, 0]];
charmapES['É'] = [[0xAA, 0, 0, 0], [0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0x2A, 0, 0, 0], [0x12, 0, 0, 0], [0x92, 0, 0, 0]];
charmapES['í'] = [[0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0x17, 0, 0, 0], [0x97, 0, 0, 0]];
charmapES['Í'] = [[0xAA, 0, 0, 0], [0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0x2A, 0, 0, 0], [0x17, 0, 0, 0], [0x97, 0, 0, 0]];
charmapES['ó'] = [[0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0x18, 0, 0, 0], [0x98, 0, 0, 0]];
charmapES['Ó'] = [[0xAA, 0, 0, 0], [0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0x2A, 0, 0, 0], [0x18, 0, 0, 0], [0x98, 0, 0, 0]];
charmapES['ú'] = [[0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0x16, 0, 0, 0], [0x96, 0, 0, 0]];
charmapES['Ú'] = [[0xAA, 0, 0, 0], [0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0x2A, 0, 0, 0], [0x16, 0, 0, 0], [0x96, 0, 0, 0]];
charmapES['ä'] = [[0x2A, 0, 0, 0], [0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0xAA, 0, 0, 0], [0x1E, 0, 0, 0], [0x9E, 0, 0, 0]];
charmapES['Ä'] = [[0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0x1E, 0, 0, 0], [0x9E, 0, 0, 0]];
charmapES['ë'] = [[0x2A, 0, 0, 0], [0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0xAA, 0, 0, 0], [0x12, 0, 0, 0], [0x92, 0, 0, 0]];
charmapES['Ë'] = [[0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0x12, 0, 0, 0], [0x92, 0, 0, 0]];
charmapES['ï'] = [[0x2A, 0, 0, 0], [0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0xAA, 0, 0, 0], [0x17, 0, 0, 0], [0x97, 0, 0, 0]];
charmapES['Ï'] = [[0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0x17, 0, 0, 0], [0x97, 0, 0, 0]];
charmapES['ö'] = [[0x2A, 0, 0, 0], [0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0xAA, 0, 0, 0], [0x18, 0, 0, 0], [0x98, 0, 0, 0]];
charmapES['Ö'] = [[0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0x18, 0, 0, 0], [0x98, 0, 0, 0]];
charmapES['ü'] = [[0x2A, 0, 0, 0], [0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0xAA, 0, 0, 0], [0x16, 0, 0, 0], [0x96, 0, 0, 0]];
charmapES['Ü'] = [[0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0x16, 0, 0, 0], [0x96, 0, 0, 0]];
charmapES['{'] = [[0xE0, 0x38, 0, 0], [0x28, 0, 0, 0], [0xA8, 0, 0, 0], [0xE0, 0xB8, 0, 0]];
charmapES['ç'] = [[0x2B, 0, 0, 0], [0xAB, 0, 0, 0]];
charmapES['Ç'] = [[0x2A, 0, 0, 0], [0x2B, 0, 0, 0], [0xAB, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['}'] = [[0xE0, 0x38, 0, 0], [0x2B, 0, 0, 0], [0xAB, 0, 0, 0], [0xE0, 0xB8, 0, 0]];
charmapES['<'] = [[0x56, 0, 0, 0], [0xD6, 0, 0, 0]];
charmapES['>'] = [[0x2A, 0, 0, 0], [0x56, 0, 0, 0], [0xD6, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['z'] = [[0x2C, 0, 0, 0], [0xAC, 0, 0, 0]];
charmapES['Z'] = [[0x2A, 0, 0, 0], [0x2C, 0, 0, 0], [0xAC, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['x'] = [[0x2D, 0, 0, 0], [0xAD, 0, 0, 0]];
charmapES['X'] = [[0x2A, 0, 0, 0], [0x2D, 0, 0, 0], [0xAD, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['c'] = [[0x2E, 0, 0, 0], [0xAE, 0, 0, 0]];
charmapES['C'] = [[0x2A, 0, 0, 0], [0x2E, 0, 0, 0], [0xAE, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['v'] = [[0x2F, 0, 0, 0], [0xAF, 0, 0, 0]];
charmapES['V'] = [[0x2A, 0, 0, 0], [0x2F, 0, 0, 0], [0xAF, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['b'] = [[0x30, 0, 0, 0], [0xB0, 0, 0, 0]];
charmapES['B'] = [[0x2A, 0, 0, 0], [0x30, 0, 0, 0], [0xB0, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['n'] = [[0x31, 0, 0, 0], [0xB1, 0, 0, 0]];
charmapES['N'] = [[0x2A, 0, 0, 0], [0x31, 0, 0, 0], [0xB1, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['m'] = [[0x32, 0, 0, 0], [0xB2, 0, 0, 0]];
charmapES['M'] = [[0x2A, 0, 0, 0], [0x32, 0, 0, 0], [0xB2, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES[','] = [[0x33, 0, 0, 0], [0xB3, 0, 0, 0]];
charmapES[';'] = [[0x2A, 0, 0, 0], [0x33, 0, 0, 0], [0xB3, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['.'] = [[0x34, 0, 0, 0], [0xB4, 0, 0, 0]];
charmapES[':'] = [[0x2A, 0, 0, 0], [0x34, 0, 0, 0], [0xB4, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES['-'] = [[0x35, 0, 0, 0], [0xB5, 0, 0, 0]];
charmapES['_'] = [[0x2A, 0, 0, 0], [0x35, 0, 0, 0], [0xB5, 0, 0, 0], [0xAA, 0, 0, 0]];
charmapES[' '] = [[0x39, 0, 0, 0], [0xb9, 0, 0, 0]];
// keyboard keys without character associated.
// all the js events associated to these keys should have a keyChar associated
var keymapES = [];
keymapES[27] = 0x1; // ESC
keymapES[9] = 0x0F; // TAB
//keymapES[20] = 0x3A; // BLOQ.MAY. => see the charmap, all the capital letters and shift chars send a shift in their sequence
keymapES[16] = 0x2A; // LEFT SHIFT and RIGHT SHIFT
keymapES[91] = 0x1D; // LEFT GUI (META, COMMAND) BINDED TO CONTROL
keymapES[17] = 0x1D; // LEFT CONTROL and RIGHT CONTROL
//keymapES[32] = 0x39; // SPACE => see the charmap
keymapES[8] = 0x0E; // BACKSPACE
keymapES[13] = 0x1C; // ENTER
//keymapES[225] = 0x38; // RIGHT ALT (ALT GR) => see the charmap, all the altgr chars send a altgr in their sequence
keymapES[18] = 0x38; // LEFT ALT
// keymapES[92] = 0x5C; // RIGHT GUI (WINDOWS)
keymapES[38] = 0x48; // UP ARROW
keymapES[37] = 0x4B; // LEFT ARROW
keymapES[40] = 0x50; // DOWN ARROW
keymapES[39] = 0x4D; // RIGHT ARROW
keymapES[45] = 0x52; // INSERT
keymapES[46] = 0x53; // DELETE
keymapES[36] = 0x47; // HOME
keymapES[35] = 0x4F; // FIN
keymapES[33] = 0x49; // PAGE UP
keymapES[34] = 0x51; // PAGE UP
keymapES[144] = 0x45; // BLOQ.NUM.
keymapES[145] = 0x46; // SCROLL LOCK
keymapES[112] = 0x3B; // F1
keymapES[113] = 0x3C; // F2
keymapES[114] = 0x3D; // F3
keymapES[115] = 0x3E; // F4
keymapES[116] = 0x3F; // F5
keymapES[117] = 0x40; // F6
keymapES[118] = 0x41; // F7
keymapES[119] = 0x42; // F8
keymapES[120] = 0x43; // F9
keymapES[121] = 0x44; // F10
keymapES[122] = 0x57; // F11
keymapES[123] = 0x58; // F12
// combination keys with ctrl
var ctrlKeymapES = [];
ctrlKeymapES[65] = 0x1E; // a
ctrlKeymapES[81] = 0x10; // q
ctrlKeymapES[87] = 0x11; // w
ctrlKeymapES[69] = 0x12; // e
ctrlKeymapES[82] = 0x13; // r
ctrlKeymapES[84] = 0x14; // t
ctrlKeymapES[89] = 0x15; // y
ctrlKeymapES[85] = 0x16; // u
ctrlKeymapES[73] = 0x17; // i
ctrlKeymapES[79] = 0x18; // o
ctrlKeymapES[80] = 0x19; // p
ctrlKeymapES[65] = 0x1E; // a
ctrlKeymapES[83] = 0x1F; // s
ctrlKeymapES[68] = 0x20; // d
ctrlKeymapES[70] = 0x21; // f
ctrlKeymapES[71] = 0x22; // g
ctrlKeymapES[72] = 0x23; // h
ctrlKeymapES[74] = 0x24; // j
ctrlKeymapES[75] = 0x25; // k
ctrlKeymapES[76] = 0x26; // l
ctrlKeymapES[90] = 0x2C; // z
ctrlKeymapES[88] = 0x2D; // x
ctrlKeymapES[67] = 0x2E; // c
//ctrlKeymapES[86] = 0x2F; // v to enable set disableClipboard = true in run.js
ctrlKeymapES[66] = 0x30; // b
ctrlKeymapES[78] = 0x31; // n
ctrlKeymapES[77] = 0x32; // m
// reserved ctrl+? combinations we want to intercept from browser and inject manually to spice
var reservedCtrlKeymap = [];
reservedCtrlKeymap[86] = 0x2F;
return {
getKeymap: function() {
return keymapES;
},
getCtrlKeymap: function() {
return ctrlKeymapES;
},
getReservedCtrlKeymap: function() {
return reservedCtrlKeymap;
},
getCharmap: function() {
return charmapES;
},
setCtrlKey: function (key, val) {
ctrlKeymapES[key] = val;
}
};
}( );