@@ -495,9 +495,17 @@ static LWE::KeyValue EcoreEventKeyToKeyValue(const char* ecore_key_string,
495495 }
496496 return (LWE::KeyValue)(LWE::KeyValue::Digit0Key + ch - ' 0' );
497497 } 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+ }
499503 } 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+ }
501509 }
502510 } else if (strcmp (" XF86AudioRaiseVolume" , ecore_key_string) == 0 ) {
503511 return LWE::KeyValue::TVVolumeUpKey;
@@ -583,12 +591,6 @@ void WebView::DispatchKeyDownEvent(Ecore_Event_Key* key_event) {
583591 return ;
584592 }
585593
586- #ifdef TV_PROFILE
587- if ((strncmp (key_name.data (), " XF86Back" , 8 ) == 0 )) {
588- key_name = " Escape" ;
589- }
590- #endif
591-
592594 if ((strcmp (key_name.data (), " XF86Exit" ) == 0 ) ||
593595 (strcmp (key_name.data (), " Select" ) == 0 ) ||
594596 (strcmp (key_name.data (), " Cancel" ) == 0 )) {
@@ -620,7 +622,8 @@ void WebView::DispatchKeyDownEvent(Ecore_Event_Key* key_event) {
620622 };
621623 Param* p = new Param ();
622624 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 ));
624627
625628 webview_instance_->AddIdleCallback (
626629 [](void * data) {
@@ -642,18 +645,14 @@ void WebView::DispatchKeyUpEvent(Ecore_Event_Key* key_event) {
642645 return ;
643646 }
644647
645- #ifdef TV_PROFILE
646- if ((strncmp (key_name.data (), " XF86Back" , 8 ) == 0 )) {
647- key_name = " Escape" ;
648- }
649- #endif
650648 struct Param {
651649 LWE::WebContainer* webview_instance;
652650 LWE::KeyValue key_value;
653651 };
654652 Param* p = new Param ();
655653 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 ));
657656
658657 webview_instance_->AddIdleCallback (
659658 [](void * data) {
0 commit comments