#! perl sub on_register_command { my ($self, $keysym, $state, $str) = @_; if ($str =~ /^list(.)/) { my @list = split /\Q$1/, $str; if (@list == 4) { $self->register_command ($keysym++, $state, "$list[1]$_$list[3]") for split //, $list[2]; return 1; } warn "unable to parse keysym '$str' as list, processing as normal keysym\n"; } () }