Open Bug 1181414 Opened 9 years ago Updated 2 years ago

InputMethod: Introduce new API to identify a hardware keyboard

Categories

(Core :: DOM: Core & HTML, defect)

defect

Tracking

()

UNCONFIRMED

People

(Reporter: hiro7998, Unassigned)

References

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0 Build ID: 20150628030215 Steps to reproduce: 1. A device with both built-in qwerty and built-in 12keys 2. A device with HID keyboard feature. 3. A device with HID keyboard feature and a built-in hardware keyboard. 4. OEM Keyboard app downloaded from marketplace, it's possible because IME API has a privileged permission. In those cases, how can keyboard app select a proper IME state machine exactly for the keyboard events without knowledge of the currently installed hardware keyboards? Actual results: Keyboard apps might have the IME state machines for the various hardware keyboard types, because it's needed to handle a keyboard event from each hardware keyboard in a different way. However, keyboard apps can not select a proper IME state machine for each keyboard event because keyboard apps do not have any knowledge of the currently installed hardware keyboards. Expected results: Keyboard app should be able to select a proper IME state machine for each keyboard event using the knowledge of the currently installed hardware keyboards.
Component: General → DOM
Depends on: 1161424
Product: Firefox OS → Core
OS: Gonk (Firefox OS) → Unspecified
Hardware: ARM → Unspecified
As we discussed in Bug 1161424, in my opinion, the knowledge of the types of hardware keyboards is needed in keyboard app. Summary for new requirement ============================= 1. Info of which hardware keyboard a keyboard event is fired from? => Once keyboard app receives a hardware keyboard event, it can select a proper IME state machine using this info. 2. Info of which hardware keyboard is installed to device. => Keyboard app can prepare UI or state machine on initialization using this info. 3. Notification to keyboard app, which contains hardware keyboard is attached or detached newly. => Once keyboard app receives this event, it calls hardwareinput.addEventListener or hardwareinput.removeEventListener for the updated hardware keyboard. About 2, I'm not sure it's needed or not. If I have misunderstandings, let me know please. And if those are really needed, give me your opinion please.
Is there any usecase that we may use a qwerty hardware keyboard from HID and a built-in 12 keys hardware keyboard at the same time? If not, then we can just set the proper IME by the hardware keyboard used.
Component: DOM → DOM: Core & HTML
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.