@@ -783,10 +783,47 @@ void LabelImages_Widget::post_startup(VideoSource* source){
783783 m_program.load_image_related_data (image_path, cur_res.width , cur_res.height );
784784}
785785
786+ void LabelImages_Widget::key_press (QKeyEvent* event){
787+ const auto key = Qt::Key (event->key ());
788+ switch (key){
789+ case Qt::Key::Key_Shift:
790+ m_shift_pressed = true ;
791+ break ;
792+ case Qt::Key::Key_Control:
793+ #ifndef __APPLE__
794+ m_control_pressed = true ;
795+ #endif
796+ break ;
797+ case Qt::Key::Key_Meta:
798+ #if defined(__APPLE__)
799+ m_control_pressed = true ;
800+ #endif
801+ break ;
802+ default :
803+ }
804+ }
805+
786806void LabelImages_Widget::key_release (QKeyEvent* event){
787807 const auto key = Qt::Key (event->key ());
788- if (key == Qt::Key::Key_Delete || key == Qt::Key::Key_Backspace){
808+ switch (key){
809+ case Qt::Key::Key_Shift:
810+ m_shift_pressed = false ;
811+ break ;
812+ case Qt::Key::Key_Control:
813+ #ifndef __APPLE__
814+ m_control_pressed = false ;
815+ #endif
816+ break ;
817+ case Qt::Key::Key_Meta:
818+ #if defined(__APPLE__)
819+ m_control_pressed = false ;
820+ #endif
821+ break ;
822+ case Qt::Key::Key_Delete:
823+ case Qt::Key::Key_Backspace:
789824 m_program.delete_selected_annotation ();
825+ break ;
826+ default :
790827 }
791828}
792829
@@ -816,6 +853,9 @@ void LabelImages_Widget::on_mouse_release(double x, double y){
816853 // user may have very small movement while doing quick clicking. To register this as a simple click, use relative
817854 // screen distance threshold 0.0015 and click duration threshold 0.15 second:
818855 if ((rel_x == 0 && rel_y == 0 ) || (rel_x < 0.0015 && rel_y < 0.0015 && duration < std::chrono::milliseconds (150 ))){
856+ if (m_shift_pressed){
857+ cout << " shift pressed while at " << x << " " << y << endl;
858+ }
819859 // process mouse clicking
820860 // change currently selected annotation
821861 // also change the option values in the UI
0 commit comments