-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/0238 Keyboard Enhancements #10
base: develop
Are you sure you want to change the base?
Changes from 5 commits
4687748
3c734d7
09c6fad
4b431d5
856c2dd
799bb6d
66efcf6
6391778
30e6913
bdf9042
7bf061d
b1deb58
0149963
6bb323b
6a12ab4
282b84d
9215059
966f454
4258a72
c7734de
7956763
5d25e16
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,11 +18,13 @@ Purpose | |
* `menuName` and `templateTitle` should be included, if they are visible on HMI. | ||
* `mainField1-4`, `statusBar` and `mediaTrack` should not be included if OEM implemented the `WEB_VIEW` template without these text fields. | ||
* `availabletemplates`, `buttonCapabilities` and `imageTypeSupported` should reflect the general capabilities of the window/system. | ||
5. HMI sends `KeyboardCapabilities` and max number of customizable keys within OnSystemCapabilityUpdated notification to SDL. | ||
|
||
!!! NOTE | ||
|
||
Template `WEB_VIEW` is only allowed for the WebEngine applications with `AppHMIType`=`WEB_VIEW`. | ||
1. Template `WEB_VIEW` is only allowed for the WebEngine applications with `AppHMIType`=`WEB_VIEW`. | ||
|
||
2. In case HMI sends `KeyboardCapabilities` without information about `numConfigurableKeys` within OnSystemCapabilityUpdated notification, SDL would provide `KeyboardCapabilities` to app with `numConfigurableKeys` set to zero. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe, I will be better to highlight, that There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. And one more clarification: if KeyboardCapabilities struct doesn't have any information about supported layouts (supportedKeyboardLayouts param is omitted), corresponding requests will use configurableKeys param as is. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @dboltovskyi, @ychernysheva
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Looks Ok for me There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done in 6391778 |
||
!!! | ||
|
||
#### Parameters | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,12 +6,12 @@ note over App,HMI:<align:center> **//Pre-conditions://**\n**1.** appID applicati | |
|
||
opt App sends a request to change customizable keys special characters - Happy Path | ||
note over HMI:<align:center>Keyboard layout\ncustomizable keys are:\n**" # "** - default value\n**" - "** - default value | ||
App->SDL:SetGlobalProperties (appID, <customizeKeys: **" # ", " $ "**>) | ||
SDL->HMI:UI.SetGlobalProperties (appID, <customizeKeys: **" # ", " $ "**>) | ||
App->SDL:SetGlobalProperties (appID, <customizeKeys: **" ¥ ", " $ "**>) | ||
SDL->HMI:UI.SetGlobalProperties (appID, <customizeKeys: **" ¥ ", " $ "**>) | ||
HMI->HMI:Update\ncustomizable\nkeys | ||
HMI-->SDL:UI.SetGlobalProperties (SUCCESS) | ||
SDL-->App:SetGlobalProperties (SUCCESS) | ||
note over HMI:<align:center>Keyboard layout\ncustomizable keys are:\n**" # "** - customized value\n** " $ "** - customized value | ||
note over HMI:<align:center>Keyboard layout\ncustomizable keys are:\n**" ¥ "** - customized value\n** " $ "** - customized value | ||
end | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This scenario updates already available character '#' (default one) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. updated in 856c2dd |
||
|
||
opt App sends a request with a special character already available on keyboard | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
participant App | ||
participant SDL | ||
participant HMI | ||
|
||
note over App,HMI:<align:center>**//Pre-conditions://**\n**1.** appID application is successfuly registered, activated\n**2.** App set non-default values for 'KeyboardProperties' via SetGlobalProperties request\n keyboardLayout=AZERTY; maskInputCharacters=USER_CHOICE_INPUT_KEY_MASK; customizeKeys = "#", "$" | ||
|
||
note over App,HMI: Unexpected disconnect and reconnect are performed | ||
|
||
App->SDL: RegisterAppInterface(hashID, params) | ||
|
||
|
||
note over SDL:<align:center> <hashID> is valid\nStart data resumption for the App | ||
|
||
SDL->HMI:<align:center>UI.SetGlobalProperties\n (**keyboardLayout=AZERTY;\nmaskInputCharacters=USER_CHOICE_INPUT_KEY_MASK;\ncustomizeKeys = #, $**) | ||
|
||
HMI-->SDL: UI.SetGlobalProperties (code:0) | ||
|
||
|
||
SDL-->App: RegisterAppInterface (SUCCESS) | ||
|
||
SDL->>HMI: BC.OnAppRegistered(appName; appID) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This notification is sent before There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done in 66efcf6 |
||
SDL->>App: OnHMIStatus() | ||
|
||
SDL->HMI: BC.ActivateApp() | ||
HMI-->SDL: BC.ActivateApp (code:0) | ||
|
||
HMI->>SDL: UI.OnKeyboardInput(INPUT_KEY_MASK_DISABLED) | ||
SDL->>App:OnKeyboardInput(INPUT_KEY_MASK_DISABLED) |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -42,6 +42,7 @@ _**Notes for HMI expected behavior:**_ | |
6. When the User selects one of the displayed matching `autoCompleteList` strings, the system shall submit that entry and not require further User input for submission. | ||
7. HMI allows to customize special characters depending on the keyboard layout restrictions: | ||
* `QWERTY` - 3 customizable keys | ||
* `QWERTZ` - 3 customizable keys | ||
* `AZERTY` - 4 customizable keys | ||
* `NUMERIC` - 2 customizable keys | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please notice there 4 layouts available, There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. and how many customizable buttons allowed for There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. added in 09c6fad |
||
|
||
|
@@ -75,9 +76,7 @@ _**Important Note:**_ If HMI-defined VR commands are accessible together with th | |
* display the complete list of available VR commands (SDL-defined and HMI-defined ones) when the User activates VR. | ||
|
||
4. HMI displays the in-application menu for every active application upon the User's request. It must contain SDL-requested commands (UI.AddCommand) and sub-menus (UI.AddSubMenu). SDL provides the values for the name (`menuTitle` parameter) and for the icon (`menuIcon` parameter) of this in-application menu. The values for in-application menu and touchscreen keyboard are allowed by SDL Core for navigation type of application only. | ||
5. HMI must display the onscreen keyboard upon the User's request within the following condition: all `keyboardProperties` supported by HMI must be embodied in `HMI_capabilities.json file`. In this case SDL Core is able to compare `keyboardProperties` requested by the mobile device with actually supported `keyboardProperties` and send to HMI only those that are supported. | ||
6. HMI must use default `keyboardProperties` parameters, in case SDL Core transfers UI.SetGlobalProperties request with omitted or empty `keyboardProperties` parameters. | ||
7. In case SDL sends request with some values in `customizeKeys` array, HMI must: | ||
5. In case SDL sends request with some values in `customizeKeys` array, HMI must: | ||
* use these values to change the special characters shown in customizable keys | ||
* keep default values in the remaining keys, if the array is less than or equal to customizable keys amount | ||
|
||
|
@@ -107,6 +106,11 @@ SetGlobalProperties Customize Keys | |
![SetGlobalProperties](./assets/SetGlobalPropertiesCustomizeKeys.png) | ||
||| | ||
|
||
||| | ||
SetGlobalProperties Resumption of non-default KeyboardProperties | ||
![SetGlobalProperties](./assets/SetGlobalPropertiesResumptionKeyboardProperties.png) | ||
||| | ||
|
||
### JSON Message Examples | ||
|
||
#### Example Request | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would say HMI may send
KeyboardCapabilities
withinOnSystemCapabilityUpdated
notification which may includemaskInputCharactersSupported
,supportedKeyboardLayouts
andconfigurableKeys
parameters.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done in 66efcf6