261 |
# don't take key, just pull event |
# don't take key, just pull event |
262 |
my $just_checking = shift; |
my $just_checking = shift; |
263 |
|
|
|
if ( defined($pending_key) ) { |
|
|
my $k = $pending_key; |
|
|
undef $pending_key unless $just_checking; |
|
|
return $k; |
|
|
} |
|
|
|
|
264 |
my $event = $self->event || confess "no event?"; |
my $event = $self->event || confess "no event?"; |
265 |
|
|
266 |
$event->poll || return; |
$event->poll || return $pending_key; |
267 |
|
|
268 |
my $type = $event->type(); |
my $type = $event->type(); |
269 |
|
|
270 |
exit if ($type == SDL_QUIT); |
exit if ($type == SDL_QUIT); |
271 |
|
|
272 |
my $k; |
my $k = $pending_key; |
273 |
|
|
274 |
if ($type == SDL_KEYDOWN) { |
if ($type == SDL_KEYDOWN) { |
275 |
$k = $event->key_name(); |
$k = $event->key_name(); |
283 |
} elsif ( $type == SDL_KEYUP ) { |
} elsif ( $type == SDL_KEYUP ) { |
284 |
my $up = $event->key_name(); |
my $up = $event->key_name(); |
285 |
warn "SDL_KEYUP ($type) = '$up'\n"; |
warn "SDL_KEYUP ($type) = '$up'\n"; |
286 |
|
undef $pending_key; |
287 |
} |
} |
288 |
|
|
289 |
return $k; |
warn "key_pressed = $pending_key\n" if $pending_key; |
290 |
|
|
291 |
|
return $pending_key; |
292 |
} |
} |
293 |
|
|
294 |
=head2 loop |
=head2 loop |