BootManager: add support for page down/up/home/end keys
* Page down is the same as the end key, and just selects the last entry in the boot menu. * Likewise, page up is the same as the home key. Change-Id: Ibaf8559b0f68462834395aaec8fb22554d7a90f6 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3555 Reviewed-by: John Scipione <[email protected]> Reviewed-by: Jérôme Duval <[email protected]>
This commit is contained in:
committed by
Adrien Destugues
parent
a7375336a6
commit
786f045666
@@ -134,6 +134,10 @@
|
|||||||
; Key codes
|
; Key codes
|
||||||
%assign KEY_DOWN 0x50
|
%assign KEY_DOWN 0x50
|
||||||
%assign KEY_UP 0x48
|
%assign KEY_UP 0x48
|
||||||
|
%assign KEY_PAGE_DOWN 0x51
|
||||||
|
%assign KEY_PAGE_UP 0x49
|
||||||
|
%assign KEY_HOME 0x47
|
||||||
|
%assign KEY_END 0x4f
|
||||||
%assign KEY_RETURN 0x1C
|
%assign KEY_RETURN 0x1C
|
||||||
|
|
||||||
; Modifier key bitmasks
|
; Modifier key bitmasks
|
||||||
@@ -431,9 +435,19 @@ inputLoop:
|
|||||||
cmp ah, KEY_DOWN
|
cmp ah, KEY_DOWN
|
||||||
je selectNextPartition
|
je selectNextPartition
|
||||||
|
|
||||||
|
cmp ah, KEY_PAGE_DOWN
|
||||||
|
je selectLastPartition
|
||||||
|
cmp ah, KEY_END
|
||||||
|
je selectLastPartition
|
||||||
|
|
||||||
cmp ah, KEY_UP
|
cmp ah, KEY_UP
|
||||||
je selectPreviousPartition
|
je selectPreviousPartition
|
||||||
|
|
||||||
|
cmp ah, KEY_PAGE_UP
|
||||||
|
je selectFirstPartition
|
||||||
|
cmp ah, KEY_HOME
|
||||||
|
je selectFirstPartition
|
||||||
|
|
||||||
cmp ah, KEY_RETURN
|
cmp ah, KEY_RETURN
|
||||||
jne inputLoop
|
jne inputLoop
|
||||||
jmp bootSelectedPartition
|
jmp bootSelectedPartition
|
||||||
@@ -448,6 +462,12 @@ selectNextPartition:
|
|||||||
mov [bp + selection], ax
|
mov [bp + selection], ax
|
||||||
jmp mainLoop
|
jmp mainLoop
|
||||||
|
|
||||||
|
selectLastPartition:
|
||||||
|
mov ax, [listItemCount]
|
||||||
|
dec ax
|
||||||
|
mov [bp + selection], ax
|
||||||
|
jmp mainLoop
|
||||||
|
|
||||||
selectPreviousPartition:
|
selectPreviousPartition:
|
||||||
mov ax, [bp + selection]
|
mov ax, [bp + selection]
|
||||||
or ax, ax
|
or ax, ax
|
||||||
@@ -458,6 +478,11 @@ selectPreviousPartition:
|
|||||||
mov [bp + selection], ax
|
mov [bp + selection], ax
|
||||||
jmp mainLoop
|
jmp mainLoop
|
||||||
|
|
||||||
|
selectFirstPartition:
|
||||||
|
xor ax, ax
|
||||||
|
mov [bp + selection], ax
|
||||||
|
jmp mainLoop
|
||||||
|
|
||||||
|
|
||||||
; ======================= Print the OS list ============================
|
; ======================= Print the OS list ============================
|
||||||
printMenu:
|
printMenu:
|
||||||
|
|||||||
Reference in New Issue
Block a user