New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 708895 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: 2017-05-30
OS: Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Switching to non US English language keyboard prevents cmd-shift+[ / ] keyboard shortcut from working (MacOS)

Reported by shuanw...@gmail.com, Apr 6 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36

Steps to reproduce the problem:
1. Switch to US English keyboard in MacOS. Should be able to switch tabs using cmd+shift+[ or cmd+shift+]
2.  Switch to another language (In my case, I was switching to Pinyin Traditional)
3.  Try to switch tabs using cmd+shift+[ or cmd+shift+]

What is the expected behavior?
You should be able to go through the tabs using cmd+shift+[ or cmd+shift+] if the language you're typing in is not U.S. English

What went wrong?
Nothing happens. Browser does not switch tabs.

Did this work before? Yes Not sure

Chrome version: 55.0.2883.95  Channel: n/a
OS Version: OS X 10.12.1
Flash Version: Shockwave Flash 25.0 r0

I know this has worked before, and when it stopped working I assumed it would be fixed. But I guess not many people use cmd+shift + <brackets>.
 
Labels: Needs-Milestone

Comment 2 by a...@chromium.org, Apr 6 2017

Cannot repro on 10.11. Perhaps 10.12-only?

Can someone try to repro on 10.12?
Labels: -Needs-Milestone Needs-Triage-M58 Needs-Bisect
Cc: krajshree@chromium.org
Components: UI>Input>KeyboardShortcuts
Labels: Needs-Feedback
Unable to reproduce the issue in MacBook Pro (Retina, 15-inch, Mid 2014), 10.12.3 using chrome stable #57.0.2987.133 and latest canary #59.0.3066.0.

Following are the steps followed to reproduce the issue.
------------
1. Switched to US English keyboard in MacOS and was able to switch tabs using cmd+shift+[ or cmd+shift+]
2.  Switched to another language i.e Pinyin Traditional.
3.  Tried to switch tabs using cmd+shift+[ or cmd+shift+] and was able to switch tabs using cmd+shift+[ or cmd+shift+] without any issues.

Attaching screen cast for reference.

shuanwang@ - Could you please check this issue on latest chrome stable #57.0.2987.133 by creating a new profile without any apps and extensions and please let us know if the issue still persist or not.

Thanks...!!

708895.mp4
2.6 MB View Download
Cc: w...@chromium.org
Components: IO>Keyboard
Status: Untriaged (was: Unconfirmed)
I was able to reproduce this - macOS 10.12.4 Sierra, Chrome 58.0.3029.81 as well as today's Canary, 60.0.3086.0. (Also switching from US -> Pinyin Traditional.) Not sure what's specific to my/shuanwang's setup that makes this happen though. In case it's relevant, I'm using an external keyboard on a Mac Pro (the cylinder-shaped one)?

[mac bug triage] +wez, can you help triage this bug? CC'ing you from ownership of ui/events/keycodes.

Comment 6 by w...@chromium.org, May 3 2017

Cc: -w...@chromium.org chongz@chromium.org
Components: Blink>Editing>IME UI>Input>Text>IME
Labels: M-55
The original report is for Chrome M55, while Chrome stable-channel is already M58, so if this is a Chrome issue then it's not a recent regression.

On my device (Mac OS 10.12.4, Chrome M58 and Chrome M60), I see:

