Closed Bug 434261 Opened 14 years ago Closed 14 years ago

Wrong I-beam caret shape when using a custom RTL keyboard layer

Categories

(Core :: Internationalization, defect)

PowerPC
macOS
defect
Not set
major

Tracking

()

RESOLVED INVALID

People

(Reporter: randomalious, Assigned: smontagu)

Details

(Keywords: rtl)

User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9) Gecko/2008051202 Firefox/3.0
Build Identifier: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9) Gecko/2008051202 Firefox/3.0

In many BIDI scripts countries, such as Israel and many Arab countries, it is common *not* to use Mac's built-in keyboard layer but rather a custom one. The reasons for that are beyond the scope of this bug.

In Firefox,
When using the built-in Hebrew / Arabic keyboard layer, 
the cursor I-beam shape changes to a shape that reflect the writing direction. 
When writing Right-to-Left, such as when editing an article in the Hebrew Wikipedia, the I-beam shape is changed to an I-beam that has 2 left-facing dots, indicating that the cursor would move LEFT after entering a letter.  

However,
When using a custom Hebrew / Arabic keyboard layer, 
The I-beam shape *doesn't* change to a RTL I-beam shape,
thus forcing the user to guess the direction of writing. 

This is an *EXTREMELY* annoying problem.

See http://hellomacworld.blogspot.com/2008/05/i-beam-shape-with-custom-rtl-keyboard.html for screen shots of the problem. 


Reproducible: Always

Steps to Reproduce:
This test case requires that you enable Mac's built-in Hebrew keyboard layout:
1. Open System Preferences
2. Select "International"
3. Select "Input Menu"
4. Scroll down and check "Hebrew"
5. Check "Show input menu in menu bar"


Now, install the custom Hebrew keyboard layout: 
1. Download and install 
http://claywiki.googlecode.com/svn/trunk/claymac-keyboard-layout/dest/hebrew-english-keyboard-layout-1.0.zip.
2. Follow instruction within the readme file to install 


At this point, the menu bar should show a flag icon indicating the current keyboard layout.
To change between keyboard layouts, click this flag icon.

In addition to your native layout, you should have 2 additional Hebrew layouts: 
- The first is called "Hebrew" and it's Mac's built-in;
- The other is called "Hebrew - English" and it's a custom Hebrew layout.   


To recreate the bug:
1. Open Firefox
2. Switch to "U.S." keyboard layout (or your native layout) 
3. In Firefox's search bar, type "HELLO"
4. Switch to "Hebrew - English" layout
5. In order, press the keys "a", "k", "u", "o" - you should see שלום, which is "Hello" in Hebrew
6. While you type, notice that the I-beam shape *isn't* changed to RTL i-beam, i.e. it's the same I-beam shape you get while typing "Hello" in the "U.S." layout


Repeat the test case with the built-in Hebrew keyboard layout:
1. Open Firefox
2. Switch to "U.S." keyboard layout (or your native layout) 
3. In Firefox's search bar, type "HELLO"
4. Switch to "Hebrew" layout
5. In order, press the keys "a", "k", "u", "o" - you should see שלום, which is "Hello" in Hebrew
6. While you type, notice that the I-beam shape *is* changed to RTL i-beam, i.e. it is a different I-beam shape than the one you get while typing "Hello" in "U.S." layout

Actual Results:  
When using a custom Hebrew keyboard layout, the I-beam shape doesn't change to a RTL I-beam shape. 
When using the built-in Hebrew keyboard layout, the I-beam shape does change to a RTL I-beam shape.

Expected Results:  
When using a custom Hebrew keyboard layout, the I-beam shape *should*  change to a RTL I-beam shape. 

The I-beam shape should change to a RTL I-beam shape whenever a RTL keyboard layer is selected, regardless if it's the built-in layer or a customized layer.
Version: unspecified → 3.0 Branch
Keywords: rtl
Why should I use your keyboard layout and not the system default one, as i does have bidi caret?
Unlike Windows or Linux,
Mac's default Hebrew keyboard layout doesn't map SHIFT+<key> to English letters.

Mac does provide an additional keyboard layout called "Hebrew - QWERTY" which maps CMD+<key> to English letters, but this arrangement is poor, since in most applications CMD+<key> are used as accelerator keys.

My layout works as Windows or Linux: pressing SHIFT+<key> gives an English letter.
The vast majority of Hebrew speakers expect this exact behavior, and nothing else.      
And as been said, many are using some sort of a custom keyboard layer, either mine or someone's else.

The same is true for Arabic speakers as well.
Assignee: nobody → smontagu
Component: General → Internationalization
Product: Firefox → Core
QA Contact: general → i18n
Version: 3.0 Branch → Trunk
This is a bug in the specific custom keyboard: it doesn't specify Hebrew in the resource ID. If I change line 3 of the file "Hebrew - English.keylayout" from 

<keyboard group="126" id="-5001" name="Hebrew - English" maxout="1">

to

<keyboard group="126" id="-18433" name="Hebrew - English" maxout="1">

the directional caret works as expected.
Status: UNCONFIRMED → RESOLVED
Closed: 14 years ago
Resolution: --- → INVALID
Summary: Wrong I-beam cursor shape when using a custom RTL keyboard layer → Wrong I-beam caret shape when using a custom RTL keyboard layer
You need to log in before you can comment on or make changes to this bug.