#include <msp/input/keyboard.h>
#include <msp/input/mouse.h>
#include <msp/io/print.h>
#include <msp/input/keyboard.h>
#include <msp/input/mouse.h>
#include <msp/io/print.h>
void button_press(unsigned);
void button_release(unsigned);
void axis_motion(unsigned, float, float);
void button_press(unsigned);
void button_release(unsigned);
void axis_motion(unsigned, float, float);
window.signal_close.connect(sigc::bind(sigc::mem_fun(this, &Ev::exit), 0));
keyboard.signal_button_press.connect(sigc::mem_fun(this, &Ev::key_press));
keyboard.signal_button_release.connect(sigc::mem_fun(this, &Ev::key_release));
window.signal_close.connect(sigc::bind(sigc::mem_fun(this, &Ev::exit), 0));
keyboard.signal_button_press.connect(sigc::mem_fun(this, &Ev::key_press));
keyboard.signal_button_release.connect(sigc::mem_fun(this, &Ev::key_release));
mouse.signal_button_press.connect(sigc::mem_fun(this, &Ev::button_press));
mouse.signal_button_release.connect(sigc::mem_fun(this, &Ev::button_release));
mouse.signal_axis_motion.connect(sigc::mem_fun(this, &Ev::axis_motion));
mouse.signal_button_press.connect(sigc::mem_fun(this, &Ev::button_press));
mouse.signal_button_release.connect(sigc::mem_fun(this, &Ev::button_release));
mouse.signal_axis_motion.connect(sigc::mem_fun(this, &Ev::axis_motion));
void Ev::button_press(unsigned btn)
{
IO::print("button_press: %s\n", mouse.get_button_name(btn));
void Ev::button_press(unsigned btn)
{
IO::print("button_press: %s\n", mouse.get_button_name(btn));