diff options
Diffstat (limited to 'dw/fltkcomplexbutton.cc')
-rw-r--r-- | dw/fltkcomplexbutton.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/dw/fltkcomplexbutton.cc b/dw/fltkcomplexbutton.cc index b866fb83..bbfe0b3b 100644 --- a/dw/fltkcomplexbutton.cc +++ b/dw/fltkcomplexbutton.cc @@ -110,11 +110,18 @@ int ComplexButton::handle(int event) { if (Fl::focus() == this && (Fl::event_key() == ' ' || Fl::event_key() == FL_Enter) && !(Fl::event_state() & (FL_SHIFT | FL_CTRL | FL_ALT | FL_META))) { + value(1); set_changed(); Fl_Widget_Tracker wp(this); if (wp.deleted()) return 1; if (when() & FL_WHEN_RELEASE) do_callback(); return 1; + } else return 0; + case FL_KEYUP: + if (Fl::focus() == this && + (Fl::event_key() == ' ' || Fl::event_key() == FL_Enter)) { + value(0); + return 1; } default: return 0; |