Depending on how international you have to be, you might also want to think about keyboards that have two layouts: one with latin characters and one with non-latin characters (arabic, ..). These keyboards usually have a key to switch between both layouts and the layout with latin characters usually matches the standard English keyboard layout, but it doesn't have to. If you don't want to force your users to switch to latin mode before using a keyboard shortcut you would need to detect if the "key" property contains a non-latin character and if it does you should check "code" instead of "key" property. You would use the "code" of the English layout, assuming that the chance is high that the latin layout is indeed the standard English layout.
If you only support Chromium based browsers you can use the Keyboard API: https://developer.mozilla.org/en-US/docs/Web/API/Keyboard_API
-- J.
Venky schrieb am Mittwoch, 11. Dezember 2024 um 22:38:11 UTC+1:
Hey community,
I am working on a project where I want to introduce a keyboard shortcut for a particular action.
private void shortcutKeyHandler() {
Event.addNativePreviewHandler(new Event.NativePreviewHandler() {
@Override
public void onPreviewNativeEvent(Event.NativePreviewEvent event) {
NativeEvent nativeEvent = event.getNativeEvent();
if (event.getTypeInt() == Event.ONKEYDOWN && nativeEvent.getAltKey() && nativeEvent.getKeyCode() == 191 && !db.isShowing()) {
nativeEvent.preventDefault();
execute();
}
}
});
}In the code, I implemented a shortcut (Alt + /) to display a dialog box. While it works well with English keyboard layouts, the problem arises with other layouts where the Slash key (keycode 191) generates a different keycode.
Is there some workaround with the help of JSNI?
I would greatly appreciate any help in determining how to check the character code and verify if the Alt key is pressed.
Thanks in advance
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/168127ad-732a-4866-9401-12850abb81e8n%40googlegroups.com.
No comments:
Post a Comment