(module-name (editor input android-keymap))

(import (editor input input))
(define-alias KeyEvent android.view.KeyEvent)

(define (set-key-code-name! key-code name)
  (set! (key-code-name (as long key-code)) name))

(define (initialize-keymap)

  (set-key-code-name! KeyEvent:KEYCODE_11 11)
  (set-key-code-name! KeyEvent:KEYCODE_12 12)
  (set-key-code-name! KeyEvent:KEYCODE_3D_MODE '3d-mode)
  ;;(set-key-code-name! KeyEvent:KEYCODE_ALL_CAPS 'all-caps)
  (set-key-code-name! KeyEvent:KEYCODE_ALT_LEFT 'alt-left)
  (set-key-code-name! KeyEvent:KEYCODE_ALT_RIGHT 'alt-right)
  (set-key-code-name! KeyEvent:KEYCODE_APP_SWITCH 'app-switch)
  (set-key-code-name! KeyEvent:KEYCODE_ASSIST 'assist)
  (set-key-code-name! KeyEvent:KEYCODE_AVR_INPUT 'avr-input)
  (set-key-code-name! KeyEvent:KEYCODE_AVR_POWER 'avr-power)
  (set-key-code-name! KeyEvent:KEYCODE_BACK 'back)
  (set-key-code-name! KeyEvent:KEYCODE_BOOKMARK 'bookmark)
  (set-key-code-name! KeyEvent:KEYCODE_BRIGHTNESS_DOWN
	'brightness-down)
  (set-key-code-name! KeyEvent:KEYCODE_BRIGHTNESS_UP 'brightness-up)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_1 'button1)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_2 'button2)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_3 'button3)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_4 'button4)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_5 'button5)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_6 'button6)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_7 'button7)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_8 'button8)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_9 'button9)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_10 'button10)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_11 'button11)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_12 'button12)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_13 'button13)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_14 'button14)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_15 'button15)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_16 'button16)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_A 'buttonA)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_B 'buttonB)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_C 'buttonC)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_MODE 'button-mode)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_L1 'buttonL1)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_L2 'buttonL2)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_R1 'buttonR1)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_R2 'buttonR2)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_SELECT 'button-select)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_START 'button-start)
  #;(set-key-code-name! KeyEvent:KEYCODE_BUTTON_THUMB_LEFT
	'button-thumb-left)
  #;(set-key-code-name! KeyEvent:KEYCODE_BUTTON_THUMB_RIGHT
	'button-thumb-right) 
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_START 'buttonX)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_START 'buttonY)
  (set-key-code-name! KeyEvent:KEYCODE_BUTTON_START 'buttonZ)
  (set-key-code-name! KeyEvent:KEYCODE_CALCULATOR 'calculator)
  (set-key-code-name! KeyEvent:KEYCODE_CALENDAR 'calendar)
  (set-key-code-name! KeyEvent:KEYCODE_CALL 'call)
  (set-key-code-name! KeyEvent:KEYCODE_CAMERA 'camera)
  (set-key-code-name! KeyEvent:KEYCODE_CAPTIONS 'captions)
  (set-key-code-name! KeyEvent:KEYCODE_CHANNEL_UP 'channel-up)
  (set-key-code-name! KeyEvent:KEYCODE_CHANNEL_DOWN 'channel-down)
  (set-key-code-name! KeyEvent:KEYCODE_CLEAR 'clear)
  (set-key-code-name! KeyEvent:KEYCODE_CONTACTS 'contacts)
  (set-key-code-name! KeyEvent:KEYCODE_COPY 'copy)
  (set-key-code-name! KeyEvent:KEYCODE_CTRL_LEFT 'ctrl-left)
  (set-key-code-name! KeyEvent:KEYCODE_CTRL_RIGHT 'ctrl-right)
  (set-key-code-name! KeyEvent:KEYCODE_CUT 'cut)
  ;;(set-key-code-name! KeyEvent:KEYCODE_DEMO_APP_1 'demo-app1)
  ;;(set-key-code-name! KeyEvent:KEYCODE_DEMO_APP_2 'demo-app2)
  ;;(set-key-code-name! KeyEvent:KEYCODE_DEMO_APP_3 'demo-app3)
  ;;(set-key-code-name! KeyEvent:KEYCODE_DEMO_APP_4 'demo-app4)
  (set-key-code-name! KeyEvent:KEYCODE_DVR 'dvr)
  (set-key-code-name! KeyEvent:KEYCODE_EISU 'eisu)
  (set-key-code-name! KeyEvent:KEYCODE_ENDCALL 'endcall)
  (set-key-code-name! KeyEvent:KEYCODE_ENVELOPE 'envelope)
  (set-key-code-name! KeyEvent:KEYCODE_EXPLORER 'explorer)
  #|
  (set-key-code-name! KeyEvent:KEYCODE_FEATURED_APP_1 'featured-app1)
  (set-key-code-name! KeyEvent:KEYCODE_FEATURED_APP_2 'featured-app2)
  (set-key-code-name! KeyEvent:KEYCODE_FEATURED_APP_3 'featured-app3)
  (set-key-code-name! KeyEvent:KEYCODE_FEATURED_APP_4 'featured-app4)
  |#
  (set-key-code-name! KeyEvent:KEYCODE_FOCUS 'focus)
  (set-key-code-name! KeyEvent:KEYCODE_FORWARD 'forward)
  (set-key-code-name! KeyEvent:KEYCODE_INFO 'info)
  (set-key-code-name! KeyEvent:KEYCODE_KANA 'kana)
  (set-key-code-name! KeyEvent:KEYCODE_LANGUAGE_SWITCH
	'switch-language)
  (set-key-code-name! KeyEvent:KEYCODE_LAST_CHANNEL 'last-channel)
  (set-key-code-name! KeyEvent:KEYCODE_MANNER_MODE 'manner-mode)
  (set-key-code-name! KeyEvent:KEYCODE_MEDIA_CLOSE 'media-close)
  (set-key-code-name! KeyEvent:KEYCODE_MEDIA_EJECT 'media-eject)
  (set-key-code-name! KeyEvent:KEYCODE_MEDIA_FAST_FORWARD
	'media-fast-forward)
  (set-key-code-name! KeyEvent:KEYCODE_MEDIA_NEXT 'media-next)
  (set-key-code-name! KeyEvent:KEYCODE_MEDIA_PAUSE 'media-pause)
  (set-key-code-name! KeyEvent:KEYCODE_MEDIA_PLAY_PAUSE
	'media-play/pause)
  (set-key-code-name! KeyEvent:KEYCODE_MEDIA_PREVIOUS
	'media-previous)
  (set-key-code-name! KeyEvent:KEYCODE_MEDIA_RECORD 'media-record)
  (set-key-code-name! KeyEvent:KEYCODE_MEDIA_REWIND 'media-rewind)
  (set-key-code-name! KeyEvent:KEYCODE_MEDIA_SKIP_BACKWARD
	'media-skip-backward)
  (set-key-code-name! KeyEvent:KEYCODE_MEDIA_SKIP_FORWARD
	'media-skip-forward)
  (set-key-code-name! KeyEvent:KEYCODE_MEDIA_STEP_BACKWARD
	'media-step-backward)
  (set-key-code-name! KeyEvent:KEYCODE_MEDIA_STEP_FORWARD
	'media-step-forward)
  (set-key-code-name! KeyEvent:KEYCODE_MEDIA_STOP 'media-stop)
  (set-key-code-name! KeyEvent:KEYCODE_MEDIA_TOP_MENU
	'media-top-menu)
  (set-key-code-name! KeyEvent:KEYCODE_MENU 'menu)
  (set-key-code-name! KeyEvent:KEYCODE_META_LEFT 'meta-left)
  (set-key-code-name! KeyEvent:KEYCODE_META_RIGHT 'meta-right)
  (set-key-code-name! KeyEvent:KEYCODE_MOVE_END 'move-end)
  (set-key-code-name! KeyEvent:KEYCODE_MOVE_HOME 'move-home)
  (set-key-code-name! KeyEvent:KEYCODE_MUHENKAN 'muhenkan)
  (set-key-code-name! KeyEvent:KEYCODE_MUSIC 'music)
  (set-key-code-name! KeyEvent:KEYCODE_MUTE 'mute)
  (set-key-code-name! KeyEvent:KEYCODE_NAVIGATE_IN 'navigate-in)
  (set-key-code-name! KeyEvent:KEYCODE_NAVIGATE_NEXT 'navigate-next)
  (set-key-code-name! KeyEvent:KEYCODE_NAVIGATE_OUT 'navigate-out)
  (set-key-code-name! KeyEvent:KEYCODE_NAVIGATE_PREVIOUS
	'navigate-previous)
  (set-key-code-name! KeyEvent:KEYCODE_NOTIFICATION 'notification)
  (set-key-code-name! KeyEvent:KEYCODE_NUM 'num)
  
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_0 'num0)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_1 'num1)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_2 'num2)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_3 'num3)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_4 'num4)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_5 'num5)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_6 'num6)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_7 'num7)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_8 'num8)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_9 'num9)

  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_ADD 'num+)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_DIVIDE
	'numpad-divide)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_DIVIDE 'num/)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_COMMA 'numpad-comma)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_DOT 'num.)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_DOT 'numpad-dot)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_ENTER 'numpad-enter)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_EQUALS 'num=)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_EQUALS 'numpad-equals)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_MULTIPLY 'num*)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_MULTIPLY
	'numpad-multiply)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_LEFT_PAREN
	'numpad-left-paren)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_RIGHT_PAREN
	'numpad-right-paren)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_SUBTRACT 'num-)
  (set-key-code-name! KeyEvent:KEYCODE_NUMPAD_SUBTRACT
	'numpad-subtract)
  (set-key-code-name! KeyEvent:KEYCODE_BREAK 'pause)
  (set-key-code-name! KeyEvent:KEYCODE_PAIRING 'pairing)
  (set-key-code-name! KeyEvent:KEYCODE_PASTE 'paste)
  (set-key-code-name! KeyEvent:KEYCODE_PICTSYMBOLS 'pict-symbols)
  (set-key-code-name! KeyEvent:KEYCODE_POWER 'power)
  #;(set-key-code-name! KeyEvent:KEYCODE_PROFILE_SWITCH
	'profile-switch)
  (set-key-code-name! KeyEvent:KEYCODE_PROG_BLUE 'programmable-blue)
  (set-key-code-name! KeyEvent:KEYCODE_PROG_GREEN
	'programmable-green)
  (set-key-code-name! KeyEvent:KEYCODE_PROG_RED 'programmable-red)
  (set-key-code-name! KeyEvent:KEYCODE_PROG_YELLOW
	'programmable-yellow)
  ;;(set-key-code-name! KeyEvent:KEYCODE_REFRESH 'refresh)
  (set-key-code-name! KeyEvent:KEYCODE_RO 'ro)
  (set-key-code-name! KeyEvent:KEYCODE_SEARCH 'search)
  (set-key-code-name! KeyEvent:KEYCODE_SETTINGS 'settings)
  (set-key-code-name! KeyEvent:KEYCODE_SEARCH 'search)
  (set-key-code-name! KeyEvent:KEYCODE_SEARCH 'settings)
  (set-key-code-name! KeyEvent:KEYCODE_SHIFT_LEFT 'shift-left)
  (set-key-code-name! KeyEvent:KEYCODE_SHIFT_RIGHT 'shift-right)
  (set-key-code-name! KeyEvent:KEYCODE_SLEEP 'sleep)
  (set-key-code-name! KeyEvent:KEYCODE_SOFT_LEFT 'soft-left)
  (set-key-code-name! KeyEvent:KEYCODE_SOFT_RIGHT 'soft-right)
  (set-key-code-name! KeyEvent:KEYCODE_SOFT_SLEEP 'soft-sleep)
  (set-key-code-name! KeyEvent:KEYCODE_STB_INPUT 'stb-input)
  (set-key-code-name! KeyEvent:KEYCODE_STB_POWER 'stb-power)
  (set-key-code-name! KeyEvent:KEYCODE_STB_POWER 'stb-power)
  (set-key-code-name! KeyEvent:KEYCODE_STEM_1 'stem1)
  (set-key-code-name! KeyEvent:KEYCODE_STEM_2 'stem2)
  (set-key-code-name! KeyEvent:KEYCODE_STEM_3 'stem3)
  (set-key-code-name! KeyEvent:KEYCODE_STEM_PRIMARY 'stem-primary)
  (set-key-code-name! KeyEvent:KEYCODE_SWITCH_CHARSET
	'switch-charset)
  (set-key-code-name! KeyEvent:KEYCODE_SYSRQ 'print-screen)

  #|
  (set-key-code-name! KeyEvent:KEYCODE_SYSTEM_NAVIGATION_DOWN
	'system-navigation-down)
  (set-key-code-name! KeyEvent:KEYCODE_SYSTEM_NAVIGATION_LEFT
	'system-navigation-left)
  (set-key-code-name! KeyEvent:KEYCODE_SYSTEM_NAVIGATION_RIGHT
	'system-navigation-right)
  (set-key-code-name! KeyEvent:KEYCODE_SYSTEM_NAVIGATION_UP
  'system-navigation-up)
  |#
  ;;(set-key-code-name! KeyEvent:KEYCODE_THUMBS_DOWN 'thumbs-down)
  ;;(set-key-code-name! KeyEvent:KEYCODE_THUMBS_UP 'thumbs-up)
  (set-key-code-name! KeyEvent:KEYCODE_TV 'tv)
  (set-key-code-name! KeyEvent:KEYCODE_TV_ANTENNA_CABLE
	'tv-antenna-cable)
  (set-key-code-name! KeyEvent:KEYCODE_TV_AUDIO_DESCRIPTION
	'tv-audio-description)
  (set-key-code-name! KeyEvent:KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN
	'tv-audio-description-mix-down)
  (set-key-code-name! KeyEvent:KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP
	'tv-audio-description-mix-up)
  (set-key-code-name! KeyEvent:KEYCODE_TV_CONTENTS_MENU
	'tv-contents-menu)
  (set-key-code-name! KeyEvent:KEYCODE_TV_DATA_SERVICE
	'tv-data-service)
  (set-key-code-name! KeyEvent:KEYCODE_TV_INPUT 'tv-input)
  (set-key-code-name! KeyEvent:KEYCODE_TV_INPUT_COMPONENT_1
	'tv-input-component1)
  (set-key-code-name! KeyEvent:KEYCODE_TV_INPUT_COMPONENT_2
	'tv-input-component2)
  (set-key-code-name! KeyEvent:KEYCODE_TV_INPUT_COMPOSITE_1
	'tv-input-composite1)
  (set-key-code-name! KeyEvent:KEYCODE_TV_INPUT_COMPOSITE_2
	'tv-input-composite2)
  (set-key-code-name! KeyEvent:KEYCODE_TV_INPUT_HDMI_1
	'tv-input-hdmi1)
  (set-key-code-name! KeyEvent:KEYCODE_TV_INPUT_HDMI_2
	'tv-input-hdmi2)
  (set-key-code-name! KeyEvent:KEYCODE_TV_INPUT_HDMI_3
	'tv-input-hdmi3)
  (set-key-code-name! KeyEvent:KEYCODE_TV_INPUT_HDMI_4
	'tv-input-hdmi4)
  (set-key-code-name! KeyEvent:KEYCODE_TV_INPUT_VGA_1
	'tv-input-vga1)
  (set-key-code-name! KeyEvent:KEYCODE_TV_MEDIA_CONTEXT_MENU
	'tv-media-context-menu)
  (set-key-code-name! KeyEvent:KEYCODE_TV_NETWORK 'tv-network)
  (set-key-code-name! KeyEvent:KEYCODE_TV_NUMBER_ENTRY
	'tv-number-entry)
  (set-key-code-name! KeyEvent:KEYCODE_TV_POWER 'tv-power)
  (set-key-code-name! KeyEvent:KEYCODE_TV_RADIO_SERVICE
	'tv-radio-service)
  (set-key-code-name! KeyEvent:KEYCODE_TV_SATELLITE
	'tv-satellite)
  (set-key-code-name! KeyEvent:KEYCODE_TV_SATELLITE_BS
	'tv-satellite-bs)
  (set-key-code-name! KeyEvent:KEYCODE_TV_SATELLITE_SERVICE
	'tv-satellite-service)
  (set-key-code-name! KeyEvent:KEYCODE_TV_TELETEXT 'tv-teletext)
  (set-key-code-name! KeyEvent:KEYCODE_TV_TERRESTRIAL_ANALOG
	'tv-terrestrial-analog)
  (set-key-code-name! KeyEvent:KEYCODE_TV_TERRESTRIAL_DIGITAL
	'tv-terrestrial-digital)
  (set-key-code-name! KeyEvent:KEYCODE_TV_TIMER_PROGRAMMING
	'tv-timer-programming)
  (set-key-code-name! KeyEvent:KEYCODE_TV_ZOOM_MODE
	'tv-zoom-mode)
  #|
  (set-key-code-name! KeyEvent:KEYCODE_VIDEO_APP_1 'video-app1)
  (set-key-code-name! KeyEvent:KEYCODE_VIDEO_APP_2 'video-app2)
  (set-key-code-name! KeyEvent:KEYCODE_VIDEO_APP_3 'video-app3)
  (set-key-code-name! KeyEvent:KEYCODE_VIDEO_APP_4 'video-app4)
  (set-key-code-name! KeyEvent:KEYCODE_VIDEO_APP_5 'video-app5)
  (set-key-code-name! KeyEvent:KEYCODE_VIDEO_APP_6 'video-app6)
  (set-key-code-name! KeyEvent:KEYCODE_VIDEO_APP_7 'video-app7)
  (set-key-code-name! KeyEvent:KEYCODE_VIDEO_APP_8 'video-app8)
  |#
  (set-key-code-name! KeyEvent:KEYCODE_VOICE_ASSIST 'voice-assist)
  (set-key-code-name! KeyEvent:KEYCODE_VOLUME_DOWN 'volume-down)
  (set-key-code-name! KeyEvent:KEYCODE_VOLUME_UP 'volume-up)
  (set-key-code-name! KeyEvent:KEYCODE_VOLUME_MUTE 'volume-mute)
  (set-key-code-name! KeyEvent:KEYCODE_WAKEUP 'wakeup)
  (set-key-code-name! KeyEvent:KEYCODE_WINDOW 'window)
  (set-key-code-name! KeyEvent:KEYCODE_YEN 'yen)
  (set-key-code-name! KeyEvent:KEYCODE_ZENKAKU_HANKAKU
	'zenkaku/hankaku)
  (set-key-code-name! KeyEvent:KEYCODE_ZOOM_IN 'zoom-in)
  (set-key-code-name! KeyEvent:KEYCODE_ZOOM_OUT 'zoom-out)
  
  (set-key-code-name! KeyEvent:KEYCODE_UNKNOWN
	'unknown-key)

  (set-key-code-name! KeyEvent:KEYCODE_APOSTROPHE 'quote)
  (set-key-code-name! KeyEvent:KEYCODE_APOSTROPHE 'apostrophe)
  (set-key-code-name! KeyEvent:KEYCODE_APOSTROPHE #\')
  (set-key-code-name! KeyEvent:KEYCODE_BACKSLASH 'backslash)
  (set-key-code-name! KeyEvent:KEYCODE_BACKSLASH #\\)
  (set-key-code-name! KeyEvent:KEYCODE_ESCAPE 'esc)
  (set-key-code-name! KeyEvent:KEYCODE_ESCAPE 'escape)

  (set-key-code-name! KeyEvent:KEYCODE_EQUALS 'equals)
  (set-key-code-name! KeyEvent:KEYCODE_EQUALS #\=)
  (set-key-code-name! KeyEvent:KEYCODE_EQUALS '=)

  (set-key-code-name! KeyEvent:KEYCODE_STAR 'asterisk)
  (set-key-code-name! KeyEvent:KEYCODE_STAR #\*)
  (set-key-code-name! KeyEvent:KEYCODE_STAR '*)
  
  (set-key-code-name! KeyEvent:KEYCODE_AT #\@)
  (set-key-code-name! KeyEvent:KEYCODE_AT 'at)
  (set-key-code-name! KeyEvent:KEYCODE_COMMA #\,)
  (set-key-code-name! KeyEvent:KEYCODE_COMMA 'comma)
  (set-key-code-name! KeyEvent:KEYCODE_MINUS 'minus)
  (set-key-code-name! KeyEvent:KEYCODE_MINUS #\-)
  (set-key-code-name! KeyEvent:KEYCODE_MINUS '-)
  (set-key-code-name! KeyEvent:KEYCODE_PERIOD 'dot)
  (set-key-code-name! KeyEvent:KEYCODE_PERIOD 'period)
  (set-key-code-name! KeyEvent:KEYCODE_PERIOD #\.)
  (set-key-code-name! KeyEvent:KEYCODE_PLUS 'plus)
  (set-key-code-name! KeyEvent:KEYCODE_PLUS #\+)
  (set-key-code-name! KeyEvent:KEYCODE_PLUS '+)
  (set-key-code-name! KeyEvent:KEYCODE_POUND 'hash)
  (set-key-code-name! KeyEvent:KEYCODE_POUND #\#)

  (set-key-code-name! KeyEvent:KEYCODE_SEMICOLON 'semicolon)
  (set-key-code-name! KeyEvent:KEYCODE_SEMICOLON #\;)
  
  (set-key-code-name! KeyEvent:KEYCODE_SLASH #\/)
  (set-key-code-name! KeyEvent:KEYCODE_SLASH '/)

  (set-key-code-name! KeyEvent:KEYCODE_F1 'f1)
  (set-key-code-name! KeyEvent:KEYCODE_F2 'f2)
  (set-key-code-name! KeyEvent:KEYCODE_F3 'f3)
  (set-key-code-name! KeyEvent:KEYCODE_F4 'f4)
  (set-key-code-name! KeyEvent:KEYCODE_F5 'f5)
  (set-key-code-name! KeyEvent:KEYCODE_F6 'f6)
  (set-key-code-name! KeyEvent:KEYCODE_F7 'f7)
  (set-key-code-name! KeyEvent:KEYCODE_F8 'f8)
  (set-key-code-name! KeyEvent:KEYCODE_F9 'f9)
  (set-key-code-name! KeyEvent:KEYCODE_F10 'f10)
  (set-key-code-name! KeyEvent:KEYCODE_F11 'f11)
  (set-key-code-name! KeyEvent:KEYCODE_F12 'f12)
  
  (set-key-code-name! KeyEvent:KEYCODE_F1 'F1)
  (set-key-code-name! KeyEvent:KEYCODE_F2 'F2)
  (set-key-code-name! KeyEvent:KEYCODE_F3 'F3)
  (set-key-code-name! KeyEvent:KEYCODE_F4 'F4)
  (set-key-code-name! KeyEvent:KEYCODE_F5 'F5)
  (set-key-code-name! KeyEvent:KEYCODE_F6 'F6)
  (set-key-code-name! KeyEvent:KEYCODE_F7 'F7)
  (set-key-code-name! KeyEvent:KEYCODE_F8 'F8)
  (set-key-code-name! KeyEvent:KEYCODE_F9 'F9)
  (set-key-code-name! KeyEvent:KEYCODE_F10 'F10)
  (set-key-code-name! KeyEvent:KEYCODE_F11 'F11)
  (set-key-code-name! KeyEvent:KEYCODE_F12 'F12)

  (set-key-code-name! KeyEvent:KEYCODE_0 #\0)
  (set-key-code-name! KeyEvent:KEYCODE_1 #\1)
  (set-key-code-name! KeyEvent:KEYCODE_2 #\2)
  (set-key-code-name! KeyEvent:KEYCODE_3 #\3)
  (set-key-code-name! KeyEvent:KEYCODE_4 #\4)
  (set-key-code-name! KeyEvent:KEYCODE_5 #\5)
  (set-key-code-name! KeyEvent:KEYCODE_6 #\6)
  (set-key-code-name! KeyEvent:KEYCODE_7 #\7)
  (set-key-code-name! KeyEvent:KEYCODE_8 #\8)
  (set-key-code-name! KeyEvent:KEYCODE_9 #\9)
  
  (set-key-code-name! KeyEvent:KEYCODE_0 0)
  (set-key-code-name! KeyEvent:KEYCODE_1 1)
  (set-key-code-name! KeyEvent:KEYCODE_2 2)
  (set-key-code-name! KeyEvent:KEYCODE_3 3)
  (set-key-code-name! KeyEvent:KEYCODE_4 4)
  (set-key-code-name! KeyEvent:KEYCODE_5 5)
  (set-key-code-name! KeyEvent:KEYCODE_6 6)
  (set-key-code-name! KeyEvent:KEYCODE_7 7)
  (set-key-code-name! KeyEvent:KEYCODE_8 8)
  (set-key-code-name! KeyEvent:KEYCODE_9 9)

  (set-key-code-name! KeyEvent:KEYCODE_A #\a)
  (set-key-code-name! KeyEvent:KEYCODE_B #\b)
  (set-key-code-name! KeyEvent:KEYCODE_C #\c)
  (set-key-code-name! KeyEvent:KEYCODE_D #\d)
  (set-key-code-name! KeyEvent:KEYCODE_E #\e)
  (set-key-code-name! KeyEvent:KEYCODE_F #\f)
  (set-key-code-name! KeyEvent:KEYCODE_G #\g)
  (set-key-code-name! KeyEvent:KEYCODE_H #\h)
  (set-key-code-name! KeyEvent:KEYCODE_I #\i)
  (set-key-code-name! KeyEvent:KEYCODE_J #\j)
  (set-key-code-name! KeyEvent:KEYCODE_K #\k)
  (set-key-code-name! KeyEvent:KEYCODE_L #\l)
  (set-key-code-name! KeyEvent:KEYCODE_M #\m)
  (set-key-code-name! KeyEvent:KEYCODE_N #\n)
  (set-key-code-name! KeyEvent:KEYCODE_O #\o)
  (set-key-code-name! KeyEvent:KEYCODE_P #\p)
  (set-key-code-name! KeyEvent:KEYCODE_Q #\q)
  (set-key-code-name! KeyEvent:KEYCODE_R #\r)
  (set-key-code-name! KeyEvent:KEYCODE_S #\s)
  (set-key-code-name! KeyEvent:KEYCODE_T #\t)
  (set-key-code-name! KeyEvent:KEYCODE_U #\u)
  (set-key-code-name! KeyEvent:KEYCODE_V #\v)
  (set-key-code-name! KeyEvent:KEYCODE_W #\w)
  (set-key-code-name! KeyEvent:KEYCODE_X #\x)
  (set-key-code-name! KeyEvent:KEYCODE_Y #\y)
  (set-key-code-name! KeyEvent:KEYCODE_Z #\z)
  
  (set-key-code-name! KeyEvent:KEYCODE_A 'a)
  (set-key-code-name! KeyEvent:KEYCODE_B 'b)
  (set-key-code-name! KeyEvent:KEYCODE_C 'c)
  (set-key-code-name! KeyEvent:KEYCODE_D 'd)
  (set-key-code-name! KeyEvent:KEYCODE_E 'e)
  (set-key-code-name! KeyEvent:KEYCODE_F 'f)
  (set-key-code-name! KeyEvent:KEYCODE_G 'g)
  (set-key-code-name! KeyEvent:KEYCODE_H 'h)
  (set-key-code-name! KeyEvent:KEYCODE_I 'i)
  (set-key-code-name! KeyEvent:KEYCODE_J 'j)
  (set-key-code-name! KeyEvent:KEYCODE_K 'k)
  (set-key-code-name! KeyEvent:KEYCODE_L 'l)
  (set-key-code-name! KeyEvent:KEYCODE_M 'm)
  (set-key-code-name! KeyEvent:KEYCODE_N 'n)
  (set-key-code-name! KeyEvent:KEYCODE_O 'o)
  (set-key-code-name! KeyEvent:KEYCODE_P 'p)
  (set-key-code-name! KeyEvent:KEYCODE_Q 'q)
  (set-key-code-name! KeyEvent:KEYCODE_R 'r)
  (set-key-code-name! KeyEvent:KEYCODE_S 's)
  (set-key-code-name! KeyEvent:KEYCODE_T 't)
  (set-key-code-name! KeyEvent:KEYCODE_U 'u)
  (set-key-code-name! KeyEvent:KEYCODE_V 'v)
  (set-key-code-name! KeyEvent:KEYCODE_W 'w)
  (set-key-code-name! KeyEvent:KEYCODE_X 'x)
  (set-key-code-name! KeyEvent:KEYCODE_Y 'y)
  (set-key-code-name! KeyEvent:KEYCODE_Z 'z)

  (set-key-code-name! KeyEvent:KEYCODE_DPAD_LEFT 'left)
  (set-key-code-name! KeyEvent:KEYCODE_DPAD_RIGHT 'right)
  (set-key-code-name! KeyEvent:KEYCODE_DPAD_UP 'up)
  (set-key-code-name! KeyEvent:KEYCODE_DPAD_DOWN 'down)
  
  (set-key-code-name! KeyEvent:KEYCODE_DPAD_CENTER 'center)
  (set-key-code-name! KeyEvent:KEYCODE_DPAD_UP_LEFT 'up-left)
  (set-key-code-name! KeyEvent:KEYCODE_DPAD_UP_RIGHT 'up-right)
  (set-key-code-name! KeyEvent:KEYCODE_DPAD_DOWN_LEFT 'down-left)
  (set-key-code-name! KeyEvent:KEYCODE_DPAD_DOWN_RIGHT 'down-right)

  (set-key-code-name! KeyEvent:KEYCODE_INSERT 'ins)
  (set-key-code-name! KeyEvent:KEYCODE_INSERT 'insert)
  (set-key-code-name! KeyEvent:KEYCODE_HOME 'home)

  (set-key-code-name! KeyEvent:KEYCODE_PAGE_UP 'pgup)
  (set-key-code-name! KeyEvent:KEYCODE_PAGE_UP 'page-up)

  (set-key-code-name! KeyEvent:KEYCODE_PAGE_DOWN 'pgdn)
  (set-key-code-name! KeyEvent:KEYCODE_PAGE_DOWN 'page-down)

  (set-key-code-name! KeyEvent:KEYCODE_NUM_LOCK 'num-lock)  
  (set-key-code-name! KeyEvent:KEYCODE_CAPS_LOCK 'caps-lock)
  (set-key-code-name! KeyEvent:KEYCODE_SCROLL_LOCK 'scroll-lock)
  
  (set-key-code-name! KeyEvent:KEYCODE_SPACE #\space)
  (set-key-code-name! KeyEvent:KEYCODE_SPACE 'space)
  (set-key-code-name! KeyEvent:KEYCODE_DEL 'backspace)
  (set-key-code-name! KeyEvent:KEYCODE_FORWARD_DEL 'del)
  (set-key-code-name! KeyEvent:KEYCODE_FORWARD_DEL 'delete)

  (set-key-code-name! KeyEvent:KEYCODE_ENTER 'enter)

  (set-key-code-name! KeyEvent:KEYCODE_TAB #\tab)
  (set-key-code-name! KeyEvent:KEYCODE_TAB 'tab)

  (set-key-code-name! KeyEvent:KEYCODE_LEFT_BRACKET 'left-bracket)
  (set-key-code-name! KeyEvent:KEYCODE_LEFT_BRACKET 'open-bracket)
  (set-key-code-name! KeyEvent:KEYCODE_LEFT_BRACKET 'opening-bracket)
  (set-key-code-name! KeyEvent:KEYCODE_LEFT_BRACKET #\[)

  (set-key-code-name! KeyEvent:KEYCODE_RIGHT_BRACKET 'right-bracket)
  (set-key-code-name! KeyEvent:KEYCODE_RIGHT_BRACKET 'close-bracket)
  (set-key-code-name! KeyEvent:KEYCODE_RIGHT_BRACKET
	'closing-bracket)
  (set-key-code-name! KeyEvent:KEYCODE_RIGHT_BRACKET #\])
  
  )
