… | |
… | |
27 | CFPlus::KMOD_RSHIFT => "RSHIFT", |
27 | CFPlus::KMOD_RSHIFT => "RSHIFT", |
28 | CFPlus::KMOD_RCTRL => "RCTRL", |
28 | CFPlus::KMOD_RCTRL => "RCTRL", |
29 | CFPlus::KMOD_RALT => "RALT", |
29 | CFPlus::KMOD_RALT => "RALT", |
30 | CFPlus::KMOD_RMETA => "RMETA", |
30 | CFPlus::KMOD_RMETA => "RMETA", |
31 | ); |
31 | ); |
|
|
32 | my $ALLOWED_MODIFIER_MASK = 0x0FC3; # this is the mask of the above ALLOWED_MODIFIERS or'ed together |
32 | |
33 | |
33 | my %DIRECT_BIND_CHARS = map { $_ => 1 } qw/0 1 2 3 4 5 6 7 8 9/; |
34 | my %DIRECT_BIND_CHARS = map { $_ => 1 } qw/0 1 2 3 4 5 6 7 8 9/; |
34 | my @DIRECT_BIND_KEYS = ( |
35 | my @DIRECT_BIND_KEYS = ( |
35 | CFPlus::SDLK_F1, |
36 | CFPlus::SDLK_F1, |
36 | CFPlus::SDLK_F2, |
37 | CFPlus::SDLK_F2, |
… | |
… | |
206 | $vb->add (my $entry = new CFPlus::UI::Entry |
207 | $vb->add (my $entry = new CFPlus::UI::Entry |
207 | text => "", |
208 | text => "", |
208 | on_key_down => sub { |
209 | on_key_down => sub { |
209 | my ($entry, $ev) = @_; |
210 | my ($entry, $ev) = @_; |
210 | |
211 | |
211 | my $mod = $ev->{mod}; |
212 | my $mod = $ev->{mod} & $ALLOWED_MODIFIER_MASK; |
212 | my $sym = $ev->{sym}; |
213 | my $sym = $ev->{sym}; |
213 | |
214 | |
214 | # XXX: This seems a little bit hackisch to me, but I have to ignore them |
215 | # XXX: This seems a little bit hackisch to me, but I have to ignore them |
215 | return if grep { $_ == $sym } @ALLOWED_MODIFIER_KEYS; |
216 | return if grep { $_ == $sym } @ALLOWED_MODIFIER_KEYS; |
216 | |
217 | |