… | |
… | |
181 | $self->{completer}->set_prefix (""); |
181 | $self->{completer}->set_prefix (""); |
182 | $self->{completer}->show; |
182 | $self->{completer}->show; |
183 | } elsif (exists $DIR{$sym}) { |
183 | } elsif (exists $DIR{$sym}) { |
184 | if ($mod & CFClient::KMOD_SHIFT) { |
184 | if ($mod & CFClient::KMOD_SHIFT) { |
185 | $self->{shft}++; |
185 | $self->{shft}++; |
|
|
186 | if ($DIR{$sym}[0] != $self->{fire_dir}) { |
186 | $::CONN->user_send ("fire $DIR{$sym}[0]"); |
187 | $::CONN->user_send ("fire $DIR{$sym}[0]"); |
|
|
188 | } |
|
|
189 | $self->{fire_dir} = $DIR{$sym}[0]; |
187 | } elsif ($mod & CFClient::KMOD_CTRL) { |
190 | } elsif ($mod & CFClient::KMOD_CTRL) { |
188 | $self->{ctrl}++; |
191 | $self->{ctrl}++; |
189 | $::CONN->user_send ("run $DIR{$sym}[0]"); |
192 | $::CONN->user_send ("run $DIR{$sym}[0]"); |
190 | } else { |
193 | } else { |
191 | $::CONN->user_send ("$DIR{$sym}[1]"); |
194 | $::CONN->user_send ("$DIR{$sym}[1]"); |
… | |
… | |
219 | |
222 | |
220 | my $res = 0; |
223 | my $res = 0; |
221 | my $mod = $ev->{mod}; |
224 | my $mod = $ev->{mod}; |
222 | my $sym = $ev->{sym}; |
225 | my $sym = $ev->{sym}; |
223 | |
226 | |
|
|
227 | if ($::CFG->{shift_fire_stop}) { |
224 | if (!($mod & CFClient::KMOD_SHIFT) && delete $self->{shft}) { |
228 | if (!($mod & CFClient::KMOD_SHIFT) && delete $self->{shft}) { |
225 | $::CONN->user_send ("fire_stop"); |
229 | $::CONN->user_send ("fire_stop"); |
|
|
230 | delete $self->{fire_dir}; |
226 | $res = 1; |
231 | $res = 1; |
|
|
232 | } |
|
|
233 | } else { |
|
|
234 | if (exists $DIR{$sym} && delete $self->{shft}) { |
|
|
235 | $::CONN->user_send ("fire_stop"); |
|
|
236 | delete $self->{fire_dir}; |
|
|
237 | $res = 1; |
|
|
238 | } elsif (($sym == CFClient::SDLK_LSHIFT || $sym == CFClient::SDLK_RSHIFT) && delete $self->{shft}) { # XXX: is RSHIFT ok? |
|
|
239 | $::CONN->user_send ("fire_stop"); |
|
|
240 | delete $self->{fire_dir}; |
|
|
241 | $res = 1; |
|
|
242 | } |
227 | } |
243 | } |
228 | |
244 | |
229 | if (!($mod & CFClient::KMOD_CTRL ) && delete $self->{ctrl}) { |
245 | if (!($mod & CFClient::KMOD_CTRL ) && delete $self->{ctrl}) { |
230 | $::CONN->user_send ("run_stop"); |
246 | $::CONN->user_send ("run_stop"); |
231 | $res = 1; |
247 | $res = 1; |