- Cmd+Shift+[ is broken under Pinyin - Traditional.
  If you open a site that listens for keyboard input events and prints them then you'll see something like:

keydown  keyCode=91  ([)   which=91  ([)   charCode=0        
         key=Meta char=undefined location=1 repeat=false
keydown  keyCode=16        which=16        charCode=0        
         key=Shift char=undefined location=1 repeat=false
keydown  keyCode=219       which=219       charCode=0        
         key=「 char=undefined location=0 repeat=false
keyup    keyCode=16        which=16        charCode=0        
         key=Shift char=undefined location=1 repeat=false
keyup    keyCode=91  ([)   which=91  ([)   charCode=0        
         key=Meta char=undefined location=1 repeat=false

  (The third keydown is actually the "[" key; the first and last events are Cmd, which happens to have the same VKEY value as the ASCII for "["...)

- Cmd+Shift+[ works fine under Hirigana _unless you press [ first_.
  Once you press [ you get a keydown with the same |key| value as under the Pinyin layout, which I think affects composition state, the Cmd+Shift+[ shortcut no longer works, though.

So it looks like an interaction between shortcut handling and IME composition?

chongz: Can you take a look?

(Adding IME component tags, and tagging as an issue in M55)
Cc: a...@chromium.org
I don't think this is a regression. I did a rough bisect on macOS 10.12.4 and was able to reproduce on M35 (Pinyin - Simplified).

krajshree@ Can you help confirm if this is macOS version related (e.g. 10.12.1, 10.12.3, 10.12.4)? Thanks!


--- Thoughts on the bug itself
On macOS we map shortcuts based on one of [event charactersIgnoringModifiers], [event characters], or [event keyCode], see |global_keyboard_shortcuts_mac.mm::CommandForKeyEvent()|:
https://cs.chromium.org/chromium/src/chrome/browser/global_keyboard_shortcuts_mac.mm?l=123

My debug log shows that on macOS 10.12.4, M60, pressing Command-Shift-[ we get:
* English and Hirigana Layout: (Good)
  * [event charactersIgnoringModifiers] => "{"
  * [event characters] => "["
* Pinyin - Simplified Layout: (Bad)
  * [event charactersIgnoringModifiers] => "「"
  * [event characters] => "{"

Maybe we should use [event characters] if [event charactersIgnoringModifiers] is not ascii?

Comment 8 by yosin@chromium.org, May 9 2017

Status: Unconfirmed (was: Untriaged)

Comment 9 by yosin@chromium.org, May 9 2017

Summary: NEEDS_FEEDBACK Switching to non US English language keyboard prevents cmd-shift+[ / ] keyboard shortcut from working (MacOS) (was: Switching to non US English language keyboard prevents cmd-shift+[ / ] keyboard shortcut from working (MacOS))

Comment 10 by yosin@chromium.org, May 18 2017

NextAction: 2017-05-23
The NextAction date has arrived: 2017-05-23

Comment 12 by yosin@chromium.org, May 24 2017

Cc: -krajshree@chromium.org ekaramad@chromium.org
NextAction: 2017-05-30
Owner: krajshree@chromium.org
Status: Assigned (was: Unconfirmed)
Per #c7, krajshree@,
Can you help confirm if this is macOS version related (e.g. 10.12.1, 10.12.3, 10.12.4)?

ekaramad@, Do you have an idea why this happened?
I am not quite sure why. This only happens (for me) for Pinyin IME. I also agree with comment #7. I tired Chromium 15.0.876.0 and the issue reproduces.
I did more digging and agree with findings in comment #7. Alternatively, we could add two new entries to the shortcuts table to account for Pinyin IME and look for VKEY code instead of character. I have put up a demo CL for that here:

https://codereview.chromium.org/2901293004

It works fine on all input methods I tested.
The NextAction date has arrived: 2017-05-30
Components: -UI -Blink>Editing>IME
Labels: -Needs-Feedback
Summary: Switching to non US English language keyboard prevents cmd-shift+[ / ] keyboard shortcut from working (MacOS) (was: NEEDS_FEEDBACK Switching to non US English language keyboard prevents cmd-shift+[ / ] keyboard shortcut from working (MacOS))
Remove Blink>Editing>IME
According to the patchin #c14, it can be fixed in browser side changes.
Project Member

Comment 17 by bugdroid1@chromium.org, Jun 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/90b1637839bc498f3de67b66ca0a4c8e250929fb

commit 90b1637839bc498f3de67b66ca0a4c8e250929fb
Author: ekaramad <ekaramad@chromium.org>
Date: Wed Jun 07 16:04:25 2017

Add virtual key code entry to support Command + Shift + [\] tab switching in some Chinese IME

When using Pinyin-IME, pressing Command + Shift + [ (or ]) does not lead to the
same NSEvent as those of other keyboard types. Therefore, when such IMEs are active
these standard key combinations do not work.

This CL will add two more rows to the list of global Mac shortkeys such that the
command lookup would fall back to the new entries which are based on virtual key
codes.

BUG= 708895 

Review-Url: https://codereview.chromium.org/2901293004
Cr-Commit-Position: refs/heads/master@{#477666}

[modify] https://crrev.com/90b1637839bc498f3de67b66ca0a4c8e250929fb/chrome/browser/global_keyboard_shortcuts_cocoa_mac.mm

Status: Fixed (was: Assigned)
Following comment #17 and after verifying on todays Canary:
61.0.3124.0 (Official Build) canary (64-bit)
marking this bug as fixed.

Sign in to add a comment