INNER CODE UNIT · C

IN_Android_KeyEvent2UCS

Qfusion/qfusion · source/android/android_input.c:73

static wchar_t IN_Android_KeyEvent2UCS( const AInputEvent *event ) {
	JNIEnv *env = Sys_Android_GetJNIEnv();
	static jclass mapClass;
	static jmethodID load, get;
	jobject map;
	unsigned int ucs;

	if( !mapClass ) {
		jclass mapClassRef;

		mapClassRef = ( *env )->FindClass( env, "android/view/KeyCharacterMap" );
		mapClass = ( *env )->NewGlobalRef( env, mapClassRef );
		load = ( *env )->GetStaticMethodID( env, mapClass, "load", "(I)Landroid/view/KeyCharacterMap;" );
		get = ( *env )->GetMethodID( env, mapClass, "get", "(II)I" );
		( *env )->DeleteLocalRef( env, mapClassRef );
	}

	map = ( *env )->CallStaticObjectMethod( env, mapClass, load, AInputEvent_getDeviceId( event ) );

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…