Finally, I found a solution in 鳥哥的 Linux 私房菜-新手討論區. The real reason is that the keyboard layout is not set correctly. If I start X Window by the new launcher startxwin.exe, it will set the keyboard layout to zh_TW. To solve this problem, I have to set the keyboard layout to us. Since the new launcher startxwin.exe is an executable file and cannot be modified, I use the old launcher startxwin.bat instead and pass the -xkblayout us argument to XWin.
@echo off
SET DISPLAY=127.0.0.1:0.0
REM
REM The path in the CYGWIN_ROOT environment variable assignment assume
REM that Cygwin is installed in a directory called 'cygwin' in the root
REM directory of the current drive. You will only need to modify
REM CYGWIN_ROOT if you have installed Cygwin in another directory. For
REM example, if you installed Cygwin in \foo\bar\baz\cygwin, you will need
REM to change \cygwin to \foo\bar\baz\cygwin.
REM
REM This batch file will almost always be run from the same drive (and
REM directory) as the drive that contains Cygwin/X, therefore you will
REM not need to add a drive letter to CYGWIN_ROOT. For example, you do
REM not need to change \cygwin to c:\cygwin if you are running this
REM batch file from the C drive.
REM
SET CYGWIN_ROOT=c:\cygwin
SET PATH=%PATH%;.;%CYGWIN_ROOT%\bin;%CYGWIN_ROOT%\usr\X11R6\bin
REM SET XAPPLRESDIR=/etc/X11/app-defaults
REM SET XCMSDB=/usr/lib/X11/Xcms.txt
REM SET XKEYSYMDB=/usr/share/X11/XKeysymDB
REM SET XNLSPATH=/usr/share/X11/locale
REM
REM Cleanup after last run.
REM
REM bash -c "if (`ps | grep -ci XWin` == 0) rm -rf /tmp/.X11-unix"
if exist %CYGWIN_ROOT%\tmp\.X11-unix\X0 goto START-XTERM
REM
REM The error "Fatal server error: could not open default font 'fixed'" is
REM caused by using a DOS mode mount for the mount that the Cygwin/X
REM fonts are accessed through. See the Cygwin/X FAQ for more
REM information:
REM http://x.cygwin.com/docs/faq/cygwin-x-faq.html#q-error-font-eof
REM
if "%OS%" == "Windows_NT" goto OS_NT
REM Windows 95/98/Me
echo startxwin.bat - Starting on Windows 95/98/Me
goto STARTUP
:OS_NT
REM Windows NT/2000/XP/2003
echo startxwin.bat - Starting on Windows NT/2000/XP/2003
:STARTUP
REM Brief descriptions of XWin-specific options:
REM
REM -screen scr_num [width height]
REM Enable screen scr_num and optionally specify a width and
REM height for that screen.
REM Most importantly, any parameters specified before the first
REM -screen parameter apply to all screens. Any options after the
REM the first -screen parameter apply only to the screen that
REM precedes the parameter.
REM Example:
REM XWin -fullscreen -screen 0 -screen 1 -depth 8 -screen 2
REM All screens will be fullscreen, but screen 2 will be depth 8,
REM while screens 0 and 1 will be the default depth (whatever
REM depth Windows is currently running at).
REM -multiwindow
REM Start an integrated Windows-based window manager. Not to be
REM used with -rootless nor -fullscreen.
REM -rootless
REM Use a transparent root window with an external window manager
REM (such as twm). Not to be used with -multiwindow nor
REM with -fullscreen.
REM -fullscreen
REM Use a window as large as possible on the primary monitor.
REM -multiplemonitors
REM Create a root window that covers all monitors on a
REM system with multiple monitors.
REM -clipboard
REM Enable the integrated version of xwinclip. Do not use in
REM conjunction with the xwinclip program.
REM -depth bits_per_pixel
REM Specify the screen depth to run at (in bits per pixel) using a
REM DirectDraw-based engine in conjunction with the -fullscreen
REM option, ignored if the -fullscreen option is not specified.
REM By default, you will be using a DirectDraw based engine on any
REM system that supports it.
REM -unixkill
REM Trap Ctrl+Alt+Backspace as a server shutdown key combination.
REM -nounixkill
REM Disable Ctrl+Alt+Backspace as a server shutdown key combination
REM (default).
REM Example:
REM XWin -unixkill -screen 0 -screen 1 -screen 2 -nounixkill
REM Screens 0 and 1 will allow Ctrl+Alt+Backspace, but screen 2 will
REM not.
REM -winkill
REM Trap Alt+F4 as a server shutdown key combination (default).
REM -nowinkill
REM Disable Alt+F4 as a server shutdown key combination.
REM -scrollbars
REM Enable resizing of the server display window. Do not use in
REM conjunction with -multiwindow nor with -rootless.
REM -nodecoration
REM Draw the server root window without a title bar or border.
REM Do not use with -mutliwindow nor with -rootless.
REM -lesspointer
REM Hide the Windows mouse cursor anytime it is over any part of the
REM window, even if Cygwin/X is not the window with the focus.
REM -refresh rate_in_Hz
REM Specify a refresh rate to use when used with the -fullscreen
REM option.
REM -trayicon
REM Enable the tray icon (default).
REM -notrayicon
REM Disable the tray icon.
REM Example:
REM XWin -notrayicon -screen 0 -screen 1 -screen 2 -trayicon
REM Screens 0 and 1 will not have tray icons, but screen 2 will.
REM -emulate3buttons [timeout]
REM Emulate 3 button mouse with an optional timeout in milliseconds.
REM -xf86config
REM Specify an XF86Config-style configuration file.
REM -keyboard
REM Specify a keyboard device from the configuration file.
REM
REM Startup the programs
REM
REM Startup the X Server with the integrated Windows-based window manager.
REM WARNING: Do not use 'xwinclip' in conjunction with the ``-clipboard''
REM command-line parameter for XWin. Doing so would start two clipboard
REM managers, which is never supposed to happen.
run XWin -multiwindow -clipboard -silent-dup-error -xkblayout us
REM Startup an xterm, using bash as the shell.
:START-XTERM
run xterm -sl 1000 -sb -rightbar -e /bin/bash -l
REM
REM Startup the twm window manager.
REM WARNING: Do not use an external window manager in conjunction with
REM the ``-multiwindow'' command-line parameter for XWin. Doing so
REM would start two window managers, which is never supposed to happen.
REM
REM run twm
REM Set a background color. Only needed when not using -multwindow for
REM XWin.
REM run xsetroot -solid aquamarine4