… | |
… | |
206 | ["Statistics\tF2", sub { ::toggle_player_page ($::STATS_PAGE) }], |
206 | ["Statistics\tF2", sub { ::toggle_player_page ($::STATS_PAGE) }], |
207 | ["Skills\tF3", sub { ::toggle_player_page ($::SKILL_PAGE) }], |
207 | ["Skills\tF3", sub { ::toggle_player_page ($::SKILL_PAGE) }], |
208 | ["Spells…\tF4", sub { ::toggle_player_page ($::SPELL_PAGE) }], |
208 | ["Spells…\tF4", sub { ::toggle_player_page ($::SPELL_PAGE) }], |
209 | ["Inventory…\tF5", sub { ::toggle_player_page ($::INVENTORY_PAGE) }], |
209 | ["Inventory…\tF5", sub { ::toggle_player_page ($::INVENTORY_PAGE) }], |
210 | ["Setup… \tF9", sub { $::SETUP_DIALOG->toggle_visibility }], |
210 | ["Setup… \tF9", sub { $::SETUP_DIALOG->toggle_visibility }], |
211 | ["Server Messages…", sub { $::MESSAGE_WINDOW->toggle_visibility }], |
211 | # ["Server Messages…", sub { $::MESSAGE_WINDOW->toggle_visibility }], |
212 | [ |
212 | [ |
213 | $::PICKUP_ENABLE->{state} |
213 | $::PICKUP_ENABLE->{state} |
214 | ? "Disable automatic pickup" |
214 | ? "Disable automatic pickup" |
215 | : "Enable automatic pickup", |
215 | : "Enable automatic pickup", |
216 | sub { $::PICKUP_ENABLE->toggle } |
216 | sub { $::PICKUP_ENABLE->toggle } |
… | |
… | |
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}) { |