#!/usr/bin/perl use strict; use warnings; use Gtk2 -init; my %subs = ( # keycode => stuff 234 => sub { print STDERR "A"}, 176 => sub { print STDERR "B"}, 174 => sub { print STDERR "C"} # and so on... ); sub exe { my ($self, $event) = @_; my $code = $event -> hardware_keycode(); $self -> set_title ($code); return if $code < 112; # not multimedia... $subs{$code} -> (); } my $window = new Gtk2::Window ('toplevel'); $window -> signal_connect ('key-press-event' => \&exe ); $window -> signal_connect ('destroy' => sub { Gtk2 -> main_quit;}); $window -> show_all(); Gtk2 -> main();