"Japan" keyboard layout is actually "U.S. English" on installer

Bug #63915 reported by Jun Kobayashi
2
Affects Status Importance Assigned to Milestone
console-setup (Ubuntu)
Fix Released
Medium
Colin Watson
oem-config (Ubuntu)
Fix Released
Undecided
Colin Watson

Bug Description

Steps to Reproduce:
1. Boot PC with Japanese keyboard with Ubuntu 7.04 Beta Desktop CD
2. Double click the 'Install' icon
3. Go to step 3
4. Select 'Japan' keyboard layout
5. Type Shift + 2 on test box
6. You'll see @ in test box
7. Type @ key (right of the P key on JP keyboard)
8. [ spawned

Expected results:
" (double quotes) appears when Shift + 2 key is pressed.
@ appears when @ key is pressed.

Version-Release numbers:
Ubuntu 7.04 Beta Desktop CD
ubiquity 1.4.3
console-setup 1.13ubuntu9

Revision history for this message
Colin Watson (cjwatson) wrote :

All non-Latin keyboard layouts use a third-level shift in order to avoid the situation where you can't type your username at the login screen because your keymap doesn't have the right characters. Press and release Alt+Shift to switch between the US and the Japanese layout.

Changed in ubiquity:
status: Unconfirmed → Rejected
Revision history for this message
Jun Kobayashi (jkbys) wrote :

Thank you for your reply.

I don't mean to input Japanese characters(like 'あ') printed on Japanese keyboard, but to input some latin characters with Japanese keyboard.

Japanese keyboard has different layout from us one:
http://en.wikipedia.org/wiki/Keyboard_layout#Japanese

For example, '@' locates on the right side of 'P' on Japanese keyboard, but '[' locates at the same place on US keyboard.

I selected "Germany" in ubiquity step 3, type 'z' and 'y' appeared. This seems to be correct. Germany keyboard has 'y' on the left of 'x'.
But I switched to "Japan", type '@' and '[' occured. This causes that they can't type some latin caracters with Japanese keyboard on live session. For instance, they can't type '_'(under score) for their hostname.

Revision history for this message
Jun Kobayashi (jkbys) wrote :

I added further information about this problem.

Changed in console-setup:
status: Rejected → Unconfirmed
Revision history for this message
Jun Kobayashi (jkbys) wrote :

Oops, the above wikipedia page includes less common Japanese keyboard layout.
The following page includes common keyboard layout for Japanese users.

http://www-306.ibm.com/software/globalization/topics/keyboards/KBD194.jsp

Revision history for this message
Colin Watson (cjwatson) wrote :

Hmm, OK. Is something like XkbLayout "jp,jp" XkbVariant "latin," a common setup for you? The jp(latin) variant seems to match the IBM link you gave.

Changed in console-setup:
importance: Undecided → Medium
status: Unconfirmed → Confirmed
Revision history for this message
Jun Kobayashi (jkbys) wrote :

The following is a common setup for Japanese keyboard users:

XkbModel "jp106"
XkbLayout "jp"
XkbVariant "jp106"

Revision history for this message
Colin Watson (cjwatson) wrote :

I think this should fix it, but please do let me know if it doesn't:

console-setup (1.7ubuntu18) edgy; urgency=low

  * Change the default font to VGA where supported; Terminus does not seem
    to have widespread aesthetic appeal.
  * Use jp(latin),jp rather than us,jp by default for Japanese, and set the
    model to jp106 (closes: Malone #63915).
  * Build-depend on keymapper (>= 0.5.3-7) for improved Alt-handling logic.

 -- Colin Watson <email address hidden> Thu, 12 Oct 2006 02:42:15 +0100

Changed in console-setup:
assignee: nobody → kamion
status: Confirmed → Fix Released
Revision history for this message
Jun Kobayashi (jkbys) wrote :

Thank you for your effort.

Unfortunately, I faced "installer clashed" dialog when I selected "Japan" keyboard layout on ubiquity.
I'm using daily-live image created on 20061013 which includes console-setup 1.7ubuntu18.

Traceback (most recent call last):
  File "/usr/lib/ubiquity/ubiquity/frontend/gtkui.py", line 805, in on_keyboard_variant_selected
    self.dbfilter.apply_keyboard(layout, variant)
  File "/usr/lib/ubiquity/ubiquity/components/console_setup.py", line 158, in apply_keyboard
    if variant in keyboard_names.variants[layout]:
KeyError: 'jp'

Revision history for this message
Jun Kobayashi (jkbys) wrote :

With 20061017.2 desktop image, the above crash problem is fixed.
But keyboard problem is still persists. The keyboard layout is actually "U.S. English".

Changed in console-setup:
status: Fix Released → Confirmed
Revision history for this message
Colin Watson (cjwatson) wrote :

Your comment is not very clear. Do you mean that U.S. English is preselected in the keyboard layout selector, or that when you select Japan in the keyboard layout selector you get U.S. English?

In either case, please attach /var/log/syslog from the live session to this bug.

Changed in console-setup:
status: Confirmed → Needs Info
Revision history for this message
Jun Kobayashi (jkbys) wrote :

I'm sorry for my unclear comment.

I mean that when I select Japan in the keyboard layout selector I get U.S. English.
I'm attaing ubiquity log in /var/log/syslog.

I tryed the command "setxkbmap -model jp106 -layout 'jp(latin),jp' -variant , -option grp:alt_shift_toggle" on a gnome terminal, and I get good Japanese keyboard layout.

Thanks in advance for your help.

description: updated
Revision history for this message
Jun Kobayashi (jkbys) wrote :

This problem still exists in Feisty Beta.

I found the cause of this problem is that the layout string 'jp' is replaced to 'us,jp' in adjust_keyboard function in /usr/lib/ubiquity/ubiquity/components/console_setup.py.
I rewrote this file not to replace the string 'jp', restarted installer, and worked fine.

I'm attaching a patch for this script.
Colin, would you apply this patch, please?

Revision history for this message
Tollef Fog Heen (tfheen) wrote :

Milestone

Revision history for this message
Colin Watson (cjwatson) wrote :

Aha, thanks. This is correct but not quite sufficient - I've committed a more complete fix for my next upload.

Changed in console-setup:
status: Needs Info → Fix Committed
Revision history for this message
Colin Watson (cjwatson) wrote :

ubiquity (1.4.7) feisty; urgency=low

  [ Colin Watson ]
  * Set PARTMAN_ALREADY_CHECKED when committing changes from the new
    advanced partitioner, to avoid duplicate warnings (LP: #100009).
  * Use debconf escape capability to simplify migration-assistant summary
    handling.
  * Update Japanese keyboard layout handling to match console-setup
    1.7ubuntu18, which uses jp(latin),jp by default (LP: #63915).
  * Display an error dialog if a subsidiary process fails (LP: #92442).
  * Update translations from Rosetta.
  * Automatic update of included source packages: console-setup
    1.13ubuntu12, migration-assistant 0.4.5, partman-base 105ubuntu3.

  [ Jonathan Riddell ]
  * KDE frontend
    - Disable all widgets in autopartition subchoices
      when selecting another parent choice
    - Fix misplaced widgets on user details page (LP: #86175)
    - Hide error messages from user info at start of each evaluation
    - Use Apport as crash handler when available
    - Add a graphical disk partition widget

  [ Evan Dandrea ]
  * Catch exceptions in migration-assistant to avoid bringing down the
    entire installer.

 -- Colin Watson <email address hidden> Thu, 5 Apr 2007 12:27:58 +0100

Changed in console-setup:
status: Fix Committed → Fix Released
Revision history for this message
Colin Watson (cjwatson) wrote :

This affects oem-config too. Fix in my bzr branch.

Changed in oem-config:
assignee: nobody → kamion
status: Unconfirmed → Fix Committed
Revision history for this message
Colin Watson (cjwatson) wrote :

oem-config (1.14) gutsy; urgency=low

  * Add an apport hook to attach /var/log/oem-config.log.
  * Strip binaries.
  * Print usage message and exit if any non-option arguments are supplied to
    oem-config; suggest oem-config-prepare (LP: #105940).
  * Update Japanese keyboard layout handling to match console-setup
    1.7ubuntu18, which uses jp(latin),jp by default (LP: #63915).
  * Teach oem-config-prepare to escalate privileges itself using gksudo,
    kdesu, etc. as appropriate, rather than requiring it to be invoked using
    sudo.
  * Add a desktop icon to the oem user's desktop to run oem-config-prepare
    (LP: #41698).
  * Display an error dialog and exit if running as non-root (LP: #99211).
  * Automatic update of included source packages: console-setup 1.15ubuntu1,
    localechooser 1.38ubuntu1, tzsetup 1:0.17, user-setup 1.14ubuntu1.

 -- Colin Watson <email address hidden> Thu, 17 May 2007 11:43:03 +0100

Changed in oem-config:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.