<filename>keycodes.py
# -*- coding: utf-8 -*-

KEYCODE_CHAR_MAP = {
    'KEY_1':            {False: '1', True: '!'},
    'KEY_2':            {False: '2', True: '@'},
    'KEY_3':            {False: '3', True: '#'},
    'KEY_4':            {False: '4', True: '$'},
    'KEY_5':            {False: '5', True: '%'},
    'KEY_6':            {False: '6', True: '^'},
    'KEY_7':            {False: '7', True: '&'},
    'KEY_8':            {False: '8', True: '*'},
    'KEY_9':            {False: '9', True: '('},
    'KEY_0':            {False: '0', True: ')'},
    'KEY_MINUS':        {False: '-', True: '_'},
    'KEY_EQUAL':        {False: '=', True: '+'},
    'KEY_A':            {False: 'a', True: 'A'},
    'KEY_B':            {False: 'b', True: 'B'},
    'KEY_C':            {False: 'c', True: 'C'},
    'KEY_D':            {False: 'd', True: 'D'},
    'KEY_E':            {False: 'e', True: 'E'},
    'KEY_F':            {False: 'f', True: 'F'},
    'KEY_G':            {False: 'g', True: 'G'},
    'KEY_H':            {False: 'h', True: 'H'},
    'KEY_I':            {False: 'i', True: 'I'},
    'KEY_J':            {False: 'j', True: 'J'},
    'KEY_K':            {False: 'k', True: 'K'},
    'KEY_L':            {False: 'l', True: 'L'},
    'KEY_M':            {False: 'm', True: 'M'},
    'KEY_N':            {False: 'n', True: 'N'},
    'KEY_O':            {False: 'o', True: 'O'},
    'KEY_P':            {False: 'p', True: 'P'},
    'KEY_Q':            {False: 'q', True: 'Q'},
    'KEY_R':            {False: 'r', True: 'R'},
    'KEY_S':            {False: 's', True: 'S'},
    'KEY_T':            {False: 't', True: 'T'},
    'KEY_U':            {False: 'u', True: 'U'},
    'KEY_V':            {False: 'v', True: 'V'},
    'KEY_W':            {False: 'w', True: 'W'},
    'KEY_X':            {False: 'x', True: 'X'},
    'KEY_Y':            {False: 'y', True: 'Y'},
    'KEY_Z':            {False: 'z', True: 'Z'},
    'KEY_SEMICOLON':    {False: ';', True: ':'},
    'KEY_LEFTBRACE':    {False: '[', True: '{'},
    'KEY_RIGHTBRACE':   {False: ']', True: '}'},
    'KEY_APOSTROPHE':   {False: '\'', True: '"'},
    'KEY_BACKSLASH':    {False: '\\', True: '|'},
    'KEY_GRAVE':        {False: '`', True: '~'},
    'KEY_COMMA':        {False: ',', True: '<'},
    'KEY_DOT':          {False: '.', True: '>'},
    'KEY_SLASH':        {False: '/', True: '?'},
    'KEY_KP0':          {False: '0', True: ''},
    'KEY_KP0':          {False: '1', True: ''},
    'KEY_KP0':          {False: '2', True: ''},
    'KEY_KP0':          {False: '3', True: ''},
    'KEY_KP0':          {False: '4', True: ''},
    'KEY_KP0':          {False: '5', True: ''},
    'KEY_KP0':          {False: '6', True: ''},
    'KEY_KP0':          {False: '7', True: ''},
    'KEY_KP0':          {False: '8', True: ''},
    'KEY_KP0':          {False: '9', True: ''},
    'KEY_KPDOT':        {False: '.', True: ''},
    'KEY_KPPLUS':       {False: '+', True: '+'},
    'KEY_KPMINUS':      {False: '-', True: '-'},
    'KEY_KPASTERISK':   {False: '*', True: '*'},
    'KEY_KPSLASH':      {False: '/', True: '/'},
    'KEY_ENTER':        {False: '\n', True: '\n'},
}
<filename>keycodes.py
# -*- coding: utf-8 -*-

