MCPcopy Create free account
hub / github.com/ErrorAtLine0/infinipaint / backend_key_down_update

Method backend_key_down_update

src/InputManager.cpp:899–997  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

897}
898
899void InputManager::backend_key_down_update(const SDL_KeyboardEvent& e) {
900 auto kPress = e.key;
901 auto kMod = e.mod;
902
903#ifdef __ANDROID__
904 if(kPress == SDLK_AC_BACK) {
905 main.input_global_back_button_callback();
906 return;
907 }
908#endif
909
910 if(kPress != SDLK_LSHIFT && kPress != SDLK_RSHIFT && kPress != SDLK_LCTRL && kPress != SDLK_RCTRL &&
911 kPress != SDLK_LGUI && kPress != SDLK_RGUI &&
912 kPress != SDLK_LALT && kPress != SDLK_RALT) {
913 if(main.input_keybind_callback({make_generic_key_mod(kMod), kPress}))
914 return;
915 }
916
917 bool acceptingTextInput = text_is_accepting_input();
918
919 switch(kPress) {
920 case SDLK_UP:
921 set_key_down(e, KEY_GENERIC_UP, acceptingTextInput);
922 break;
923 case SDLK_DOWN:
924 set_key_down(e, KEY_GENERIC_DOWN, acceptingTextInput);
925 break;
926 case SDLK_LEFT:
927 set_key_down(e, KEY_GENERIC_LEFT, acceptingTextInput);
928 break;
929 case SDLK_RIGHT:
930 set_key_down(e, KEY_GENERIC_RIGHT, acceptingTextInput);
931 break;
932 case SDLK_BACKSPACE:
933 set_key_down(e, KEY_TEXT_BACKSPACE, acceptingTextInput);
934 break;
935 case SDLK_DELETE:
936 set_key_down(e, KEY_TEXT_DELETE, acceptingTextInput);
937 break;
938 case SDLK_HOME:
939 set_key_down(e, KEY_TEXT_HOME, acceptingTextInput);
940 break;
941 case SDLK_END:
942 set_key_down(e, KEY_TEXT_END, acceptingTextInput);
943 break;
944 case SDLK_LSHIFT:
945 set_key_down(e, KEY_GENERIC_LSHIFT, acceptingTextInput);
946 break;
947 case SDLK_LALT:
948 set_key_down(e, KEY_GENERIC_LALT, acceptingTextInput);
949 break;
950 case SDLK_LCTRL:
951 set_key_down(e, KEY_GENERIC_LCTRL, acceptingTextInput);
952 break;
953 case SDLK_LMETA:
954 set_key_down(e, KEY_GENERIC_LMETA, acceptingTextInput);
955 break;
956 case SDLK_C:

Callers 1

main.cppFile · 0.80

Calls 4

findMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected