keyboard.signal_button_press.connect(sigc::bind_return(sigc::mem_fun(this, &Tool::key_press), false));
keyboard.signal_button_release.connect(sigc::bind_return(sigc::mem_fun(this, &Tool::key_release), false));
mouse.signal_button_press.connect(sigc::bind_return(sigc::mem_fun(this, &Tool::button_press), false));
+ mouse.signal_button_release.connect(sigc::bind_return(sigc::mem_fun(this, &Tool::button_release), false));
mouse.signal_axis_motion.connect(sigc::bind_return(sigc::mem_fun(this, &Tool::axis_motion), false));
pointer.x = mouse.get_axis_value(0);
virtual void key_press(unsigned);
virtual void key_release(unsigned);
virtual void button_press(unsigned);
+ virtual void button_release(unsigned) { }
virtual void axis_motion(unsigned, float, float);
virtual void pointer_motion() { }
virtual void finish() { }