Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4067506
Votes 4
Synopsis RFE: need method to control keyboard language
Category java:classes_awt
Reported Against 1.1.2 , 1.2alpha , kestrel-beta
Release Fixed 1.4(merlin-beta)
State 10-Fix Delivered, request for enhancement
Priority: 4-Low
Related Bugs 4052394 , 4284924 , 6236767
Submit Date 25-JUL-1997
Description




We need a way to control keyboard language in Java. For example, let's say we have Arabic or 
Hebrew Windows 95, with keyboard that supports Arabic along with English characters. 
Win32 provides APIs to query and switch the keyboard layout to Arabic or English. 
What we need is to have access to this functionality from java. This is very important for the 
implementation of multi-lingual software.

More specificaly, we need the following two functions:
static int getKeyboardLanguage();
void setKeyboardLanguage(int langID);
======================================================================
Work Around





======================================================================
Evaluation
Does the new Input Method Framework to be shipped with 1.2beta should take care of the customer's need?

  xxxxx@xxxxx   1997-07-25

I doubt this was addressed by IM.   
  xxxxx@xxxxx   2000-03-01

In fact, the methods selectInputMethod(Locale) and getLocale() in java.awt.im.InputContext are as close to implementing this request as you can get (some platforms, such as Solaris, just don't *let* you change the keyboard language). This needs to be documented more clearly though. 
  xxxxx@xxxxx   2000-06-26
Comments
  
  Include a link with my name & email   

Submitted On 01-FEB-2005
bhamail
I believen the evaluation statement from 2000-06-26  is wrong. 
The methods selectInputMethod()  and getLocale() provide no way to query the "Keyboard  layout" in effect for the Input language. On Windows 2000, you can create two different "input locales", each with the same language (ie: English), but one "input locales" has a "Keyboard  layout/IME" of "US", while the other has an "Keyboard layout/IME" of  "French". There is no way in Java to distinguish between these two.  We need java to provide a "getKeyboardLayout()" and "setKeyboardLayout()" method .



PLEASE NOTE: JDK6 is formerly known as Project Mustang