text: /* Auto-generated file from make_qtkeysym_mapping.py
     All changes will be overwritten.
  
     This file provides convenience functions to map a Qt::Key to a X11 keysym value
     as used by the VNC protocol.
  
     See also the keysymdef.h/XF86keysym.h files of the X server for the keysym values. */
  
  #ifndef OPENRV_QTKEY_TO_XKEYSYM_H
  #define OPENRV_QTKEY_TO_XKEYSYM_H
  
  #include <QtCore/qnamespace.h>
  #include <QtCore/qstring.h>
  
  inline int orv_qt_key_to_keysym(int qtKey, int qtModifiers, const QString& text)
  {
    if (text.size() == 1) {
      switch (text.unicode()[0].unicode()) {
        case 0x3001: return 0x04a4;
        case 0x3002: return 0x04a1;
        case 0x2003: return 0x0aa1;
        case 0x2004: return 0x0aa3;
        case 0x2005: return 0x0aa4;
        case 0x2007: return 0x0aa5;
        case 0x2008: return 0x0aa6;
        case 0x2009: return 0x0aa7;
        case 0x200a: return 0x0aa8;
        case 0x2157: return 0x0ab4;
        case 0x300c: return 0x04a2;
        case 0x300d: return 0x04a3;
        case 0x2158: return 0x0ab5;
        case 0x2012: return 0x0abb;
        case 0x0403: return 0x06b2;
        case 0x2014: return 0x0aa9;
        case 0x2015: return 0x07af;
        case 0x2159: return 0x0ab6;
        case 0x2018: return 0x0ad0;
        case 0x2019: return 0x0ad1;
        case 0x201a: return 0x0afd;
        case 0x1eaf: return 0x1001eaf;
        case 0x201c: return 0x0ad2;
        case 0x215a: return 0x0ab7;
        case 0x201e: return 0x0afe;
        case 0x0020: return 0x0020;
        case 0x0021: return 0x0021;
        case 0x0022: return 0x0022;
        case 0x0023: return 0x0023;
        case 0x0024: return 0x0024;
        case 0x0025: return 0x0025;
        case 0x0026: return 0x0026;
        case 0x0027: return 0x0027;
        case 0x0028: return 0x0028;
        case 0x0029: return 0x0029;
        case 0x002a: return 0x002a;
        case 0x002b: return 0x002b;
        case 0x002c: return 0x002c;
        case 0x002d: return 0x002d;
        case 0x002e: return 0x002e;
        case 0x002f: return 0x002f;
        case 0x0030: return 0x0030;
        case 0x0031: return 0x0031;
        case 0x0032: return 0x0032;
        case 0x0033: return 0x0033;
        case 0x0034: return 0x0034;
        case 0x0035: return 0x0035;
        case 0x0036: return 0x0036;
        case 0x0037: return 0x0037;
        case 0x0038: return 0x0038;
        case 0x0039: return 0x0039;
        case 0x003a: return 0x003a;
        case 0x003b: return 0x003b;
        case 0x003c: return 0x003c;
        case 0x003d: return 0x003d;
        case 0x003e: return 0x003e;
        case 0x003f: return 0x003f;
        case 0x0040: return 0x0040;
        case 0x0041: return 0x0041;
        case 0x0042: return 0x0042;
        case 0x0043: return 0x0043;
        case 0x0044: return 0x0044;
        case 0x0045: return 0x0045;
        case 0x0046: return 0x0046;
        case 0x0047: return 0x0047;
        case 0x0048: return 0x0048;
        case 0x0049: return 0x0049;
        case 0x004a: return 0x004a;
        case 0x004b: return 0x004b;
        case 0x004c: return 0x004c;
        case 0x004d: return 0x004d;
        case 0x004e: return 0x004e;
        case 0x004f: return 0x004f;
        case 0x0050: return 0x0050;
        case 0x0051: return 0x0051;
        case 0x0052: return 0x0052;
        case 0x0053: return 0x0053;
        case 0x0054: return 0x0054;
        case 0x0055: return 0x0055;
        case 0x0056: return 0x0056;
        case 0x0057: return 0x0057;
        case 0x0058: return 0x0058;
        case 0x0059: return 0x0059;
        case 0x005a: return 0x005a;
        case 0x005b: return 0x005b;
        case 0x005c: return 0x005c;
        case 0x005d: return 0x005d;
        case 0x005e: return 0x005e;
        case 0x005f: return 0x005f;
        case 0x0060: return 0x0060;
        case 0x0061: return 0x0061;
        case 0x0062: return 0x0062;
        case 0x0063: return 0x0063;
        case 0x0064: return 0x0064;
        case 0x0065: return 0x0065;
        case 0x0066: return 0x0066;
        case 0x0067: return 0x0067;
        case 0x0068: return 0x0068;
        case 0x0069: return 0x0069;
        case 0x006a: return 0x006a;
        case 0x006b: return 0x006b;
        case 0x006c: return 0x006c;
        case 0x006d: return 0x006d;
        case 0x006e: return 0x006e;
        case 0x006f: return 0x006f;
        case 0x0070: return 0x0070;
        case 0x0071: return 0x0071;
        case 0x0072: return 0x0072;
        case 0x0073: return 0x0073;
        case 0x0074: return 0x0074;
        case 0x0075: return 0x0075;
        case 0x0076: return 0x0076;
        case 0x0077: return 0x0077;
        case 0x0078: return 0x0078;
        case 0x0079: return 0x0079;
        case 0x007a: return 0x007a;
        case 0x007b: return 0x007b;
        case 0x007c: return 0x007c;
        case 0x007d: return 0x007d;
        case 0x007e: return 0x007e;
        case 0x0587: return 0x1000587;
        case 0x056b: return 0x100056b;
        case 0x1ec1: return 0x1001ec1;
        case 0x2017: return 0x0cdf;
        case 0x10f2: return 0x10010f2;
        case 0x23b7: return 0x08a1;
        case 0x309b: return 0x04de;
        case 0x309c: return 0x04df;
        case 0x00a0: return 0x00a0;
        case 0x00a1: return 0x00a1;
        case 0x00a2: return 0x00a2;
        case 0x00a3: return 0x00a3;
        case 0x00a4: return 0x00a4;
        case 0x00a5: return 0x00a5;
        case 0x00a6: return 0x00a6;
        case 0x00a7: return 0x00a7;
        case 0x00a8: return 0x00a8;
        case 0x00a9: return 0x00a9;
        case 0x00aa: return 0x00aa;
        case 0x00ab: return 0x00ab;
        case 0x00ac: return 0x00ac;
        case 0x00ad: return 0x00ad;
        case 0x00ae: return 0x00ae;
        case 0x00af: return 0x00af;
        case 0x00b0: return 0x00b0;
        case 0x00b1: return 0x00b1;
        case 0x00b2: return 0x00b2;
        case 0x00b3: return 0x00b3;
        case 0x00b4: return 0x00b4;
        case 0x00b5: return 0x00b5;
        case 0x00b6: return 0x00b6;
        case 0x00b7: return 0x00b7;
        case 0x00b8: return 0x00b8;
        case 0x00b9: return 0x00b9;
        case 0x00ba: return 0x00ba;
        case 0x00bb: return 0x00bb;
        case 0x00bc: return 0x00bc;
        case 0x00bd: return 0x00bd;
        case 0x00be: return 0x00be;
        case 0x00bf: return 0x00bf;
        case 0x00c0: return 0x00c0;
        case 0x00c1: return 0x00c1;
        case 0x00c2: return 0x00c2;
        case 0x00c3: return 0x00c3;
        case 0x00c4: return 0x00c4;
        case 0x00c5: return 0x00c5;
        case 0x00c6: return 0x00c6;
        case 0x00c7: return 0x00c7;
        case 0x00c8: return 0x00c8;
        case 0x00c9: return 0x00c9;
        case 0x00ca: return 0x00ca;
        case 0x00cb: return 0x00cb;
        case 0x00cc: return 0x00cc;
        case 0x00cd: return 0x00cd;
        case 0x00ce: return 0x00ce;
        case 0x00cf: return 0x00cf;
        case 0x00d0: return 0x00d0;
        case 0x00d1: return 0x00d1;
        case 0x00d2: return 0x00d2;
        case 0x00d3: return 0x00d3;
        case 0x00d4: return 0x00d4;
        case 0x00d5: return 0x00d5;
        case 0x00d6: return 0x00d6;
        case 0x00d7: return 0x00d7;
        case 0x00d8: return 0x00d8;
        case 0x00d9: return 0x00d9;
        case 0x00da: return 0x00da;
        case 0x00db: return 0x00db;
        case 0x00dc: return 0x00dc;
        case 0x00dd: return 0x00dd;
        case 0x00de: return 0x00de;
        case 0x00df: return 0x00df;
        case 0x00e0: return 0x00e0;
        case 0x00e1: return 0x00e1;
        case 0x00e2: return 0x00e2;
        case 0x00e3: return 0x00e3;
        case 0x00e4: return 0x00e4;
        case 0x00e5: return 0x00e5;
        case 0x00e6: return 0x00e6;
        case 0x00e7: return 0x00e7;
        case 0x00e8: return 0x00e8;
        case 0x00e9: return 0x00e9;
        case 0x00ea: return 0x00ea;
        case 0x00eb: return 0x00eb;
        case 0x00ec: return 0x00ec;
        case 0x00ed: return 0x00ed;
        case 0x00ee: return 0x00ee;
        case 0x00ef: return 0x00ef;
        case 0x00f0: return 0x00f0;
        case 0x00f1: return 0x00f1;
        case 0x00f2: return 0x00f2;
        case 0x00f3: return 0x00f3;
        case 0x00f4: return 0x00f4;
        case 0x00f5: return 0x00f5;
        case 0x00f6: return 0x00f6;
        case 0x00f7: return 0x00f7;
        case 0x00f8: return 0x00f8;
        case 0x00f9: return 0x00f9;
        case 0x00fa: return 0x00fa;
        case 0x00fb: return 0x00fb;
        case 0x00fc: return 0x00fc;
        case 0x00fd: return 0x00fd;
        case 0x00fe: return 0x00fe;
        case 0x00ff: return 0x00ff;
        case 0x0100: return 0x03c0;
        case 0x0101: return 0x03e0;
        case 0x0102: return 0x01c3;
        case 0x0103: return 0x01e3;
        case 0x0104: return 0x01a1;
        case 0x0105: return 0x01b1;
        case 0x0106: return 0x01c6;
        case 0x0107: return 0x01e6;
        case 0x0108: return 0x02c6;
        case 0x0109: return 0x02e6;
        case 0x010a: return 0x02c5;
        case 0x010b: return 0x02e5;
        case 0x010c: return 0x01c8;
        case 0x010d: return 0x01e8;
        case 0x010e: return 0x01cf;
        case 0x010f: return 0x01ef;
        case 0x0110: return 0x01d0;
        case 0x0111: return 0x01f0;
        case 0x0112: return 0x03aa;
        case 0x0113: return 0x03ba;
        case 0x0116: return 0x03cc;
        case 0x0117: return 0x03ec;
        case 0x0118: return 0x01ca;
        case 0x0119: return 0x01ea;
        case 0x011a: return 0x01cc;
        case 0x011b: return 0x01ec;
        case 0x011c: return 0x02d8;
        case 0x011d: return 0x02f8;
        case 0x011e: return 0x02ab;
        case 0x011f: return 0x02bb;
        case 0x0120: return 0x02d5;
        case 0x0121: return 0x02f5;
        case 0x0122: return 0x03ab;
        case 0x0123: return 0x03bb;
        case 0x0124: return 0x02a6;
        case 0x0125: return 0x02b6;
        case 0x0126: return 0x02a1;
        case 0x0127: return 0x02b1;
        case 0x0128: return 0x03a5;
        case 0x0129: return 0x03b5;
        case 0x012a: return 0x03cf;
        case 0x012b: return 0x03ef;
        case 0x012c: return 0x100012c;
        case 0x2032: return 0x0ad6;
        case 0x012e: return 0x03c7;
        case 0x012f: return 0x03e7;
        case 0x0130: return 0x02a9;
        case 0x0131: return 0x02b9;
        case 0x0433: return 0x06c7;
        case 0x0134: return 0x02ac;
        case 0x0135: return 0x02bc;
        case 0x0136: return 0x03d3;
        case 0x0137: return 0x03f3;
        case 0x0138: return 0x03a2;
        case 0x0139: return 0x01c5;
        case 0x013a: return 0x01e5;
        case 0x013b: return 0x03a6;
        case 0x013c: return 0x03b6;
        case 0x013d: return 0x01a5;
        case 0x013e: return 0x01b5;
        case 0x0141: return 0x01a3;
        case 0x0142: return 0x01b3;
        case 0x0143: return 0x01d1;
        case 0x0144: return 0x01f1;
        case 0x0145: return 0x03d1;
        case 0x0146: return 0x03f1;
        case 0x0147: return 0x01d2;
        case 0x0148: return 0x01f2;
        case 0x014a: return 0x03bd;
        case 0x014b: return 0x03bf;
        case 0x014c: return 0x03d2;
        case 0x014d: return 0x03f2;
        case 0x0150: return 0x01d5;
        case 0x0151: return 0x01f5;
        case 0x0152: return 0x13bc;
        case 0x0153: return 0x13bd;
        case 0x0154: return 0x01c0;
        case 0x0155: return 0x01e0;
        case 0x0156: return 0x03a3;
        case 0x0157: return 0x03b3;
        case 0x0158: return 0x01d8;
        case 0x0159: return 0x01f8;
        case 0x015a: return 0x01a6;
        case 0x015b: return 0x01b6;
        case 0x015c: return 0x02de;
        case 0x015d: return 0x02fe;
        case 0x015e: return 0x01aa;
        case 0x015f: return 0x01ba;
        case 0x0160: return 0x01a9;
        case 0x0161: return 0x01b9;
        case 0x0162: return 0x01de;
        case 0x0163: return 0x01fe;
        case 0x0164: return 0x01ab;
        case 0x0165: return 0x01bb;
        case 0x0166: return 0x03ac;
        case 0x0167: return 0x03bc;
        case 0x0168: return 0x03dd;
        case 0x0169: return 0x03fd;
        case 0x016a: return 0x03de;
        case 0x016b: return 0x03fe;
        case 0x016c: return 0x02dd;
        case 0x016d: return 0x02fd;
        case 0x016e: return 0x01d9;
        case 0x016f: return 0x01f9;
        case 0x0170: return 0x01db;
        case 0x0171: return 0x01fb;
        case 0x0172: return 0x03d9;
        case 0x0173: return 0x03f9;
        case 0x0174: return 0x1000174;
        case 0x0175: return 0x1000175;
        case 0x0176: return 0x1000176;
        case 0x0177: return 0x1000177;
        case 0x0178: return 0x13be;
        case 0x0179: return 0x01ac;
        case 0x017a: return 0x01bc;
        case 0x017b: return 0x01af;
        case 0x017c: return 0x01bf;
        case 0x017d: return 0x01ae;
        case 0x017e: return 0x01be;
        case 0x203e: return 0x047e;
        case 0x10d5: return 0x10010d5;
        case 0x0e1b: return 0x0dbb;
        case 0x018f: return 0x100018f;
        case 0x2190: return 0x08fb;
        case 0x2191: return 0x08fc;
        case 0x0192: return 0x08f6;
        case 0x2193: return 0x08fe;
        case 0x019f: return 0x100019f;
        case 0x01a0: return 0x10001a0;
        case 0x1ef0: return 0x1001ef0;
        case 0x2116: return 0x06b0;
        case 0x1eab: return 0x1001eab;
        case 0x1ef1: return 0x1001ef1;
        case 0x06f2: return 0x10006f2;
        case 0x01af: return 0x10001af;
        case 0x01b0: return 0x10001b0;
        case 0x06f3: return 0x10006f3;
        case 0x01b5: return 0x10001b5;
        case 0x01b6: return 0x10001b6;
        case 0x0e4a: return 0x0dea;
        case 0x1ef4: return 0x1001ef4;
        case 0x215b: return 0x0ac3;
        case 0x1ef5: return 0x1001ef5;
        case 0x044b: return 0x06d9;
        case 0x1ef6: return 0x1001ef6;
        case 0x01a1: return 0x10001a1;
        case 0x1ef7: return 0x1001ef7;
        case 0x1ef8: return 0x1001ef8;
        case 0x21d2: return 0x08ce;
        case 0x21d4: return 0x08cd;
        case 0x1ef9: return 0x1001ef9;
        case 0x215c: return 0x0ac4;
        case 0x10d8: return 0x10010d8;
        case 0x1ed4: return 0x1001ed4;
        case 0x01e6: return 0x10001e6;
        case 0x01e7: return 0x10001e7;
        case 0x040f: return 0x06bf;
        case 0x0e21: return 0x0dc1;
        case 0x215d: return 0x0ac5;
        case 0x2202: return 0x08ef;
        case 0x2207: return 0x08c5;
        case 0x20ac: return 0x20ac;
        case 0x0457: return 0x06a7;
        case 0x215e: return 0x0ac6;
        case 0x2218: return 0x0bca;
        case 0x221a: return 0x08d6;
        case 0x221d: return 0x08c1;
        case 0x221e: return 0x08c2;
        case 0x10e7: return 0x10010e7;
        case 0x0565: return 0x1000565;
        case 0x2227: return 0x08de;
        case 0x2228: return 0x08df;
        case 0x2229: return 0x08dc;
        case 0x222a: return 0x08dd;
        case 0x222b: return 0x08bf;
        case 0x0e50: return 0x0df0;
        case 0x1eb5: return 0x1001eb5;
        case 0x2234: return 0x08c0;
        case 0x10db: return 0x10010db;
        case 0x223c: return 0x08c8;
        case 0x1ecf: return 0x1001ecf;
        case 0x2243: return 0x08c9;
        case 0x20a9: return 0x10020a9;
        case 0x240a: return 0x09e5;
        case 0x0259: return 0x1000259;
        case 0x2260: return 0x08bd;
        case 0x2261: return 0x08cf;
        case 0x2264: return 0x08bc;
        case 0x2265: return 0x08be;
        case 0x055a: return 0x100055a;
        case 0x0e1f: return 0x0dbf;
        case 0x240b: return 0x09e9;
        case 0x0275: return 0x1000275;
        case 0x2282: return 0x08da;
        case 0x2283: return 0x08db;
        case 0x240c: return 0x09e3;
        case 0x10de: return 0x10010de;
        case 0x0581: return 0x1000581;
        case 0x22a2: return 0x0bdc;
        case 0x22a3: return 0x0bfc;
        case 0x22a4: return 0x0bce;
        case 0x22a5: return 0x0bc2;
        case 0x10df: return 0x10010df;
        case 0x10e8: return 0x10010e8;
        case 0x02c7: return 0x01b7;
        case 0x1ecd: return 0x1001ecd;
        case 0x10e0: return 0x10010e0;
        case 0x02d8: return 0x01a2;
        case 0x02d9: return 0x01ff;
        case 0x02db: return 0x01b2;
        case 0x02dd: return 0x01bd;
        case 0x2424: return 0x09e8;
        case 0x20a6: return 0x10020a6;
        case 0x10e1: return 0x10010e1;
        case 0x01d2: return 0x10001d2;
        case 0x05d3: return 0x0ce3;
        case 0x20a0: return 0x10020a0;
        case 0x2308: return 0x0bd3;
        case 0x10e2: return 0x10010e2;
        case 0x230a: return 0x0bc4;
        case 0x2409: return 0x09e2;
        case 0x2315: return 0x0afa;
        case 0x05d9: return 0x0ce9;
        case 0x0571: return 0x1000571;
        case 0x2320: return 0x08a4;
        case 0x2321: return 0x08a5;
        case 0x10e3: return 0x10010e3;
        case 0x1ebe: return 0x1001ebe;
        case 0x2013: return 0x0aaa;
        case 0x05e0: return 0x0cf0;
        case 0x0e3a: return 0x0dda;
        case 0x10e4: return 0x10010e4;
        case 0x1e36: return 0x1001e36;
        case 0x041b: return 0x06ec;
        case 0x0570: return 0x1000570;
        case 0x05e3: return 0x0cf3;
        case 0x05e5: return 0x0cf5;
        case 0x10e5: return 0x10010e5;
        case 0x1e37: return 0x1001e37;
        case 0x0e24: return 0x0dc4;
        case 0x0493: return 0x1000493;
        case 0x05e9: return 0x0cf9;
        case 0x04e9: return 0x10004e9;
        case 0x10e6: return 0x10010e6;
        case 0x0385: return 0x07ae;
        case 0x0386: return 0x07a1;
        case 0x0388: return 0x07a2;
        case 0x0389: return 0x07a3;
        case 0x038a: return 0x07a4;
        case 0x20aa: return 0x10020aa;
        case 0x038c: return 0x07a7;
        case 0x038e: return 0x07a8;
        case 0x038f: return 0x07ab;
        case 0x0390: return 0x07b6;
        case 0x0391: return 0x07c1;
        case 0x0392: return 0x07c2;
        case 0x0393: return 0x07c3;
        case 0x0394: return 0x07c4;
        case 0x0395: return 0x07c5;
        case 0x0396: return 0x07c6;
        case 0x0397: return 0x07c7;
        case 0x0398: return 0x07c8;
        case 0x0399: return 0x07c9;
        case 0x039a: return 0x07ca;
        case 0x039b: return 0x07cb;
        case 0x039c: return 0x07cc;
        case 0x039d: return 0x07cd;
        case 0x039e: return 0x07ce;
        case 0x039f: return 0x07cf;
        case 0x03a0: return 0x07d0;
        case 0x03a1: return 0x07d1;
        case 0x03a3: return 0x07d2;
        case 0x03a4: return 0x07d4;
        case 0x03a5: return 0x07d5;
        case 0x03a6: return 0x07d6;
        case 0x03a7: return 0x07d7;
        case 0x03a8: return 0x07d8;
        case 0x03a9: return 0x07d9;
        case 0x03aa: return 0x07a5;
        case 0x03ab: return 0x07a9;
        case 0x03ac: return 0x07b1;
        case 0x03ad: return 0x07b2;
        case 0x03ae: return 0x07b3;
        case 0x03af: return 0x07b4;
        case 0x03b0: return 0x07ba;
        case 0x03b1: return 0x07e1;
        case 0x03b2: return 0x07e2;
        case 0x03b3: return 0x07e3;
        case 0x03b4: return 0x07e4;
        case 0x03b5: return 0x07e5;
        case 0x03b6: return 0x07e6;
        case 0x03b7: return 0x07e7;
        case 0x03b8: return 0x07e8;
        case 0x03b9: return 0x07e9;
        case 0x03ba: return 0x07ea;
        case 0x03bb: return 0x07eb;
        case 0x03bc: return 0x07ec;
        case 0x03bd: return 0x07ed;
        case 0x03be: return 0x07ee;
        case 0x03bf: return 0x07ef;
        case 0x03c0: return 0x07f0;
        case 0x03c1: return 0x07f1;
        case 0x03c2: return 0x07f3;
        case 0x03c3: return 0x07f2;
        case 0x03c4: return 0x07f4;
        case 0x03c5: return 0x07f5;
        case 0x03c6: return 0x07f6;
        case 0x30a1: return 0x04a7;
        case 0x03c8: return 0x07f8;
        case 0x03c9: return 0x07f9;
        case 0x03ca: return 0x07b5;
        case 0x03cb: return 0x07b9;
        case 0x03cc: return 0x07b7;
        case 0x30a2: return 0x04b1;
        case 0x03ce: return 0x07bb;
        case 0x30a3: return 0x04a8;
        case 0x30a4: return 0x04b2;
        case 0x10e9: return 0x10010e9;
        case 0x30a5: return 0x04a9;
        case 0x30a6: return 0x04b3;
        case 0x20a1: return 0x10020a1;
        case 0x30a7: return 0x04aa;
        case 0x30a8: return 0x04b4;
        case 0x30a9: return 0x04ab;
        case 0x0e40: return 0x0de0;
        case 0x10ea: return 0x10010ea;
        case 0x30aa: return 0x04b5;
        case 0x1ed2: return 0x1001ed2;
        case 0x0401: return 0x06b3;
        case 0x0402: return 0x06b1;
        case 0x30ab: return 0x04b6;
        case 0x0404: return 0x06b4;
        case 0x0405: return 0x06b5;
        case 0x0406: return 0x06b6;
        case 0x0407: return 0x06b7;
        case 0x0408: return 0x06b8;
        case 0x0409: return 0x06b9;
        case 0x040a: return 0x06ba;
        case 0x040b: return 0x06bb;
        case 0x040c: return 0x06bc;
        case 0x240d: return 0x09e4;
        case 0x040e: return 0x06be;
        case 0x30ad: return 0x04b7;
        case 0x0410: return 0x06e1;
        case 0x0411: return 0x06e2;
        case 0x0412: return 0x06f7;
        case 0x0413: return 0x06e7;
        case 0x0414: return 0x06e4;
        case 0x0415: return 0x06e5;
        case 0x0416: return 0x06f6;
        case 0x0417: return 0x06fa;
        case 0x0418: return 0x06e9;
        case 0x0419: return 0x06ea;
        case 0x041a: return 0x06eb;
        case 0x30af: return 0x04b8;
        case 0x041c: return 0x06ed;
        case 0x041d: return 0x06ee;
        case 0x041e: return 0x06ef;
        case 0x041f: return 0x06f0;
        case 0x0420: return 0x06f2;
        case 0x0421: return 0x06f3;
        case 0x0422: return 0x06f4;
        case 0x0423: return 0x06f5;
        case 0x0424: return 0x06e6;
        case 0x0425: return 0x06e8;
        case 0x0426: return 0x06e3;
        case 0x30b1: return 0x04b9;
        case 0x0428: return 0x06fb;
        case 0x0429: return 0x06fd;
        case 0x042a: return 0x06ff;
        case 0x042b: return 0x06f9;
        case 0x042c: return 0x06f8;
        case 0x042d: return 0x06fc;
        case 0x042e: return 0x06e0;
        case 0x042f: return 0x06f1;
        case 0x0430: return 0x06c1;
        case 0x0431: return 0x06c2;
        case 0x0432: return 0x06d7;
        case 0x30b3: return 0x04ba;
        case 0x0434: return 0x06c4;
        case 0x0435: return 0x06c5;
        case 0x0436: return 0x06d6;
        case 0x0437: return 0x06da;
        case 0x0438: return 0x06c9;
        case 0x0439: return 0x06ca;
        case 0x043a: return 0x06cb;
        case 0x043b: return 0x06cc;
        case 0x043c: return 0x06cd;
        case 0x043d: return 0x06ce;
        case 0x043e: return 0x06cf;
        case 0x30b5: return 0x04bb;
        case 0x0440: return 0x06d2;
        case 0x0441: return 0x06d3;
        case 0x0442: return 0x06d4;
        case 0x0443: return 0x06d5;
        case 0x0444: return 0x06c6;
        case 0x0445: return 0x06c8;
        case 0x0446: return 0x06c3;
        case 0x0447: return 0x06de;
        case 0x0448: return 0x06db;
        case 0x0449: return 0x06dd;
        case 0x044a: return 0x06df;
        case 0x30b7: return 0x04bc;
        case 0x044c: return 0x06d8;
        case 0x044d: return 0x06dc;
        case 0x044e: return 0x06c0;
        case 0x044f: return 0x06d1;
        case 0x0451: return 0x06a3;
        case 0x0452: return 0x06a1;
        case 0x0453: return 0x06a2;
        case 0x0454: return 0x06a4;
        case 0x0455: return 0x06a5;
        case 0x0456: return 0x06a6;
        case 0x30b9: return 0x04bd;
        case 0x0458: return 0x06a8;
        case 0x0459: return 0x06a9;
        case 0x045a: return 0x06aa;
        case 0x045b: return 0x06ab;
        case 0x045c: return 0x06ac;
        case 0x045e: return 0x06ae;
        case 0x045f: return 0x06af;
        case 0x20a5: return 0x10020a5;
        case 0x30bb: return 0x04be;
        case 0x201d: return 0x0ad3;
        case 0x30bd: return 0x04bf;
        case 0x0e41: return 0x0de1;
        case 0x10eb: return 0x10010eb;
        case 0x30bf: return 0x04c0;
        case 0x0e15: return 0x0db5;
        case 0x30c1: return 0x04c1;
        case 0x10ef: return 0x10010ef;
        case 0x0490: return 0x06bd;
        case 0x0491: return 0x06ad;
        case 0x0492: return 0x1000492;
        case 0x30c3: return 0x04af;
        case 0x0496: return 0x1000496;
        case 0x0497: return 0x1000497;
        case 0x30c4: return 0x04c2;
        case 0x049a: return 0x100049a;
        case 0x049b: return 0x100049b;
        case 0x049c: return 0x100049c;
        case 0x049d: return 0x100049d;
        case 0x04a2: return 0x10004a2;
        case 0x04a3: return 0x10004a3;
        case 0x30c6: return 0x04c3;
        case 0x2192: return 0x08fd;
        case 0x04ae: return 0x10004ae;
        case 0x04af: return 0x10004af;
        case 0x04b0: return 0x10004b0;
        case 0x30c8: return 0x04c4;
        case 0x04b2: return 0x10004b2;
        case 0x04b3: return 0x10004b3;
        case 0x0e1e: return 0x0dbe;
        case 0x04b6: return 0x10004b6;
        case 0x04b7: return 0x10004b7;
        case 0x04b8: return 0x10004b8;
        case 0x04b9: return 0x10004b9;
        case 0x04ba: return 0x10004ba;
        case 0x061f: return 0x05bf;
        case 0x30ca: return 0x04c5;
        case 0x20a3: return 0x10020a3;
        case 0x30cb: return 0x04c6;
        case 0x2020: return 0x0af1;
        case 0x30cc: return 0x04c7;
        case 0x0e47: return 0x0de7;
        case 0x0e22: return 0x0dc2;
        case 0x2663: return 0x0aec;
        case 0x30cd: return 0x04c8;
        case 0x0e03: return 0x0da3;
        case 0x0e23: return 0x0dc3;
        case 0x30ce: return 0x04c9;
        case 0x057d: return 0x100057d;
        case 0x04d8: return 0x10004d8;
        case 0x04d9: return 0x10004d9;
        case 0x30cf: return 0x04ca;
        case 0x20a2: return 0x10020a2;
        case 0x0e25: return 0x0dc5;
        case 0x10d0: return 0x10010d0;
        case 0x04e2: return 0x10004e2;
        case 0x04e3: return 0x10004e3;
        case 0x1ecc: return 0x1001ecc;
        case 0x2021: return 0x0af2;
        case 0x10d1: return 0x10010d1;
        case 0x04e8: return 0x10004e8;
        case 0x04b1: return 0x10004b1;
        case 0x0e27: return 0x0dc7;
        case 0x30d2: return 0x04cb;
        case 0x04ee: return 0x10004ee;
        case 0x04ef: return 0x10004ef;
        case 0x0e28: return 0x0dc8;
        case 0x10d3: return 0x10010d3;
        case 0x0e29: return 0x0dc9;
        case 0x10d4: return 0x10010d4;
        case 0x0e2a: return 0x0dca;
        case 0x30d5: return 0x04cc;
        case 0x2500: return 0x09f1;
        case 0x2502: return 0x09f8;
        case 0x0e2b: return 0x0dcb;
        case 0x10d6: return 0x10010d6;
        case 0x10f3: return 0x10010f3;
        case 0x0e42: return 0x0de2;
        case 0x0e2c: return 0x0dcc;
        case 0x10d7: return 0x10010d7;
        case 0x250c: return 0x09ec;
        case 0x10ec: return 0x10010ec;
        case 0x0e2d: return 0x0dcd;
        case 0x2510: return 0x09eb;
        case 0x30d8: return 0x04cd;
        case 0x057f: return 0x100057f;
        case 0x2514: return 0x09ed;
        case 0x0e2e: return 0x0dce;
        case 0x10d9: return 0x10010d9;
        case 0x2518: return 0x09ea;
        case 0x0e2f: return 0x0dcf;
        case 0x251c: return 0x09f4;
        case 0x10da: return 0x10010da;
        case 0x0e30: return 0x0dd0;
        case 0x30db: return 0x04ce;
        case 0x2524: return 0x09f5;
        case 0x0e31: return 0x0dd1;
        case 0x10dc: return 0x10010dc;
        case 0x252c: return 0x09f7;
        case 0x0e32: return 0x0dd2;
        case 0x10dd: return 0x10010dd;
        case 0x0531: return 0x1000531;
        case 0x0532: return 0x1000532;
        case 0x0e33: return 0x0dd3;
        case 0x2534: return 0x09f6;
        case 0x30de: return 0x04cf;
        case 0x0536: return 0x1000536;
        case 0x0537: return 0x1000537;
        case 0x0538: return 0x1000538;
        case 0x0e34: return 0x0dd4;
        case 0x053a: return 0x100053a;
        case 0x30df: return 0x04d0;
        case 0x253c: return 0x09ee;
        case 0x053d: return 0x100053d;
        case 0x053e: return 0x100053e;
        case 0x0e35: return 0x0dd5;
        case 0x0540: return 0x1000540;
        case 0x30e0: return 0x04d1;
        case 0x0542: return 0x1000542;
        case 0x0543: return 0x1000543;
        case 0x0544: return 0x1000544;
        case 0x0e36: return 0x0dd6;
        case 0x0546: return 0x1000546;
        case 0x30e1: return 0x04d2;
        case 0x0548: return 0x1000548;
        case 0x0549: return 0x1000549;
        case 0x23bb: return 0x09f0;
        case 0x0e37: return 0x0dd7;
        case 0x054c: return 0x100054c;
        case 0x30e2: return 0x04d3;
        case 0x054e: return 0x100054e;
        case 0x054f: return 0x100054f;
        case 0x0550: return 0x1000550;
        case 0x0e38: return 0x0dd8;
        case 0x0552: return 0x1000552;
        case 0x30e3: return 0x04ac;
        case 0x0554: return 0x1000554;
        case 0x0555: return 0x1000555;
        case 0x0556: return 0x1000556;
        case 0x0e39: return 0x0dd9;
        case 0x20a4: return 0x10020a4;
        case 0x30e4: return 0x04d4;
        case 0x0e0c: return 0x0dac;
        case 0x055b: return 0x100055b;
        case 0x055c: return 0x100055c;
        case 0x2025: return 0x0aaf;
        case 0x055e: return 0x100055e;
        case 0x30e5: return 0x04ad;
        case 0x0561: return 0x1000561;
        case 0x0562: return 0x1000562;
        case 0x0563: return 0x1000563;
        case 0x0564: return 0x1000564;
        case 0x30e6: return 0x04d5;
        case 0x0566: return 0x1000566;
        case 0x0567: return 0x1000567;
        case 0x0568: return 0x1000568;
        case 0x0569: return 0x1000569;
        case 0x056a: return 0x100056a;
        case 0x30e7: return 0x04ae;
        case 0x056c: return 0x100056c;
        case 0x056d: return 0x100056d;
        case 0x056e: return 0x100056e;
        case 0x056f: return 0x100056f;
        case 0x055d: return 0x100055d;
        case 0x30e8: return 0x04d6;
        case 0x0572: return 0x1000572;
        case 0x0573: return 0x1000573;
        case 0x0574: return 0x1000574;
        case 0x0575: return 0x1000575;
        case 0x0576: return 0x1000576;
        case 0x30e9: return 0x04d7;
        case 0x0578: return 0x1000578;
        case 0x0579: return 0x1000579;
        case 0x057a: return 0x100057a;
        case 0x2026: return 0x0aae;
        case 0x057c: return 0x100057c;
        case 0x30ea: return 0x04d8;
        case 0x057e: return 0x100057e;
        case 0x2395: return 0x0bcc;
        case 0x0580: return 0x1000580;
        case 0x0640: return 0x05e0;
        case 0x0582: return 0x1000582;
        case 0x30eb: return 0x04d9;
        case 0x0e09: return 0x0da9;
        case 0x0585: return 0x1000585;
        case 0x0586: return 0x1000586;
        case 0x0641: return 0x05e1;
        case 0x30ec: return 0x04da;
        case 0x058a: return 0x100058a;
        case 0x0583: return 0x1000583;
        case 0x2642: return 0x0af7;
        case 0x30ed: return 0x04db;
        case 0x2592: return 0x09e1;
        case 0x0e43: return 0x0de3;
        case 0x10ee: return 0x10010ee;
        case 0x1eba: return 0x1001eba;
        case 0x0e44: return 0x0de4;
        case 0x30ef: return 0x04dc;
        case 0x0e45: return 0x0de5;
        case 0x10f0: return 0x10010f0;
        case 0x0e0a: return 0x0daa;
        case 0x239b: return 0x08ab;
        case 0x10ed: return 0x10010ed;
        case 0x0e46: return 0x0de6;
        case 0x10f1: return 0x10010f1;
        case 0x0584: return 0x1000584;
        case 0x0647: return 0x05e7;
        case 0x30f2: return 0x04a6;
        case 0x239d: return 0x08ac;
        case 0x0e48: return 0x0de8;
        case 0x30f3: return 0x04dd;
        case 0x239e: return 0x08ad;
        case 0x0e49: return 0x0de9;
        case 0x10f4: return 0x10010f4;
        case 0x2156: return 0x0ab3;
        case 0x10f5: return 0x10010f5;
        case 0x0e0b: return 0x0dab;
        case 0x23a0: return 0x08ae;
        case 0x0e4b: return 0x0deb;
        case 0x10f6: return 0x10010f6;
        case 0x25c6: return 0x09e0;
        case 0x23a1: return 0x08a7;
        case 0x0e4c: return 0x0dec;
        case 0x25cb: return 0x0bcf;
        case 0x10d2: return 0x10010d2;
        case 0x0e4d: return 0x0ded;
        case 0x05d0: return 0x0ce0;
        case 0x05d1: return 0x0ce1;
        case 0x05d2: return 0x0ce2;
        case 0x23a3: return 0x08a8;
        case 0x05d4: return 0x0ce4;
        case 0x05d5: return 0x0ce5;
        case 0x05d6: return 0x0ce6;
        case 0x05d7: return 0x0ce7;
        case 0x05d8: return 0x0ce8;
        case 0x23a4: return 0x08a9;
        case 0x05da: return 0x0cea;
        case 0x05db: return 0x0ceb;
        case 0x05dc: return 0x0cec;
        case 0x05dd: return 0x0ced;
        case 0x05de: return 0x0cee;
        case 0x05df: return 0x0cef;
        case 0x23bc: return 0x09f2;
        case 0x05e1: return 0x0cf1;
        case 0x05e2: return 0x0cf2;
        case 0x30fb: return 0x04a5;
        case 0x05e4: return 0x0cf4;
        case 0x23a6: return 0x08aa;
        case 0x05e6: return 0x0cf6;
        case 0x05e7: return 0x0cf7;
        case 0x05e8: return 0x0cf8;
        case 0x30fc: return 0x04b0;
        case 0x05ea: return 0x0cfa;
        case 0x2666: return 0x0aed;
        case 0x0e52: return 0x0df2;
        case 0x23a8: return 0x08af;
        case 0x0e53: return 0x0df3;
        case 0x0e51: return 0x0df1;
        case 0x0e54: return 0x0df4;
        case 0x0e55: return 0x0df5;
        case 0x0e01: return 0x0da1;
        case 0x1e02: return 0x1001e02;
        case 0x1e03: return 0x1001e03;
        case 0x0e04: return 0x0da4;
        case 0x0e05: return 0x0da5;
        case 0x0e06: return 0x0da6;
        case 0x0e07: return 0x0da7;
        case 0x0e08: return 0x0da8;
        case 0x23ac: return 0x08b0;
        case 0x1e0a: return 0x1001e0a;
        case 0x1e0b: return 0x1001e0b;
        case 0x060c: return 0x05ac;
        case 0x0e0d: return 0x0dad;
        case 0x260e: return 0x0af9;
        case 0x0e0f: return 0x0daf;
        case 0x0e10: return 0x0db0;
        case 0x0e11: return 0x0db1;
        case 0x0e12: return 0x0db2;
        case 0x0e13: return 0x0db3;
        case 0x0e14: return 0x0db4;
        case 0x04bb: return 0x10004bb;
        case 0x0e16: return 0x0db6;
        case 0x0e17: return 0x0db7;
        case 0x0e18: return 0x0db8;
        case 0x0e19: return 0x0db9;
        case 0x0e0e: return 0x0dae;
        case 0x061b: return 0x05bb;
        case 0x0e1c: return 0x0dbc;
        case 0x0e1d: return 0x0dbd;
        case 0x1e1e: return 0x1001e1e;
        case 0x1e1f: return 0x1001e1f;
        case 0x0e20: return 0x0dc0;
        case 0x0621: return 0x05c1;
        case 0x0622: return 0x05c2;
        case 0x0623: return 0x05c3;
        case 0x0624: return 0x05c4;
        case 0x0625: return 0x05c5;
        case 0x0626: return 0x05c6;
        case 0x0627: return 0x05c7;
        case 0x0628: return 0x05c8;
        case 0x0629: return 0x05c9;
        case 0x062a: return 0x05ca;
        case 0x062b: return 0x05cb;
        case 0x062c: return 0x05cc;
        case 0x062d: return 0x05cd;
        case 0x062e: return 0x05ce;
        case 0x062f: return 0x05cf;
        case 0x0630: return 0x05d0;
        case 0x0631: return 0x05d1;
        case 0x0632: return 0x05d2;
        case 0x0633: return 0x05d3;
        case 0x0634: return 0x05d4;
        case 0x0635: return 0x05d5;
        case 0x0636: return 0x05d6;
        case 0x0637: return 0x05d7;
        case 0x0638: return 0x05d8;
        case 0x0639: return 0x05d9;
        case 0x063a: return 0x05da;
        case 0x0e3f: return 0x0ddf;
        case 0x1e40: return 0x1001e40;
        case 0x1e41: return 0x1001e41;
        case 0x0642: return 0x05e2;
        case 0x0643: return 0x05e3;
        case 0x0644: return 0x05e4;
        case 0x0645: return 0x05e5;
        case 0x0646: return 0x05e6;
        case 0x0661: return 0x1000661;
        case 0x0648: return 0x05e8;
        case 0x0649: return 0x05e9;
        case 0x064a: return 0x05ea;
        case 0x064b: return 0x05eb;
        case 0x064c: return 0x05ec;
        case 0x064d: return 0x05ed;
        case 0x064e: return 0x05ee;
        case 0x064f: return 0x05ef;
        case 0x0650: return 0x05f0;
        case 0x0651: return 0x05f1;
        case 0x0652: return 0x05f2;
        case 0x0653: return 0x1000653;
        case 0x0654: return 0x1000654;
        case 0x0655: return 0x1000655;
        case 0x1e56: return 0x1001e56;
        case 0x1e57: return 0x1001e57;
        case 0x0e58: return 0x0df8;
        case 0x0e59: return 0x0df9;
        case 0x23ba: return 0x09ef;
        case 0x2665: return 0x0aee;
        case 0x1e60: return 0x1001e60;
        case 0x1e61: return 0x1001e61;
        case 0x0662: return 0x1000662;
        case 0x0663: return 0x1000663;
        case 0x0664: return 0x1000664;
        case 0x0665: return 0x1000665;
        case 0x0666: return 0x1000666;
        case 0x0667: return 0x1000667;
        case 0x0668: return 0x1000668;
        case 0x0669: return 0x1000669;
        case 0x1e6a: return 0x1001e6a;
        case 0x1e6b: return 0x1001e6b;
        case 0x266d: return 0x0af6;
        case 0x23bd: return 0x09f3;
        case 0x0670: return 0x1000670;
        case 0x0679: return 0x1000679;
        case 0x066a: return 0x100066a;
        case 0x067e: return 0x100067e;
        case 0x1e80: return 0x1001e80;
        case 0x1e81: return 0x1001e81;
        case 0x1e82: return 0x1001e82;
        case 0x1e83: return 0x1001e83;
        case 0x1e84: return 0x1001e84;
        case 0x1e85: return 0x1001e85;
        case 0x0686: return 0x1000686;
        case 0x0688: return 0x1000688;
        case 0x1e8a: return 0x1001e8a;
        case 0x2117: return 0x0afb;
        case 0x0e56: return 0x0df6;
        case 0x0691: return 0x1000691;
        case 0x0698: return 0x1000698;
        case 0x266f: return 0x0af5;
        case 0x1ea0: return 0x1001ea0;
        case 0x1ea1: return 0x1001ea1;
        case 0x1ea2: return 0x1001ea2;
        case 0x1ea3: return 0x1001ea3;
        case 0x06a4: return 0x10006a4;
        case 0x1ea5: return 0x1001ea5;
        case 0x1ea6: return 0x1001ea6;
        case 0x1ea7: return 0x1001ea7;
        case 0x1ea8: return 0x1001ea8;
        case 0x06a9: return 0x10006a9;
        case 0x0e57: return 0x0df7;
        case 0x03c7: return 0x07f7;
        case 0x1eac: return 0x1001eac;
        case 0x1ead: return 0x1001ead;
        case 0x1eae: return 0x1001eae;
        case 0x06af: return 0x10006af;
        case 0x1eb0: return 0x1001eb0;
        case 0x1eb1: return 0x1001eb1;
        case 0x1eb2: return 0x1001eb2;
        case 0x1eb3: return 0x1001eb3;
        case 0x1eb4: return 0x1001eb4;
        case 0x211e: return 0x0ad4;
        case 0x1eb6: return 0x1001eb6;
        case 0x1eb7: return 0x1001eb7;
        case 0x1eb8: return 0x1001eb8;
        case 0x1eb9: return 0x1001eb9;
        case 0x06ba: return 0x10006ba;
        case 0x1ebb: return 0x1001ebb;
        case 0x1ebc: return 0x1001ebc;
        case 0x1ebd: return 0x1001ebd;
        case 0x06be: return 0x10006be;
        case 0x1ebf: return 0x1001ebf;
        case 0x1ec0: return 0x1001ec0;
        case 0x06c1: return 0x10006c1;
        case 0x1ec2: return 0x1001ec2;
        case 0x1ec3: return 0x1001ec3;
        case 0x1ec4: return 0x1001ec4;
        case 0x1ec5: return 0x1001ec5;
        case 0x1ec6: return 0x1001ec6;
        case 0x1ec7: return 0x1001ec7;
        case 0x1ec8: return 0x1001ec8;
        case 0x1ec9: return 0x1001ec9;
        case 0x1eca: return 0x1001eca;
        case 0x1ecb: return 0x1001ecb;
        case 0x06cc: return 0x10006cc;
        case 0x2122: return 0x0ac9;
        case 0x1ece: return 0x1001ece;
        case 0x03cd: return 0x07b8;
        case 0x1ed0: return 0x1001ed0;
        case 0x1ed1: return 0x1001ed1;
        case 0x06d2: return 0x10006d2;
        case 0x1ed3: return 0x1001ed3;
        case 0x06d4: return 0x10006d4;
        case 0x1ed5: return 0x1001ed5;
        case 0x1ed6: return 0x1001ed6;
        case 0x1ed7: return 0x1001ed7;
        case 0x1ed8: return 0x1001ed8;
        case 0x1ed9: return 0x1001ed9;
        case 0x1eda: return 0x1001eda;
        case 0x1edb: return 0x1001edb;
        case 0x1edc: return 0x1001edc;
        case 0x1edd: return 0x1001edd;
        case 0x1ede: return 0x1001ede;
        case 0x1edf: return 0x1001edf;
        case 0x1ee0: return 0x1001ee0;
        case 0x1ee1: return 0x1001ee1;
        case 0x1ee2: return 0x1001ee2;
        case 0x1ee3: return 0x1001ee3;
        case 0x1ee4: return 0x1001ee4;
        case 0x1ee5: return 0x1001ee5;
        case 0x1ee6: return 0x1001ee6;
        case 0x1ee7: return 0x1001ee7;
        case 0x1ee8: return 0x1001ee8;
        case 0x1ee9: return 0x1001ee9;
        case 0x1eea: return 0x1001eea;
        case 0x1eeb: return 0x1001eeb;
        case 0x1eec: return 0x1001eec;
        case 0x1eed: return 0x1001eed;
        case 0x1eee: return 0x1001eee;
        case 0x1eef: return 0x1001eef;
        case 0x06f0: return 0x10006f0;
        case 0x06f1: return 0x10006f1;
        case 0x1ef2: return 0x1001ef2;
        case 0x1ef3: return 0x1001ef3;
        case 0x06f4: return 0x10006f4;
        case 0x06f5: return 0x10006f5;
        case 0x06f6: return 0x10006f6;
        case 0x06f7: return 0x10006f7;
        case 0x06f8: return 0x10006f8;
        case 0x06f9: return 0x10006f9;
        case 0x2033: return 0x0ad7;
        case 0x0e26: return 0x0dc6;
        case 0x057b: return 0x100057b;
        case 0x012d: return 0x100012d;
        case 0x2713: return 0x0af3;
        case 0x2717: return 0x0af4;
        case 0x20a7: return 0x10020a7;
        case 0x271d: return 0x0ad9;
        case 0x2720: return 0x0af0;
        case 0x0533: return 0x1000533;
        case 0x0534: return 0x1000534;
        case 0x20ab: return 0x10020ab;
        case 0x0535: return 0x1000535;
        case 0x0589: return 0x1000589;
        case 0x1e8b: return 0x1001e8b;
        case 0x0539: return 0x1000539;
        case 0x0545: return 0x1000545;
        case 0x053b: return 0x100053b;
        case 0x053c: return 0x100053c;
        case 0x0577: return 0x1000577;
        case 0x0660: return 0x1000660;
        case 0x053f: return 0x100053f;
        case 0x0e02: return 0x0da2;
        case 0x0e1a: return 0x0dba;
        case 0x0541: return 0x1000541;
        case 0x043f: return 0x06d0;
        case 0x2038: return 0x0afc;
        case 0x0427: return 0x06fe;
        case 0x2002: return 0x0aa2;
        case 0x2640: return 0x0af8;
        case 0x2105: return 0x0ab8;
        case 0x0547: return 0x1000547;
        case 0x20a8: return 0x10020a8;
        case 0x054a: return 0x100054a;
        case 0x054b: return 0x100054b;
        case 0x054d: return 0x100054d;
        case 0x1ea4: return 0x1001ea4;
        case 0x0551: return 0x1000551;
        case 0x0553: return 0x1000553;
        case 0x2153: return 0x0ab0;
        case 0x1ea9: return 0x1001ea9;
        case 0x2154: return 0x0ab1;
        case 0x1eaa: return 0x1001eaa;
        case 0x2155: return 0x0ab2;
        default: break;    }
    }
    switch (qtKey) {
      case Qt::Key_0: if (qtModifiers & Qt::KeypadModifier) { return 0xffb0; } else { return 0x0030; }
      case Qt::Key_1: if (qtModifiers & Qt::KeypadModifier) { return 0xffb1; } else { return 0x0031; }
      case Qt::Key_2: if (qtModifiers & Qt::KeypadModifier) { return 0xffb2; } else { return 0x0032; }
      case Qt::Key_3: if (qtModifiers & Qt::KeypadModifier) { return 0xffb3; } else { return 0x0033; }
      case Qt::Key_4: if (qtModifiers & Qt::KeypadModifier) { return 0xffb4; } else { return 0x0034; }
      case Qt::Key_5: if (qtModifiers & Qt::KeypadModifier) { return 0xffb5; } else { return 0x0035; }
      case Qt::Key_6: if (qtModifiers & Qt::KeypadModifier) { return 0xffb6; } else { return 0x0036; }
      case Qt::Key_7: if (qtModifiers & Qt::KeypadModifier) { return 0xffb7; } else { return 0x0037; }
      case Qt::Key_8: if (qtModifiers & Qt::KeypadModifier) { return 0xffb8; } else { return 0x0038; }
      case Qt::Key_9: if (qtModifiers & Qt::KeypadModifier) { return 0xffb9; } else { return 0x0039; }
      case Qt::Key_A: if (qtModifiers & Qt::ShiftModifier) { return 0x0041; } else { return 0x0061; }
      case Qt::Key_AE: if (qtModifiers & Qt::ShiftModifier) { return 0x00c6; } else { return 0x00e6; }
      case Qt::Key_Aacute: return 0x00e1;
      case Qt::Key_Acircumflex: return 0x00e2;
      case Qt::Key_AddFavorite: return 0x1008ff39;
      case Qt::Key_Adiaeresis: return 0x00e4;
      case Qt::Key_Agrave: return 0x00e0;
      case Qt::Key_Alt: return 0xffe9;
      case Qt::Key_AltGr: return 0xffea;
      case Qt::Key_Ampersand: return 0x0026;
      case Qt::Key_Apostrophe: return 0x0027;
      case Qt::Key_ApplicationLeft: return 0x1008ff50;
      case Qt::Key_ApplicationRight: return 0x1008ff51;
      case Qt::Key_Aring: return 0x00e5;
      case Qt::Key_AsciiCircum: return 0x005e;
      case Qt::Key_AsciiTilde: return 0x007e;
      case Qt::Key_Asterisk: if (qtModifiers & Qt::KeypadModifier) { return 0xffaa; } else { return 0x002a; }
      case Qt::Key_At: return 0x0040;
      case Qt::Key_Atilde: return 0x00e3;
      case Qt::Key_AudioCycleTrack: return 0x1008ff9b;
      case Qt::Key_AudioForward: return 0x1008ff97;
      case Qt::Key_AudioRandomPlay: return 0x1008ff99;
      case Qt::Key_AudioRepeat: return 0x1008ff98;
      case Qt::Key_AudioRewind: return 0x1008ff3e;
      case Qt::Key_Away: return 0x1008ff8d;
      case Qt::Key_B: if (qtModifiers & Qt::ShiftModifier) { return 0x0042; } else { return 0x0062; }
      case Qt::Key_Back: return 0x1008ff26;
      case Qt::Key_BackForward: return 0x1008ff3f;
      case Qt::Key_Backslash: return 0x005c;
      case Qt::Key_Backspace: return 0xff08;
      case Qt::Key_Backtab: return 0xfe20;
      case Qt::Key_Bar: return 0x007c;
      case Qt::Key_Battery: return 0x1008ff93;
      case Qt::Key_Blue: return 0x1008ffa6;
      case Qt::Key_Bluetooth: return 0x1008ff94;
      case Qt::Key_Book: return 0x1008ff52;
      case Qt::Key_BraceLeft: return 0x007b;
      case Qt::Key_BraceRight: return 0x007d;
      case Qt::Key_BracketLeft: return 0x005b;
      case Qt::Key_BracketRight: return 0x005d;
      case Qt::Key_BrightnessAdjust: return 0x1008ff3b;
      case Qt::Key_C: if (qtModifiers & Qt::ShiftModifier) { return 0x0043; } else { return 0x0063; }
      case Qt::Key_CD: return 0x1008ff53;
      case Qt::Key_Calculator: return 0x1008ff1d;
      case Qt::Key_Calendar: return 0x1008ff20;
      case Qt::Key_Cancel: return 0xff69;
      case Qt::Key_CapsLock: return 0xffe5;
      case Qt::Key_Ccedilla: return 0x00e7;
      case Qt::Key_Clear: if (qtModifiers & Qt::KeypadModifier) { return 0xff9d; } else { return 0xff0b; }
      case Qt::Key_ClearGrab: return 0x1008fe21;
      case Qt::Key_Close: return 0x1008ff56;
      case Qt::Key_Codeinput: return 0xff37;
      case Qt::Key_Colon: return 0x003a;
      case Qt::Key_Comma: if (qtModifiers & Qt::KeypadModifier) { return 0xffac; } else { return 0x002c; }
      case Qt::Key_Community: return 0x1008ff3d;
      case Qt::Key_ContrastAdjust: return 0x1008ff22;
  #if defined(Q_OS_OSX)
      case Qt::Key_Meta: return 0xffe3;
  #else
      case Qt::Key_Control: return 0xffe3;
  #endif
      case Qt::Key_Copy: return 0x1008ff57;
      case Qt::Key_Cut: return 0x1008ff58;
      case Qt::Key_D: if (qtModifiers & Qt::ShiftModifier) { return 0x0044; } else { return 0x0064; }
      case Qt::Key_DOS: return 0x1008ff5a;
      case Qt::Key_Dead_Abovedot: return 0xfe56;
      case Qt::Key_Dead_Abovering: return 0xfe58;
      case Qt::Key_Dead_Acute: return 0xfe51;
      case Qt::Key_Dead_Belowdot: return 0xfe60;
      case Qt::Key_Dead_Breve: return 0xfe55;
      case Qt::Key_Dead_Caron: return 0xfe5a;
      case Qt::Key_Dead_Cedilla: return 0xfe5b;
      case Qt::Key_Dead_Circumflex: return 0xfe52;
      case Qt::Key_Dead_Diaeresis: return 0xfe57;
      case Qt::Key_Dead_Doubleacute: return 0xfe59;
      case Qt::Key_Dead_Grave: return 0xfe50;
      case Qt::Key_Dead_Hook: return 0xfe61;
      case Qt::Key_Dead_Horn: return 0xfe62;
      case Qt::Key_Dead_Iota: return 0xfe5d;
      case Qt::Key_Dead_Macron: return 0xfe54;
      case Qt::Key_Dead_Ogonek: return 0xfe5c;
      case Qt::Key_Dead_Semivoiced_Sound: return 0xfe5f;
      case Qt::Key_Dead_Tilde: return 0xfe53;
      case Qt::Key_Dead_Voiced_Sound: return 0xfe5e;
      case Qt::Key_Delete: if (qtModifiers & Qt::KeypadModifier) { return 0xff9f; } else { return 0xffff; }
      case Qt::Key_Display: return 0x1008ff59;
      case Qt::Key_Documents: return 0x1008ff5b;
      case Qt::Key_Dollar: return 0x0024;
      case Qt::Key_Down: if (qtModifiers & Qt::KeypadModifier) { return 0xff99; } else { return 0xff54; }
      case Qt::Key_E: if (qtModifiers & Qt::ShiftModifier) { return 0x0045; } else { return 0x0065; }
      case Qt::Key_ETH: if (qtModifiers & Qt::ShiftModifier) { return 0x00d0; } else { return 0x00f0; }
      case Qt::Key_Eacute: return 0x00e9;
      case Qt::Key_Ecircumflex: return 0x00ea;
      case Qt::Key_Ediaeresis: return 0x00eb;
      case Qt::Key_Egrave: return 0x00e8;
      case Qt::Key_Eisu_Shift: return 0xff2f;
      case Qt::Key_Eisu_toggle: return 0xff30;
      case Qt::Key_Eject: return 0x1008ff2c;
      case Qt::Key_End: if (qtModifiers & Qt::KeypadModifier) { return 0xff9c; } else { return 0xff57; }
      case Qt::Key_Enter: if (qtModifiers & Qt::KeypadModifier) { return 0xff8d; } else { return 0xff8d; }
      case Qt::Key_Equal: if (qtModifiers & Qt::KeypadModifier) { return 0xffbd; } else { return 0x003d; }
      case Qt::Key_Escape: return 0xff1b;
      case Qt::Key_Excel: return 0x1008ff5c;
      case Qt::Key_Exclam: return 0x0021;
      case Qt::Key_Execute: return 0xff62;
      case Qt::Key_Explorer: return 0x1008ff5d;
      case Qt::Key_F: if (qtModifiers & Qt::ShiftModifier) { return 0x0046; } else { return 0x0066; }
      case Qt::Key_F1: if (qtModifiers & Qt::KeypadModifier) { return 0xff91; } else { return 0xffbe; }
      case Qt::Key_F10: return 0xffc7;
      case Qt::Key_F11: return 0xffc8;
      case Qt::Key_F12: return 0xffc9;
      case Qt::Key_F13: return 0xffca;
      case Qt::Key_F14: return 0xffcb;
      case Qt::Key_F15: return 0xffcc;
      case Qt::Key_F16: return 0xffcd;
      case Qt::Key_F17: return 0xffce;
      case Qt::Key_F18: return 0xffcf;
      case Qt::Key_F19: return 0xffd0;
      case Qt::Key_F2: if (qtModifiers & Qt::KeypadModifier) { return 0xff92; } else { return 0xffbf; }
      case Qt::Key_F20: return 0xffd1;
      case Qt::Key_F21: return 0xffd2;
      case Qt::Key_F22: return 0xffd3;
      case Qt::Key_F23: return 0xffd4;
      case Qt::Key_F24: return 0xffd5;
      case Qt::Key_F25: return 0xffd6;
      case Qt::Key_F26: return 0xffd7;
      case Qt::Key_F27: return 0xffd8;
      case Qt::Key_F28: return 0xffd9;
      case Qt::Key_F29: return 0xffda;
      case Qt::Key_F3: if (qtModifiers & Qt::KeypadModifier) { return 0xff93; } else { return 0xffc0; }
      case Qt::Key_F30: return 0xffdb;
      case Qt::Key_F31: return 0xffdc;
      case Qt::Key_F32: return 0xffdd;
      case Qt::Key_F33: return 0xffde;
      case Qt::Key_F34: return 0xffdf;
      case Qt::Key_F35: return 0xffe0;
      case Qt::Key_F4: if (qtModifiers & Qt::KeypadModifier) { return 0xff94; } else { return 0xffc1; }
      case Qt::Key_F5: return 0xffc2;
      case Qt::Key_F6: return 0xffc3;
      case Qt::Key_F7: return 0xffc4;
      case Qt::Key_F8: return 0xffc5;
      case Qt::Key_F9: return 0xffc6;
      case Qt::Key_Favorites: return 0x1008ff30;
      case Qt::Key_Finance: return 0x1008ff3c;
      case Qt::Key_Find: return 0xff68;
      case Qt::Key_Forward: return 0x1008ff27;
      case Qt::Key_G: if (qtModifiers & Qt::ShiftModifier) { return 0x0047; } else { return 0x0067; }
      case Qt::Key_Game: return 0x1008ff5e;
      case Qt::Key_Go: return 0x1008ff5f;
      case Qt::Key_Greater: return 0x003e;
      case Qt::Key_Green: return 0x1008ffa4;
      case Qt::Key_H: if (qtModifiers & Qt::ShiftModifier) { return 0x0048; } else { return 0x0068; }
      case Qt::Key_Hangul: return 0xff31;
      case Qt::Key_Hangul_Banja: return 0xff39;
      case Qt::Key_Hangul_End: return 0xff33;
      case Qt::Key_Hangul_Hanja: return 0xff34;
      case Qt::Key_Hangul_Jamo: return 0xff35;
      case Qt::Key_Hangul_Jeonja: return 0xff38;
      case Qt::Key_Hangul_PostHanja: return 0xff3b;
      case Qt::Key_Hangul_PreHanja: return 0xff3a;
      case Qt::Key_Hangul_Romaja: return 0xff36;
      case Qt::Key_Hangul_Special: return 0xff3f;
      case Qt::Key_Hangul_Start: return 0xff32;
      case Qt::Key_Hankaku: return 0xff29;
      case Qt::Key_Help: return 0xff6a;
      case Qt::Key_Hibernate: return 0x1008ffa8;
      case Qt::Key_Hiragana: return 0xff25;
      case Qt::Key_Hiragana_Katakana: return 0xff27;
      case Qt::Key_History: return 0x1008ff37;
      case Qt::Key_Home: if (qtModifiers & Qt::KeypadModifier) { return 0xff95; } else { return 0xff50; }
      case Qt::Key_HomePage: return 0x1008ff18;
      case Qt::Key_HotLinks: return 0x1008ff3a;
      case Qt::Key_Hyper_L: return 0xffed;
      case Qt::Key_Hyper_R: return 0xffee;
      case Qt::Key_I: if (qtModifiers & Qt::ShiftModifier) { return 0x0049; } else { return 0x0069; }
      case Qt::Key_Iacute: return 0x00ed;
      case Qt::Key_Icircumflex: return 0x00ee;
      case Qt::Key_Idiaeresis: return 0x00ef;
      case Qt::Key_Igrave: return 0x00ec;
      case Qt::Key_Insert: if (qtModifiers & Qt::KeypadModifier) { return 0xff9e; } else { return 0xff63; }
      case Qt::Key_J: if (qtModifiers & Qt::ShiftModifier) { return 0x004a; } else { return 0x006a; }
      case Qt::Key_K: if (qtModifiers & Qt::ShiftModifier) { return 0x004b; } else { return 0x006b; }
      case Qt::Key_Kana_Lock: return 0xff2d;
      case Qt::Key_Kana_Shift: return 0xff2e;
      case Qt::Key_Kanji: return 0xff21;
      case Qt::Key_Katakana: return 0xff26;
      case Qt::Key_KeyboardBrightnessDown: return 0x1008ff06;
      case Qt::Key_KeyboardBrightnessUp: return 0x1008ff05;
      case Qt::Key_KeyboardLightOnOff: return 0x1008ff04;
      case Qt::Key_L: if (qtModifiers & Qt::ShiftModifier) { return 0x004c; } else { return 0x006c; }
      case Qt::Key_LaunchMail: return 0x1008ff19;
      case Qt::Key_LaunchMedia: return 0x1008ff32;
      case Qt::Key_Left: if (qtModifiers & Qt::KeypadModifier) { return 0xff96; } else { return 0xff51; }
      case Qt::Key_Less: return 0x003c;
      case Qt::Key_LightBulb: return 0x1008ff35;
      case Qt::Key_LogOff: return 0x1008ff61;
      case Qt::Key_M: if (qtModifiers & Qt::ShiftModifier) { return 0x004d; } else { return 0x006d; }
      case Qt::Key_MailForward: return 0x1008ff90;
      case Qt::Key_Market: return 0x1008ff62;
      case Qt::Key_Massyo: return 0xff2c;
      case Qt::Key_MediaNext: return 0x1008ff17;
      case Qt::Key_MediaPause: return 0x1008ff31;
      case Qt::Key_MediaPlay: return 0x1008ff14;
      case Qt::Key_MediaPrevious: return 0x1008ff16;
      case Qt::Key_MediaRecord: return 0x1008ff1c;
      case Qt::Key_MediaStop: return 0x1008ff15;
      case Qt::Key_Meeting: return 0x1008ff63;
      case Qt::Key_Memo: return 0x1008ff1e;
      case Qt::Key_Menu: return 0xff67;
      case Qt::Key_MenuKB: return 0x1008ff65;
      case Qt::Key_MenuPB: return 0x1008ff66;
      case Qt::Key_Messenger: return 0x1008ff8e;
  #if defined(Q_OS_OSX)
      case Qt::Key_Control: return 0xffe7;
  #else
      case Qt::Key_Meta: return 0xffe7;
  #endif
      case Qt::Key_MicMute: return 0x1008ffb2;
      case Qt::Key_Minus: if (qtModifiers & Qt::KeypadModifier) { return 0xffad; } else { return 0x002d; }
      case Qt::Key_Mode_switch: return 0xff7e;
      case Qt::Key_MonBrightnessDown: return 0x1008ff03;
      case Qt::Key_MonBrightnessUp: return 0x1008ff02;
      case Qt::Key_Muhenkan: return 0xff22;
      case Qt::Key_Multi_key: return 0xff20;
      case Qt::Key_MultipleCandidate: return 0xff3d;
      case Qt::Key_Music: return 0x1008ff92;
      case Qt::Key_MySites: return 0x1008ff67;
      case Qt::Key_N: if (qtModifiers & Qt::ShiftModifier) { return 0x004e; } else { return 0x006e; }
      case Qt::Key_New: return 0x1008ff68;
      case Qt::Key_News: return 0x1008ff69;
      case Qt::Key_Ntilde: return 0x00f1;
      case Qt::Key_NumLock: return 0xff7f;
      case Qt::Key_NumberSign: return 0x0023;
      case Qt::Key_O: if (qtModifiers & Qt::ShiftModifier) { return 0x004f; } else { return 0x006f; }
      case Qt::Key_Oacute: return 0x00f3;
      case Qt::Key_Ocircumflex: return 0x00f4;
      case Qt::Key_Odiaeresis: return 0x00f6;
      case Qt::Key_OfficeHome: return 0x1008ff6a;
      case Qt::Key_Ograve: return 0x00f2;
      case Qt::Key_Open: return 0x1008ff6b;
      case Qt::Key_OpenUrl: return 0x1008ff38;
      case Qt::Key_Option: return 0x1008ff6c;
      case Qt::Key_Otilde: return 0x00f5;
      case Qt::Key_P: if (qtModifiers & Qt::ShiftModifier) { return 0x0050; } else { return 0x0070; }
      case Qt::Key_PageDown: if (qtModifiers & Qt::KeypadModifier) { return 0xff9b; } else { return 0xff56; }
      case Qt::Key_PageUp: if (qtModifiers & Qt::KeypadModifier) { return 0xff9a; } else { return 0xff55; }
      case Qt::Key_ParenLeft: return 0x0028;
      case Qt::Key_ParenRight: return 0x0029;
      case Qt::Key_Paste: return 0x1008ff6d;
      case Qt::Key_Pause: return 0xff13;
      case Qt::Key_Percent: return 0x0025;
      case Qt::Key_Period: if (qtModifiers & Qt::KeypadModifier) { return 0xffae; } else { return 0x002e; }
      case Qt::Key_Phone: return 0x1008ff6e;
      case Qt::Key_Pictures: return 0x1008ff91;
      case Qt::Key_Plus: if (qtModifiers & Qt::KeypadModifier) { return 0xffab; } else { return 0x002b; }
      case Qt::Key_PowerDown: return 0x1008ff21;
      case Qt::Key_PowerOff: return 0x1008ff2a;
      case Qt::Key_PreviousCandidate: return 0xff3e;
      case Qt::Key_Print: return 0xff61;
      case Qt::Key_Q: if (qtModifiers & Qt::ShiftModifier) { return 0x0051; } else { return 0x0071; }
      case Qt::Key_Question: return 0x003f;
      case Qt::Key_QuoteDbl: return 0x0022;
      case Qt::Key_R: if (qtModifiers & Qt::ShiftModifier) { return 0x0052; } else { return 0x0072; }
      case Qt::Key_Red: return 0x1008ffa3;
      case Qt::Key_Redo: return 0xff66;
      case Qt::Key_Refresh: return 0x1008ff29;
      case Qt::Key_Reload: return 0x1008ff73;
      case Qt::Key_Reply: return 0x1008ff72;
      case Qt::Key_Return: return 0xff0d;
      case Qt::Key_Right: if (qtModifiers & Qt::KeypadModifier) { return 0xff98; } else { return 0xff53; }
      case Qt::Key_Romaji: return 0xff24;
      case Qt::Key_RotateWindows: return 0x1008ff74;
      case Qt::Key_RotationKB: return 0x1008ff76;
      case Qt::Key_RotationPB: return 0x1008ff75;
      case Qt::Key_S: if (qtModifiers & Qt::ShiftModifier) { return 0x0053; } else { return 0x0073; }
      case Qt::Key_Save: return 0x1008ff77;
      case Qt::Key_ScreenSaver: return 0x1008ff2d;
      case Qt::Key_ScrollLock: return 0xff14;
      case Qt::Key_Search: return 0x1008ff1b;
      case Qt::Key_Select: return 0xff60;
      case Qt::Key_Semicolon: return 0x003b;
      case Qt::Key_Send: return 0x1008ff7b;
      case Qt::Key_Shift: return 0xffe1;
      case Qt::Key_Shop: return 0x1008ff36;
      case Qt::Key_SingleCandidate: return 0xff3c;
      case Qt::Key_Slash: if (qtModifiers & Qt::KeypadModifier) { return 0xffaf; } else { return 0x002f; }
      case Qt::Key_Sleep: return 0x1008ff2f;
      case Qt::Key_Space: if (qtModifiers & Qt::KeypadModifier) { return 0xff80; } else { return 0x0020; }
      case Qt::Key_Spell: return 0x1008ff7c;
      case Qt::Key_SplitScreen: return 0x1008ff7d;
      case Qt::Key_Standby: return 0x1008ff10;
      case Qt::Key_Stop: return 0x1008ff28;
      case Qt::Key_Subtitle: return 0x1008ff9a;
      case Qt::Key_Super_L: return 0xffeb;
      case Qt::Key_Super_R: return 0xffec;
      case Qt::Key_Support: return 0x1008ff7e;
      case Qt::Key_Suspend: return 0x1008ffa7;
      case Qt::Key_T: if (qtModifiers & Qt::ShiftModifier) { return 0x0054; } else { return 0x0074; }
      case Qt::Key_THORN: if (qtModifiers & Qt::ShiftModifier) { return 0x00de; } else { return 0x00fe; }
      case Qt::Key_Tab: if (qtModifiers & Qt::KeypadModifier) { return 0xff89; } else { return 0xff09; }
      case Qt::Key_TaskPane: return 0x1008ff7f;
      case Qt::Key_Terminal: return 0x1008ff80;
      case Qt::Key_Time: return 0x1008ff9f;
      case Qt::Key_ToDoList: return 0x1008ff1f;
      case Qt::Key_Tools: return 0x1008ff81;
      case Qt::Key_TopMenu: return 0x1008ffa2;
      case Qt::Key_TouchpadOff: return 0x1008ffb1;
      case Qt::Key_TouchpadOn: return 0x1008ffb0;
      case Qt::Key_TouchpadToggle: return 0x1008ffa9;
      case Qt::Key_Touroku: return 0xff2b;
      case Qt::Key_Travel: return 0x1008ff82;
      case Qt::Key_U: if (qtModifiers & Qt::ShiftModifier) { return 0x0055; } else { return 0x0075; }
      case Qt::Key_UWB: return 0x1008ff96;
      case Qt::Key_Uacute: return 0x00fa;
      case Qt::Key_Ucircumflex: return 0x00fb;
      case Qt::Key_Udiaeresis: return 0x00fc;
      case Qt::Key_Ugrave: return 0x00f9;
      case Qt::Key_Underscore: return 0x005f;
      case Qt::Key_Undo: return 0xff65;
      case Qt::Key_Up: if (qtModifiers & Qt::KeypadModifier) { return 0xff97; } else { return 0xff52; }
      case Qt::Key_V: if (qtModifiers & Qt::ShiftModifier) { return 0x0056; } else { return 0x0076; }
      case Qt::Key_Video: return 0x1008ff87;
      case Qt::Key_View: return 0x1008ffa1;
      case Qt::Key_VolumeDown: return 0x1008ff11;
      case Qt::Key_VolumeMute: return 0x1008ff12;
      case Qt::Key_VolumeUp: return 0x1008ff13;
      case Qt::Key_W: if (qtModifiers & Qt::ShiftModifier) { return 0x0057; } else { return 0x0077; }
      case Qt::Key_WLAN: return 0x1008ff95;
      case Qt::Key_WWW: return 0x1008ff2e;
      case Qt::Key_WakeUp: return 0x1008ff2b;
      case Qt::Key_WebCam: return 0x1008ff8f;
      case Qt::Key_Word: return 0x1008ff89;
      case Qt::Key_X: if (qtModifiers & Qt::ShiftModifier) { return 0x0058; } else { return 0x0078; }
      case Qt::Key_Xfer: return 0x1008ff8a;
      case Qt::Key_Y: if (qtModifiers & Qt::ShiftModifier) { return 0x0059; } else { return 0x0079; }
      case Qt::Key_Yacute: return 0x00fd;
      case Qt::Key_Yellow: return 0x1008ffa5;
      case Qt::Key_Z: if (qtModifiers & Qt::ShiftModifier) { return 0x005a; } else { return 0x007a; }
      case Qt::Key_Zenkaku: return 0xff28;
      case Qt::Key_Zenkaku_Hankaku: return 0xff2a;
      case Qt::Key_ZoomIn: return 0x1008ff8b;
      case Qt::Key_ZoomOut: return 0x1008ff8c;
      case Qt::Key_acute: return 0x00b4;
      case Qt::Key_brokenbar: return 0x00a6;
      case Qt::Key_cedilla: return 0x00b8;
      case Qt::Key_cent: return 0x00a2;
      case Qt::Key_copyright: return 0x00a9;
      case Qt::Key_currency: return 0x00a4;
      case Qt::Key_degree: return 0x00b0;
      case Qt::Key_diaeresis: return 0x00a8;
      case Qt::Key_division: return 0x00f7;
      case Qt::Key_exclamdown: return 0x00a1;
      case Qt::Key_guillemotleft: return 0x00ab;
      case Qt::Key_guillemotright: return 0x00bb;
      case Qt::Key_hyphen: return 0x00ad;
      case Qt::Key_iTouch: return 0x1008ff60;
      case Qt::Key_macron: return 0x00af;
      case Qt::Key_masculine: return 0x00ba;
      case Qt::Key_mu: return 0x00b5;
      case Qt::Key_multiply: return 0x00d7;
      case Qt::Key_nobreakspace: return 0x00a0;
      case Qt::Key_notsign: return 0x00ac;
      case Qt::Key_onehalf: return 0x00bd;
      case Qt::Key_onequarter: return 0x00bc;
      case Qt::Key_onesuperior: return 0x00b9;
      case Qt::Key_ordfeminine: return 0x00aa;
      case Qt::Key_paragraph: return 0x00b6;
      case Qt::Key_periodcentered: return 0x00b7;
      case Qt::Key_plusminus: return 0x00b1;
      case Qt::Key_questiondown: return 0x00bf;
      case Qt::Key_registered: return 0x00ae;
      case Qt::Key_section: return 0x00a7;
      case Qt::Key_ssharp: return 0x00df;
      case Qt::Key_sterling: return 0x00a3;
      case Qt::Key_threequarters: return 0x00be;
      case Qt::Key_threesuperior: return 0x00b3;
      case Qt::Key_twosuperior: return 0x00b2;
      case Qt::Key_ydiaeresis: return 0x00ff;
      case Qt::Key_yen: return 0x00a5;
      default: return 0;
    }
  }
  #endif
  