+ auto appName = GetApplicationPackageName();
+ auto bridge = Accessibility::Bridge::GetCurrentBridge();
+ bridge->SetApplicationName( appName );
+ bridge->Initialize();
+ Dali::Stage stage = Dali::Stage::GetCurrent();
+ Dali::Stage::GetCurrent().KeyEventSignal().Connect( &accessibilityObserver, &AccessibilityObserver::OnAccessibleKeyEvent );
+}
+
+void Adaptor::AccessibilityObserver::OnAccessibleKeyEvent( const KeyEvent& event )
+{
+ Accessibility::KeyEventType type;
+ if( event.state == KeyEvent::Down )
+ {
+ type = Accessibility::KeyEventType::KEY_PRESSED;
+ }
+ else if( event.state == KeyEvent::Up )
+ {
+ type = Accessibility::KeyEventType::KEY_RELEASED;
+ }
+ else
+ {
+ return;
+ }
+ Dali::Accessibility::Bridge::GetCurrentBridge()->Emit( type, event.keyCode, event.keyPressedName, event.time, !event.keyPressed.empty() );