
function unicodeAlternatives(keycode)
{
  switch (keycode)
  {
  case 0x21: // !
    return("!¡");
  case 0x24: // $
    return("$¢£¥₤€");
  case 0x25: // %
    return("%‰");
  case 0x28: // (
    return("(〈");
  case 0x29: // )
    return(")〉");
  case 0x2a: // *
    return("*∙×∗⊗");
  case 0x2b: // +
    return("+±⁺₊⊕⊢⊥");
  case 0x2d: // -
    return("-¬±←→↔⁻₋⊖⊢⊥");
  case 0x2e: // .
    return(".⋮⋯⋱");

  case 0x30: // 0
    return("0⁰₀°Ø∘");
  case 0x31: // 1
    return("1¹₁½⅓¼⅛");
  case 0x32: // 2
    return("2²₂⅔");
  case 0x33: // 3
    return("3³₃¾");
  case 0x34: // 4
    return("4⁴₄");
  case 0x35: // 5
    return("5⁵₅");
  case 0x36: // 6
    return("6⁶₆");
  case 0x37: // 7
    return("7⁷₇");
  case 0x38: // 8
    return("8⁸₈∞");
  case 0x39: // 9
    return("9⁹₉");

  case 0x3c: // <
    return("<«‹≤≪⊂⊄⊆⊈");
  case 0x3d: // =
    return("=≈≠≡≙≢⇒⇏⇐");
  case 0x3e: // >
    return(">»›≥≫⊃⊅⊇⊉");
  case 0x3f: // ?
    return("?¿�");

  case 0x41: // A
    return("AÀÁÂÄÅÆ∀∡∧");
  case 0x43: // C
    return("CÇĆĈČ⌘©");
  case 0x44: // D
    return("DÐΔ∆⌫");
  case 0x45: // E
    return("EÈÉÊËĚẼ€∃∄∈∉∋∌");
  case 0x49: // I
    return("IÌÍÎÏĨ∣∤∥∦");
  case 0x4c: // L
    return("LĹŁΛ");
  case 0x4e: // N
    return("NÑŃŇ№");
  case 0x4f: // O
    return("OÒÓÔÖØŒΩ∅⌥");
  case 0x50: // P
    return("P∏¶");
  case 0x52: // r
    return("R®ŔŘ");
  case 0x53: // S
    return("SŚŜŠ∑∫∬");
  case 0x54: // T
    return("T™†");
  case 0x55: // U
    return("UÙÚÛÜŨ");
  case 0x59: // Y
    return("YỲÝŸ");
  case 0x5a: // Z
    return("ZŹŽ");

  case 0x61: // a
    return("aàáâäåæǎα∡∧");
  case 0x62: // b
    return("bβ");
  case 0x63: // c
    return("cçćĉčγ©¢⌘");
  case 0x64: // d
    return("dδ⌫");
  case 0x65: // e
    return("eèéêëěεẽ℮€∈∉∋∌");
  case 0x66: // f
    return("fƒ");
  case 0x67: // g
    return("gĝ");
  case 0x68: // h
    return("hĥ");
  case 0x69: // i
    return("iìíîïĩ");
  case 0x6c: // l
    return("l£łλℓ₤∣∤∥∦");
  case 0x6d: // m
    return("mµμ");
  case 0x6e: // n
    return("nñňŋ∩ⁿ");
  case 0x6f: // o
    return("oòóôöøœω○∘⌥");
  case 0x70: // p
    return("pπ");
  case 0x72: // r
    return("r®ŕřρ");
  case 0x73: // s
    return("sßśŝšσ");
  case 0x74: // t
    return("t™†");
  case 0x75: // u
    return("uùúûüµũ∪");
  case 0x76: // v
    return("v√∛∜∨");
  case 0x78: // x
    return("x×⊗");
  case 0x79: // y
    return("yýÿ¥");
  case 0x7a: // z
    return("zźž");
  default:
    return("");
  }
}

