@@ -429,6 +429,143 @@ int main(int argc, char *argv[])
429429 assert (SL::Input_Lite::ConvertToKeyCode (kVK_RightOption ) == SL::Input_Lite::KeyCodes::KEY_RightAlt);
430430 assert (SL::Input_Lite::ConvertToKeyCode (kVK_RightControl ) == SL::Input_Lite::KeyCodes::KEY_RightMeta);
431431
432+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_0) == kVK_ANSI_0 );
433+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_1) == kVK_ANSI_1 );
434+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_2) == kVK_ANSI_2 );
435+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_3) == kVK_ANSI_3 );
436+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_4) == kVK_ANSI_4 );
437+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_5) == kVK_ANSI_5 );
438+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_6) == kVK_ANSI_6 );
439+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_7) == kVK_ANSI_7 );
440+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_8) == kVK_ANSI_8 );
441+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_9) == kVK_ANSI_9 );
442+
443+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_A) == kVK_ANSI_A );
444+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_B) == kVK_ANSI_B );
445+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_C) == kVK_ANSI_C );
446+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_D) == kVK_ANSI_D );
447+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_E) == kVK_ANSI_E );
448+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F) == kVK_ANSI_F );
449+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_G) == kVK_ANSI_G );
450+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_H) == kVK_ANSI_H );
451+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_I) == kVK_ANSI_I );
452+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_J) == kVK_ANSI_J );
453+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_K) == kVK_ANSI_K );
454+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_L) == kVK_ANSI_L );
455+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_M) == kVK_ANSI_M );
456+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_N) == kVK_ANSI_N );
457+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_O) == kVK_ANSI_O );
458+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_P) == kVK_ANSI_P );
459+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Q) == kVK_ANSI_Q );
460+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_R) == kVK_ANSI_R );
461+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_S) == kVK_ANSI_S );
462+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_T) == kVK_ANSI_T );
463+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_U) == kVK_ANSI_U );
464+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_V) == kVK_ANSI_V );
465+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_W) == kVK_ANSI_W );
466+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_X) == kVK_ANSI_X );
467+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Y) == kVK_ANSI_Y );
468+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Z) == kVK_ANSI_Z );
469+
470+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Enter) == kVK_Return );
471+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Escape) == kVK_Escape );
472+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Backspace) == kVK_Delete );
473+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Tab) == kVK_Tab );
474+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Space) == kVK_Space );
475+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Minus) == kVK_ANSI_Minus );
476+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Equals) == kVK_ANSI_Equal );
477+
478+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_LeftBracket) == kVK_ANSI_LeftBracket );
479+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_RightBracket) == kVK_ANSI_RightBracket );
480+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Backslash) == kVK_ANSI_Backslash );
481+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Semicolon) == kVK_ANSI_Semicolon );
482+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Quote) == kVK_ANSI_Quote );
483+
484+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Grave) == kVK_ANSI_Grave );
485+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Comma) == kVK_ANSI_Comma );
486+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Period) == kVK_ANSI_Period );
487+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Slash) == kVK_ANSI_Slash );
488+
489+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_CapsLock) == kVK_CapsLock );
490+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F1) == kVK_F1 );
491+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F2) == kVK_F2 );
492+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F3) == kVK_F3 );
493+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F4) == kVK_F4 );
494+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F5) == kVK_F5 );
495+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F6) == kVK_F6 );
496+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F7) == kVK_F7 );
497+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F8) == kVK_F8 );
498+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F9) == kVK_F9 );
499+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F10) == kVK_F10 );
500+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F11) == kVK_F11 );
501+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F12) == kVK_F12 );
502+
503+ /* assert(SL::Input_Lite::ConvertToNative(SL::Input_Lite::KeyCodes::KEY_PrintScreen) == VK_SNAPSHOT);
504+ assert(SL::Input_Lite::ConvertToNative(SL::Input_Lite::KeyCodes::KEY_ScrollLock) == VK_SCROLL);
505+ assert(SL::Input_Lite::ConvertToNative(SL::Input_Lite::KeyCodes::KEY_Pause) == VK_PAUSE);
506+ assert(SL::Input_Lite::ConvertToNative(SL::Input_Lite::KeyCodes::KEY_Insert) == VK_INSERT);*/
507+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Home) == kVK_Home );
508+
509+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_PageUp) == kVK_PageUp );
510+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Delete) == kVK_ForwardDelete );
511+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_End) == kVK_End );
512+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_PageDown) == kVK_PageDown );
513+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Right) == kVK_RightArrow );
514+
515+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Left) == kVK_LeftArrow );
516+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Down) == kVK_PageDown );
517+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Up) == kVK_UpArrow );
518+ // assert(SL::Input_Lite::ConvertToNative(SL::Input_Lite::KeyCodes::KP_NumLock) == VK_NUMLOCK);
519+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_Divide) == kVK_ANSI_KeypadDivide );
520+
521+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_Multiply) == kVK_ANSI_KeypadMultiply );
522+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_Subtract) == kVK_ANSI_KeypadMinus );
523+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_Add) == kVK_ANSI_KeypadPlus );
524+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_Enter) == kVK_ANSI_KeypadEnter );
525+
526+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_1) == kVK_ANSI_Keypad1 );
527+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_2) == kVK_ANSI_Keypad2 );
528+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_3) == kVK_ANSI_Keypad3 );
529+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_4) == kVK_ANSI_Keypad4 );
530+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_5) == kVK_ANSI_Keypad5 );
531+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_6) == kVK_ANSI_Keypad6 );
532+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_7) == kVK_ANSI_Keypad7 );
533+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_8) == kVK_ANSI_Keypad8 );
534+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_9) == kVK_ANSI_Keypad9 );
535+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_0) == kVK_ANSI_Keypad0 );
536+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_Point) == kVK_ANSI_KeypadDecimal );
537+
538+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_NonUSBackslash) == 255 );
539+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KP_Equals) == kVK_ANSI_KeypadEquals );
540+
541+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F13) == VK_F13);
542+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F14) == VK_F14);
543+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F15) == VK_F15);
544+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F16) == VK_F16);
545+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F17) == VK_F17);
546+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F18) == VK_F18);
547+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F19) == VK_F19);
548+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_F20) == VK_F20);
549+ /*
550+ assert(SL::Input_Lite::ConvertToNative(SL::Input_Lite::KeyCodes::KEY_F21) == VK_F21);
551+ assert(SL::Input_Lite::ConvertToNative(SL::Input_Lite::KeyCodes::KEY_F22) == VK_F22);
552+ assert(SL::Input_Lite::ConvertToNative(SL::Input_Lite::KeyCodes::KEY_F23) == VK_F23);
553+ assert(SL::Input_Lite::ConvertToNative(SL::Input_Lite::KeyCodes::KEY_F24) == VK_F24);
554+ */
555+
556+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Help) == kVK_Help );
557+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_Menu) == kVK_Option );
558+
559+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_LeftControl) == kVK_Control );
560+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_LeftShift) == kVK_Shift );
561+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_LeftAlt) == kVK_Option );
562+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_LeftMeta) == kVK_Command );
563+
564+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_RightControl) == kVK_RightControl );
565+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_RightShift) == kVK_RightShift );
566+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_RightAlt) == kVK_RightOption );
567+ assert (SL::Input_Lite::ConvertToNative (SL::Input_Lite::KeyCodes::KEY_RightMeta) == kVK_RightControl );
568+
432569#elif __linux__
433570
434571 assert (SL::Input_Lite::ConvertToKeyCode (19 ) == SL::Input_Lite::KeyCodes::KEY_0);
0 commit comments