@@ -235,21 +235,21 @@ def self.check_input_event
235
235
num_of_events = 0 . chr * 8
236
236
while @@output_buf . empty? #or true
237
237
next if @@WaitForSingleObject . ( @@hConsoleInputHandle , 100 ) != 0 # max 0.1 sec
238
- next if @@GetNumberOfConsoleInputEvents . ( @@hConsoleInputHandle , num_of_events ) == 0 or num_of_events . unpack ( 'L' ) . first == 0
238
+ next if @@GetNumberOfConsoleInputEvents . ( @@hConsoleInputHandle , num_of_events ) == 0 or num_of_events . unpack1 ( 'L' ) == 0
239
239
input_record = 0 . chr * 18
240
240
read_event = 0 . chr * 4
241
241
if @@ReadConsoleInputW . ( @@hConsoleInputHandle , input_record , 1 , read_event ) != 0
242
- event = input_record [ 0 , 2 ] . unpack ( 's*' ) . first
242
+ event = input_record [ 0 , 2 ] . unpack1 ( 's*' )
243
243
case event
244
244
when WINDOW_BUFFER_SIZE_EVENT
245
245
@@winch_handler . ( )
246
246
when KEY_EVENT
247
- key_down = input_record [ 4 , 4 ] . unpack ( 'l*' ) . first
248
- repeat_count = input_record [ 8 , 2 ] . unpack ( 's*' ) . first
249
- virtual_key_code = input_record [ 10 , 2 ] . unpack ( 's*' ) . first
250
- virtual_scan_code = input_record [ 12 , 2 ] . unpack ( 's*' ) . first
251
- char_code = input_record [ 14 , 2 ] . unpack ( 'S*' ) . first
252
- control_key_state = input_record [ 16 , 2 ] . unpack ( 'S*' ) . first
247
+ key_down = input_record [ 4 , 4 ] . unpack1 ( 'l*' )
248
+ repeat_count = input_record [ 8 , 2 ] . unpack1 ( 's*' )
249
+ virtual_key_code = input_record [ 10 , 2 ] . unpack1 ( 's*' )
250
+ virtual_scan_code = input_record [ 12 , 2 ] . unpack1 ( 's*' )
251
+ char_code = input_record [ 14 , 2 ] . unpack1 ( 'S*' )
252
+ control_key_state = input_record [ 16 , 2 ] . unpack1 ( 'S*' )
253
253
is_key_down = key_down . zero? ? false : true
254
254
if is_key_down
255
255
process_key_event ( repeat_count , virtual_key_code , virtual_scan_code , char_code , control_key_state )
@@ -291,8 +291,8 @@ def self.get_screen_size
291
291
def self . cursor_pos
292
292
csbi = 0 . chr * 22
293
293
@@GetConsoleScreenBufferInfo . call ( @@hConsoleHandle , csbi )
294
- x = csbi [ 4 , 2 ] . unpack ( 's*' ) . first
295
- y = csbi [ 6 , 2 ] . unpack ( 's*' ) . first
294
+ x = csbi [ 4 , 2 ] . unpack1 ( 's*' )
295
+ y = csbi [ 6 , 2 ] . unpack1 ( 's*' )
296
296
Reline ::CursorPos . new ( x , y )
297
297
end
298
298
@@ -324,7 +324,7 @@ def self.move_cursor_down(val)
324
324
def self . erase_after_cursor
325
325
csbi = 0 . chr * 24
326
326
@@GetConsoleScreenBufferInfo . call ( @@hConsoleHandle , csbi )
327
- cursor = csbi [ 4 , 4 ] . unpack ( 'L' ) . first
327
+ cursor = csbi [ 4 , 4 ] . unpack1 ( 'L' )
328
328
written = 0 . chr * 4
329
329
@@FillConsoleOutputCharacter . call ( @@hConsoleHandle , 0x20 , get_screen_size . last - cursor_pos . x , cursor , written )
330
330
@@FillConsoleOutputAttribute . call ( @@hConsoleHandle , 0 , get_screen_size . last - cursor_pos . x , cursor , written )
@@ -343,8 +343,8 @@ def self.scroll_down(val)
343
343
def self . clear_screen
344
344
csbi = 0 . chr * 22
345
345
return if @@GetConsoleScreenBufferInfo . call ( @@hConsoleHandle , csbi ) == 0
346
- buffer_width = csbi [ 0 , 2 ] . unpack ( 'S' ) . first
347
- attributes = csbi [ 8 , 2 ] . unpack ( 'S' ) . first
346
+ buffer_width = csbi [ 0 , 2 ] . unpack1 ( 'S' )
347
+ attributes = csbi [ 8 , 2 ] . unpack1 ( 'S' )
348
348
_window_left , window_top , _window_right , window_bottom = *csbi [ 10 , 8 ] . unpack ( 'S*' )
349
349
fill_length = buffer_width * ( window_bottom - window_top + 1 )
350
350
screen_topleft = window_top * 65536
0 commit comments