KEYCODE_CHAR_MAP = {
    'KEY_1':            {False: '1', True: '!'},
    'KEY_2':            {False: '2', True: '@'},
    'KEY_3':            {False: '3', True: '#'},
    'KEY_4':            {False: '4', True: '$'},
    'KEY_5':            {False: '5', True: '%'},
    'KEY_6':            {False: '6', True: '^'},
    'KEY_7':            {False: '7', True: '&'},
    'KEY_8':            {False: '8', True: '*'},
    'KEY_9':            {False: '9', True: '('},
    'KEY_0':            {False: '0', True: ')'},
    'KEY_MINUS':        {False: '-', True: '_'},
    'KEY_EQUAL':        {False: '=', True: '+'},
    'KEY_A':            {False: 'a', True: 'A'},
    'KEY_B':            {False: 'b', True: 'B'},
    'KEY_C':            {False: 'c', True: 'C'},
    'KEY_D':            {False: 'd', True: 'D'},
    'KEY_E':            {False: 'e', True: 'E'},
    'KEY_F':            {False: 'f', True: 'F'},
    'KEY_G':            {False: 'g', True: 'G'},
    'KEY_H':            {False: 'h', True: 'H'},
    'KEY_I':            {False: 'i', True: 'I'},
    'KEY_J':            {False: 'j', True: 'J'},
    'KEY_K':            {False: 'k', True: 'K'},
    'KEY_L':            {False: 'l', True: 'L'},
    'KEY_M':            {False: 'm', True: 'M'},
    'KEY_N':            {False: 'n', True: 'N'},
    'KEY_O':            {False: 'o', True: 'O'},
    'KEY_P':            {False: 'p', True: 'P'},
    'KEY_Q':            {False: 'q', True: 'Q'},
    'KEY_R':            {False: 'r', True: 'R'},
    'KEY_S':            {False: 's', True: 'S'},
    'KEY_T':            {False: 't', True: 'T'},
    'KEY_U':            {False: 'u', True: 'U'},
    'KEY_V':            {False: 'v', True: 'V'},
    'KEY_W':            {False: 'w', True: 'W'},
    'KEY_X':            {False: 'x', True: 'X'},
    'KEY_Y':            {False: 'y', True: 'Y'},
    'KEY_Z':            {False: 'z', True: 'Z'},
    'KEY_SEMICOLON':    {False: ';', True: ':'},
    'KEY_LEFTBRACE':    {False: '[', True: '{'},
    'KEY_RIGHTBRACE':   {False: ']', True: '}'},
    'KEY_APOSTROPHE':   {False: '\'', True: '"'},
    'KEY_BACKSLASH':    {False: '\\', True: '|'},
    'KEY_GRAVE':        {False: '`', True: '~'},
    'KEY_COMMA':        {False: ',', True: '<'},
    'KEY_DOT':          {False: '.', True: '>'},
    'KEY_SLASH':        {False: '/', True: '?'},
    'KEY_KP0':          {False: '0', True: ''},
    'KEY_KP0':          {False: '1', True: ''},
    'KEY_KP0':          {False: '2', True: ''},
    'KEY_KP0':          {False: '3', True: ''},
    'KEY_KP0':          {False: '4', True: ''},
    'KEY_KP0':          {False: '5', True: ''},
    'KEY_KP0':          {False: '6', True: ''},
    'KEY_KP0':          {False: '7', True: ''},
    'KEY_KP0':          {False: '8', True: ''},
    'KEY_KP0':          {False: '9', True: ''},
    'KEY_KPDOT':        {False: '.', True: ''},
    'KEY_KPPLUS':       {False: '+', True: '+'},
    'KEY_KPMINUS':      {False: '-', True: '-'},
    'KEY_KPASTERISK':   {False: '*', True: '*'},
    'KEY_KPSLASH':      {False: '/', True: '/'},
    'KEY_ENTER':        {False: '\n', True: '\n'},
}
# -*- coding: utf-8 -*-