… | |
… | |
319 | my $mod = $ev->{mod}; |
319 | my $mod = $ev->{mod}; |
320 | my $sym = $ev->{sym}; |
320 | my $sym = $ev->{sym}; |
321 | my $uni = $ev->{unicode}; |
321 | my $uni = $ev->{unicode}; |
322 | |
322 | |
323 | $mod &= DC::KMOD_CTRL | DC::KMOD_ALT | DC::KMOD_SHIFT; |
323 | $mod &= DC::KMOD_CTRL | DC::KMOD_ALT | DC::KMOD_SHIFT; |
|
|
324 | |
|
|
325 | # ignore repeated keypresses |
|
|
326 | return if $self->{last_mod} == $mod && $self->{last_sym} == $sym; |
|
|
327 | $self->{last_mod} = $mod; |
|
|
328 | $self->{last_sym} = $sym; |
324 | |
329 | |
325 | if ($::CONN && (my $dir = $DIR{(!!($mod & DC::KMOD_ALT)) . ",$sym"})) { |
330 | if ($::CONN && (my $dir = $DIR{(!!($mod & DC::KMOD_ALT)) . ",$sym"})) { |
326 | if ($mod & DC::KMOD_SHIFT) { |
331 | if ($mod & DC::KMOD_SHIFT) { |
327 | $self->{shft}++; |
332 | $self->{shft}++; |
328 | if ($dir->[0] != $self->{fire_dir}) { |
333 | if ($dir->[0] != $self->{fire_dir}) { |