@@ -495,9 +495,17 @@ static LWE::KeyValue EcoreEventKeyToKeyValue(const char* ecore_key_string,
495
495
}
496
496
return (LWE::KeyValue)(LWE::KeyValue::Digit0Key + ch - ' 0' );
497
497
} else if (ch >= ' a' && ch <= ' z' ) {
498
- return (LWE::KeyValue)(LWE::KeyValue::LowerAKey + ch - ' a' );
498
+ if (is_shift_pressed) {
499
+ return (LWE::KeyValue)(LWE::KeyValue::LowerAKey + ch - ' a' - 32 );
500
+ } else {
501
+ return (LWE::KeyValue)(LWE::KeyValue::LowerAKey + ch - ' a' );
502
+ }
499
503
} else if (ch >= ' A' && ch <= ' Z' ) {
500
- return (LWE::KeyValue)(LWE::KeyValue::AKey + ch - ' A' );
504
+ if (is_shift_pressed) {
505
+ return (LWE::KeyValue)(LWE::KeyValue::AKey + ch - ' A' + 32 );
506
+ } else {
507
+ return (LWE::KeyValue)(LWE::KeyValue::AKey + ch - ' A' );
508
+ }
501
509
}
502
510
} else if (strcmp (" XF86AudioRaiseVolume" , ecore_key_string) == 0 ) {
503
511
return LWE::KeyValue::TVVolumeUpKey;
@@ -583,12 +591,6 @@ void WebView::DispatchKeyDownEvent(Ecore_Event_Key* key_event) {
583
591
return ;
584
592
}
585
593
586
- #ifdef TV_PROFILE
587
- if ((strncmp (key_name.data (), " XF86Back" , 8 ) == 0 )) {
588
- key_name = " Escape" ;
589
- }
590
- #endif
591
-
592
594
if ((strcmp (key_name.data (), " XF86Exit" ) == 0 ) ||
593
595
(strcmp (key_name.data (), " Select" ) == 0 ) ||
594
596
(strcmp (key_name.data (), " Cancel" ) == 0 )) {
@@ -620,7 +622,8 @@ void WebView::DispatchKeyDownEvent(Ecore_Event_Key* key_event) {
620
622
};
621
623
Param* p = new Param ();
622
624
p->webview_instance = webview_instance_;
623
- p->key_value = EcoreEventKeyToKeyValue (key_name.data (), false );
625
+ p->key_value =
626
+ EcoreEventKeyToKeyValue (key_name.data (), (key_event->modifiers & 1 ));
624
627
625
628
webview_instance_->AddIdleCallback (
626
629
[](void * data) {
@@ -642,18 +645,14 @@ void WebView::DispatchKeyUpEvent(Ecore_Event_Key* key_event) {
642
645
return ;
643
646
}
644
647
645
- #ifdef TV_PROFILE
646
- if ((strncmp (key_name.data (), " XF86Back" , 8 ) == 0 )) {
647
- key_name = " Escape" ;
648
- }
649
- #endif
650
648
struct Param {
651
649
LWE::WebContainer* webview_instance;
652
650
LWE::KeyValue key_value;
653
651
};
654
652
Param* p = new Param ();
655
653
p->webview_instance = webview_instance_;
656
- p->key_value = EcoreEventKeyToKeyValue (key_name.data (), false );
654
+ p->key_value =
655
+ EcoreEventKeyToKeyValue (key_name.data (), (key_event->modifiers & 1 ));
657
656
658
657
webview_instance_->AddIdleCallback (
659
658
[](void * data) {
0 commit comments