|
|
Created:
4 years, 4 months ago by Evan Stade Modified:
4 years, 3 months ago CC:
chromium-reviews, kalyank, sadrul Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionRefuse to show Alt+Tab UI concurrently with virtual keyboard.
Overview mode is probably more useful to people who are trying to use
a touch screen. Simply no-op on Alt+Tab when the virtual
keyboard's showing.
BUG=638269
Committed: https://crrev.com/252dbee7b15f43aa53242b68eb1bc41b272eaf26
Cr-Commit-Position: refs/heads/master@{#414731}
Patch Set 1 #Patch Set 2 : no op instead #
Total comments: 7
Patch Set 3 : plumb #
Total comments: 2
Patch Set 4 : mark ime events as synthesized #
Total comments: 1
Patch Set 5 : remove ime change #
Total comments: 3
Patch Set 6 : fix bitwise operator #
Messages
Total messages: 57 (25 generated)
estade@chromium.org changed reviewers: + oshima@chromium.org, sgabriel@chromium.org, varkha@chromium.org
this is solution #4 from the bug. If we want to just make it a no-op, we'd probably just add a clause to AcceleratorController::GetAcceleratorProcessingRestriction() +varkha and oshima for review. +sgabriel for commentary on desired behavior (see linked bug for longer discussion and other options)
On 2016/08/18 21:42:14, Evan Stade wrote: > this is solution #4 from the bug. and by this I mean option (4) from comment 15.
On 2016/08/18 21:42:55, Evan Stade wrote: > On 2016/08/18 21:42:14, Evan Stade wrote: > > this is solution #4 from the bug. > > and by this I mean option (4) from comment 15. sgtm. on-screen keyboard alt-tabbing should do nothing.
Description was changed from ========== Refuse to show Alt+Tab UI concurrently with virtual keyboard. Overview mode is probably more useful to people who are trying to use a touch screen, so punt them to that UI instead. BUG=638269 ========== to ========== Refuse to show Alt+Tab UI concurrently with virtual keyboard. Overview mode is probably more useful to people who are trying to use a touch screen. Simply no-op on Alt+Tab when the virtual keyboard's showing. BUG=638269 ==========
As I mentioned in the but, it may not be that easy to access overview when a user is using A11Y VK in tablet mode. https://codereview.chromium.org/2256283003/diff/20001/ash/common/accelerators... File ash/common/accelerators/accelerator_controller.cc (right): https://codereview.chromium.org/2256283003/diff/20001/ash/common/accelerators... ash/common/accelerators/accelerator_controller.cc:969: return RESTRICTION_PREVENT_PROCESSING; This disable alt-tab even if I used the real keyboard when VK is visible. varkha@, bshe@ is there any good way to tell if this is coming from VK? If it's hard, then I'm fine.
oshima@chromium.org changed reviewers: + bshe@chromium.org
+bshe@
ping everyone except sgabriel
https://codereview.chromium.org/2256283003/diff/20001/ash/common/accelerators... File ash/common/accelerators/accelerator_controller.cc (right): https://codereview.chromium.org/2256283003/diff/20001/ash/common/accelerators... ash/common/accelerators/accelerator_controller.cc:927: AcceleratorController::GetAcceleratorProcessingRestriction(int action) { Maybe deserves a followup. Is there a good reason that action is not stronger typed? I have noticed some call to this method with action=-1. Is that the reason? Could that -1 be turned into another value in the enum? https://codereview.chromium.org/2256283003/diff/20001/ash/common/accelerators... ash/common/accelerators/accelerator_controller.cc:969: return RESTRICTION_PREVENT_PROCESSING; On 2016/08/18 23:53:31, oshima wrote: > This disable alt-tab even if I used the real keyboard when VK is visible. > varkha@, bshe@ is there any good way to tell if this is coming from VK? > > If it's hard, then I'm fine. Maybe we can plumb through a ui::Accelerator parameter and get some knowledge from that where the event originated.
bshe@chromium.org changed reviewers: + wuyingbing@google.com
https://codereview.chromium.org/2256283003/diff/20001/ash/common/accelerators... File ash/common/accelerators/accelerator_controller.cc (right): https://codereview.chromium.org/2256283003/diff/20001/ash/common/accelerators... ash/common/accelerators/accelerator_controller.cc:969: return RESTRICTION_PREVENT_PROCESSING; On 2016/08/18 23:53:31, oshima wrote: > This disable alt-tab even if I used the real keyboard when VK is visible. > varkha@, bshe@ is there any good way to tell if this is coming from VK? > > If it's hard, then I'm fine. If alt + tab is disabled for VK, it is probably better to disable it in vk code. This way, it wont affect real keyboard. +wuyingbing
https://codereview.chromium.org/2256283003/diff/20001/ash/common/accelerators... File ash/common/accelerators/accelerator_controller.cc (right): https://codereview.chromium.org/2256283003/diff/20001/ash/common/accelerators... ash/common/accelerators/accelerator_controller.cc:927: AcceleratorController::GetAcceleratorProcessingRestriction(int action) { On 2016/08/22 20:59:23, varkha wrote: > Maybe deserves a followup. Is there a good reason that action is not stronger > typed? I have noticed some call to this method with action=-1. Is that the > reason? Could that -1 be turned into another value in the enum? dunno, seems tangential to this CL though. https://codereview.chromium.org/2256283003/diff/20001/ash/common/accelerators... ash/common/accelerators/accelerator_controller.cc:969: return RESTRICTION_PREVENT_PROCESSING; On 2016/08/22 20:59:23, varkha wrote: > On 2016/08/18 23:53:31, oshima wrote: > > This disable alt-tab even if I used the real keyboard when VK is visible. > > varkha@, bshe@ is there any good way to tell if this is coming from VK? > > > > If it's hard, then I'm fine. > > Maybe we can plumb through a ui::Accelerator parameter and get some knowledge > from that where the event originated. seems very not worth it. Why is a user using both keyboards at the same time? https://codereview.chromium.org/2256283003/diff/20001/ash/common/accelerators... ash/common/accelerators/accelerator_controller.cc:969: return RESTRICTION_PREVENT_PROCESSING; On 2016/08/22 21:02:56, bshe wrote: > On 2016/08/18 23:53:31, oshima wrote: > > This disable alt-tab even if I used the real keyboard when VK is visible. > > varkha@, bshe@ is there any good way to tell if this is coming from VK? > > > > If it's hard, then I'm fine. > > If alt + tab is disabled for VK, it is probably better to disable it in vk code. > This way, it wont affect real keyboard. +wuyingbing How would one do that? By special casing to ignore alt+tab? That doesn't sound appealing. That said, yes, fixing the virtual keyboard to behave more like a real keyboard is one viable alternative (see discussion on bug).
On 2016/08/22 21:35:04, Evan Stade wrote: > https://codereview.chromium.org/2256283003/diff/20001/ash/common/accelerators... > File ash/common/accelerators/accelerator_controller.cc (right): > > https://codereview.chromium.org/2256283003/diff/20001/ash/common/accelerators... > ash/common/accelerators/accelerator_controller.cc:927: > AcceleratorController::GetAcceleratorProcessingRestriction(int action) { > On 2016/08/22 20:59:23, varkha wrote: > > Maybe deserves a followup. Is there a good reason that action is not stronger > > typed? I have noticed some call to this method with action=-1. Is that the > > reason? Could that -1 be turned into another value in the enum? > > dunno, seems tangential to this CL though. > > https://codereview.chromium.org/2256283003/diff/20001/ash/common/accelerators... > ash/common/accelerators/accelerator_controller.cc:969: return > RESTRICTION_PREVENT_PROCESSING; > On 2016/08/22 20:59:23, varkha wrote: > > On 2016/08/18 23:53:31, oshima wrote: > > > This disable alt-tab even if I used the real keyboard when VK is visible. > > > varkha@, bshe@ is there any good way to tell if this is coming from VK? > > > > > > If it's hard, then I'm fine. > > > > Maybe we can plumb through a ui::Accelerator parameter and get some knowledge > > from that where the event originated. > > seems very not worth it. I agree that that's overkill. I was thinking of something like checking VK status if the alt is pressed. > Why is a user using both keyboards at the same time? We can technically disable hardware keyboard itself, but that's probably not good solution. Again, I'm fine if there is no simple solution for this. > > https://codereview.chromium.org/2256283003/diff/20001/ash/common/accelerators... > ash/common/accelerators/accelerator_controller.cc:969: return > RESTRICTION_PREVENT_PROCESSING; > On 2016/08/22 21:02:56, bshe wrote: > > On 2016/08/18 23:53:31, oshima wrote: > > > This disable alt-tab even if I used the real keyboard when VK is visible. > > > varkha@, bshe@ is there any good way to tell if this is coming from VK? > > > > > > If it's hard, then I'm fine. > > > > If alt + tab is disabled for VK, it is probably better to disable it in vk > code. > > This way, it wont affect real keyboard. +wuyingbing > > How would one do that? By special casing to ignore alt+tab? That doesn't sound > appealing. That said, yes, fixing the virtual keyboard to behave more like a > real keyboard is one viable alternative (see discussion on bug).
I looked into how much extra plumbing we'd need to add to ui::Accelerator to determine if it came from a virtual keyboard. It turns out not much, if we mark virtual keyboard events as "synthesized". This has some intuitive appeal, but I'm worried that it will have unintended consequences. For example, will it break IMEs? https://cs.chromium.org/chromium/src/ash/ime/input_method_event_handler.cc?rc...
Hi Shu, Could you make sure if make virtual keyboard events as "synthesized". Will it break IMEs? Can we use whether trigger "search" when press "enter" key on virtual keyboard in omnibox to test? On 23 August 2016 at 10:20, <estade@chromium.org> wrote: > I looked into how much extra plumbing we'd need to add to ui::Accelerator > to > determine if it came from a virtual keyboard. It turns out not much, if we > mark > virtual keyboard events as "synthesized". This has some intuitive appeal, > but > I'm worried that it will have unintended consequences. For example, will it > break IMEs? > https://cs.chromium.org/chromium/src/ash/ime/input_ > method_event_handler.cc?rcl=0&l=29 > > https://codereview.chromium.org/2256283003/ > -- Yingbing Wu | Senior Software Engineer | wuyingbing@google.com | +16506918899 -- You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
On 2016/08/23 02:20:32, Evan Stade wrote: > I looked into how much extra plumbing we'd need to add to ui::Accelerator to > determine if it came from a virtual keyboard. It turns out not much, if we mark > virtual keyboard events as "synthesized". This has some intuitive appeal, but > I'm worried that it will have unintended consequences. For example, will it > break IMEs? > https://cs.chromium.org/chromium/src/ash/ime/input_method_event_handler.cc?rc... I think it won't break IME. The virtual keyboard is a part of IME. And if the IME/VK simulates some key events, it should not expect to receive them back.
shuchen@chromium.org changed reviewers: + shuchen@chromium.org
https://codereview.chromium.org/2256283003/diff/40001/chrome/browser/extensio... File chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc (right): https://codereview.chromium.org/2256283003/diff/40001/chrome/browser/extensio... chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc:158: modifiers & ui::EF_IS_SYNTHESIZED, You need to do the same thing in here: https://cs.chromium.org/chromium/src/chrome/browser/chromeos/input_method/inp....
The CQ bit was checked by estade@chromium.org to run a CQ dry run
https://codereview.chromium.org/2256283003/diff/40001/chrome/browser/extensio... File chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc (right): https://codereview.chromium.org/2256283003/diff/40001/chrome/browser/extensio... chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc:158: modifiers & ui::EF_IS_SYNTHESIZED, On 2016/08/23 02:56:58, Shu Chen wrote: > You need to do the same thing in here: > https://cs.chromium.org/chromium/src/chrome/browser/chromeos/input_method/inp.... thanks, done in InputMethodEngineBase::SendKeyEvents. I don't know how to verify this is correct though.
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
show the a11y keyboard, then press alt+tab on a11y keyboard. can't switch window. that's it. On 23 August 2016 at 11:38, <estade@chromium.org> wrote: > > https://codereview.chromium.org/2256283003/diff/40001/ > chrome/browser/extensions/api/virtual_keyboard_private/ > chrome_virtual_keyboard_delegate.cc > File > chrome/browser/extensions/api/virtual_keyboard_private/ > chrome_virtual_keyboard_delegate.cc > (right): > > https://codereview.chromium.org/2256283003/diff/40001/ > chrome/browser/extensions/api/virtual_keyboard_private/ > chrome_virtual_keyboard_delegate.cc#newcode158 > chrome/browser/extensions/api/virtual_keyboard_private/ > chrome_virtual_keyboard_delegate.cc:158: > modifiers & ui::EF_IS_SYNTHESIZED, > On 2016/08/23 02:56:58, Shu Chen wrote: > > You need to do the same thing in here: > > > https://cs.chromium.org/chromium/src/chrome/browser/ > chromeos/input_method/input_method_engine.cc?dr&sq=package:chromium&l=329. > > thanks, done in InputMethodEngineBase::SendKeyEvents. I don't know how > to verify this is correct though. > > https://codereview.chromium.org/2256283003/ > -- Yingbing Wu | Senior Software Engineer | wuyingbing@google.com | +16506918899 -- You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
lgtm
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_...)
On 2016/08/23 03:43:22, chromium-reviews wrote: > show the a11y keyboard, then press alt+tab on a11y keyboard. can't switch > window. that's it. > I meant I didn't know how to test the change to IME specifically. The rest of the change works as expected.
lgtm with a nit https://codereview.chromium.org/2256283003/diff/60001/ui/keyboard/keyboard_ut... File ui/keyboard/keyboard_util.cc (right): https://codereview.chromium.org/2256283003/diff/60001/ui/keyboard/keyboard_ut... ui/keyboard/keyboard_util.cc:36: NOTIMPLEMENTED() << " SENDING"; nit: debug log?
Hi Evan, I think you can quick test it. Please turn on "enable-virtual-keyboard" in chrome://flags, then please try to input some sentences. will show suggestion on virtual keyboard. And test "Enter/Backspace/Space" key. I think for your change, these tests is enough. On 23 August 2016 at 12:50, <estade@chromium.org> wrote: > On 2016/08/23 03:43:22, chromium-reviews wrote: > > show the a11y keyboard, then press alt+tab on a11y keyboard. can't switch > > window. that's it. > > > > I meant I didn't know how to test the change to IME specifically. The rest > of > the change works as expected. > > https://codereview.chromium.org/2256283003/ > -- Yingbing Wu | Senior Software Engineer | wuyingbing@google.com | +16506918899 -- You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
The CQ bit was checked by estade@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
I backed out the IME change because it broke a lot of tests (and I traced the cause to https://cs.chromium.org/chromium/src/ash/ime/input_method_event_handler.cc?rc... as I expected). It seems orthogonal to the bug I'm trying to fix.
estade@chromium.org changed reviewers: + sadrul@chromium.org
+sadrul can you have a look at ui/?
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by estade@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
On 2016/08/23 16:54:40, Evan Stade (ooo wed-thurs) wrote: > +sadrul can you have a look at ui/? since I'll be ooo the next couple days, ping sadrul and please cq if lgty
ui/base lgtm (not cq'ing yet since you still need approval for chrome/) https://codereview.chromium.org/2256283003/diff/80001/ash/common/accelerators... File ash/common/accelerators/accelerator_controller.cc (right): https://codereview.chromium.org/2256283003/diff/80001/ash/common/accelerators... ash/common/accelerators/accelerator_controller.cc:140: (accelerator.modifiers() & ui::EF_IS_SYNTHESIZED)); Are you sure you need to look at whether the keyboard is visible? Just the SYNTHESIZED flag should be sufficient, I think?
ping bshe https://codereview.chromium.org/2256283003/diff/80001/ash/common/accelerators... File ash/common/accelerators/accelerator_controller.cc (right): https://codereview.chromium.org/2256283003/diff/80001/ash/common/accelerators... ash/common/accelerators/accelerator_controller.cc:140: (accelerator.modifiers() & ui::EF_IS_SYNTHESIZED)); On 2016/08/24 14:22:19, sadrul wrote: > Are you sure you need to look at whether the keyboard is visible? Just the > SYNTHESIZED flag should be sufficient, I think? Since I don't really know all the things that could make an event "synthesized" this seems less likely to cause issues.
https://codereview.chromium.org/2256283003/diff/80001/ash/common/accelerators... File ash/common/accelerators/accelerator_controller.cc (right): https://codereview.chromium.org/2256283003/diff/80001/ash/common/accelerators... ash/common/accelerators/accelerator_controller.cc:140: (accelerator.modifiers() & ui::EF_IS_SYNTHESIZED)); On 2016/08/26 14:17:55, Evan Stade (ooo wed-thurs) wrote: > On 2016/08/24 14:22:19, sadrul wrote: > > Are you sure you need to look at whether the keyboard is visible? Just the > > SYNTHESIZED flag should be sufficient, I think? > > Since I don't really know all the things that could make an event "synthesized" > this seems less likely to cause issues. Sorry, I am not sure about other cases either. But adding a visibility check doesn't look like harmful.
+bshe, sorry I was not specific about the ping. I actually need your stamp of approval as OWNER of chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc
The CQ bit was checked by estade@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
On 2016/08/26 15:23:09, Evan Stade (ooo wed-thurs) wrote: > +bshe, sorry I was not specific about the ping. I actually need your stamp of > approval as OWNER of > chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc lgtm
The CQ bit was unchecked by estade@chromium.org
The CQ bit was checked by estade@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from oshima@chromium.org, shuchen@chromium.org, sadrul@chromium.org Link to the patchset: https://codereview.chromium.org/2256283003/#ps100001 (title: "fix bitwise operator")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Refuse to show Alt+Tab UI concurrently with virtual keyboard. Overview mode is probably more useful to people who are trying to use a touch screen. Simply no-op on Alt+Tab when the virtual keyboard's showing. BUG=638269 ========== to ========== Refuse to show Alt+Tab UI concurrently with virtual keyboard. Overview mode is probably more useful to people who are trying to use a touch screen. Simply no-op on Alt+Tab when the virtual keyboard's showing. BUG=638269 ==========
Message was sent while issue was closed.
Committed patchset #6 (id:100001)
Message was sent while issue was closed.
Description was changed from ========== Refuse to show Alt+Tab UI concurrently with virtual keyboard. Overview mode is probably more useful to people who are trying to use a touch screen. Simply no-op on Alt+Tab when the virtual keyboard's showing. BUG=638269 ========== to ========== Refuse to show Alt+Tab UI concurrently with virtual keyboard. Overview mode is probably more useful to people who are trying to use a touch screen. Simply no-op on Alt+Tab when the virtual keyboard's showing. BUG=638269 Committed: https://crrev.com/252dbee7b15f43aa53242b68eb1bc41b272eaf26 Cr-Commit-Position: refs/heads/master@{#414731} ==========
Message was sent while issue was closed.
Patchset 6 (id:??) landed as https://crrev.com/252dbee7b15f43aa53242b68eb1bc41b272eaf26 Cr-Commit-Position: refs/heads/master@{#414731} |