1
0
Fork 0
forked from AbleOS/ableos

colour palette buttons for render example

This commit is contained in:
koniifer 2025-02-11 20:18:38 +00:00
parent 507704234f
commit d5dfd1d086
3 changed files with 116 additions and 118 deletions
sysdata
libraries/intouch/src
programs/render_example/src/examples

View file

@ -7,115 +7,89 @@ I am now modelling it as I see fit. This is likely not the final version.
KeyCode := u32 KeyCode := u32
// Typically this is not a keycode you will ever recieve. $NONE: KeyCode = 0
None := KeyCode.(0) $ESCAPE: KeyCode = 1
$A: KeyCode = 2
Escape := KeyCode.(1) $B: KeyCode = 3
/* Alphabet keycodes */ $C: KeyCode = 4
$D: KeyCode = 5
A := KeyCode.(2) $E: KeyCode = 6
B := KeyCode.(3) $F: KeyCode = 7
C := KeyCode.(4) $G: KeyCode = 8
D := KeyCode.(5) $H: KeyCode = 9
E := KeyCode.(6) $I: KeyCode = 10
F := KeyCode.(7) $J: KeyCode = 11
G := KeyCode.(8) $K: KeyCode = 12
H := KeyCode.(9) $L: KeyCode = 13
I := KeyCode.(10) $M: KeyCode = 14
J := KeyCode.(11) $N: KeyCode = 15
K := KeyCode.(12) $O: KeyCode = 16
L := KeyCode.(13) $P: KeyCode = 17
M := KeyCode.(14) $Q: KeyCode = 18
N := KeyCode.(15) $R: KeyCode = 19
O := KeyCode.(16) $S: KeyCode = 20
P := KeyCode.(17) $T: KeyCode = 21
Q := KeyCode.(18) $U: KeyCode = 22
R := KeyCode.(19) $V: KeyCode = 23
S := KeyCode.(20) $W: KeyCode = 24
T := KeyCode.(21) $X: KeyCode = 25
U := KeyCode.(22) $Y: KeyCode = 26
V := KeyCode.(23) $Z: KeyCode = 27
W := KeyCode.(24) $NUMBER0: KeyCode = 28
X := KeyCode.(25) $NUMBER1: KeyCode = 29
Y := KeyCode.(26) $NUMBER2: KeyCode = 30
Z := KeyCode.(27) $NUMBER3: KeyCode = 31
$NUMBER4: KeyCode = 32
/* Numeric keycodes*/ $NUMBER5: KeyCode = 33
$NUMBER6: KeyCode = 34
Number0 := KeyCode.(28) $NUMBER7: KeyCode = 35
Number1 := KeyCode.(29) $NUMBER8: KeyCode = 36
Number2 := KeyCode.(30) $NUMBER9: KeyCode = 37
Number3 := KeyCode.(31) $KEYPADNUMBER0: KeyCode = 38
Number4 := KeyCode.(32) $KEYPADNUMBER1: KeyCode = 39
Number5 := KeyCode.(33) $KEYPADNUMBER2: KeyCode = 40
Number6 := KeyCode.(34) $KEYPADNUMBER3: KeyCode = 41
Number7 := KeyCode.(35) $KEYPADNUMBER4: KeyCode = 42
Number8 := KeyCode.(36) $KEYPADNUMBER5: KeyCode = 43
Number9 := KeyCode.(37) $KEYPADNUMBER6: KeyCode = 44
$KEYPADNUMBER7: KeyCode = 45
KeypadNumber0 := KeyCode.(38) $KEYPADNUMBER8: KeyCode = 46
KeypadNumber1 := KeyCode.(39) $KEYPADNUMBER9: KeyCode = 47
KeypadNumber2 := KeyCode.(40) $KEYPADPERIOD: KeyCode = 48
KeypadNumber3 := KeyCode.(41) $KEYPADDIVIDE: KeyCode = 49
KeypadNumber4 := KeyCode.(42) $KEYPADMULTIPLY: KeyCode = 50
KeypadNumber5 := KeyCode.(43) $KEYPADMINUS: KeyCode = 51
KeypadNumber6 := KeyCode.(44) $KEYPADPLUS: KeyCode = 52
KeypadNumber7 := KeyCode.(45) $KEYPADENTER: KeyCode = 53
KeypadNumber8 := KeyCode.(46) $KEYPADEQUALS: KeyCode = 54
KeypadNumber9 := KeyCode.(47) $DELETE: KeyCode = 55
$NUMLOCK: KeyCode = 56
KeypadPeriod := KeyCode.(48) $CAPSLOCK: KeyCode = 57
KeypadDivide := KeyCode.(49) $SCROLLLOCK: KeyCode = 58
KeypadMultiply := KeyCode.(50) $MODE: KeyCode = 59
KeypadMinus := KeyCode.(51) $COMPOSE: KeyCode = 60
KeypadPlus := KeyCode.(52) $LEFTALT: KeyCode = 61
KeypadEnter := KeyCode.(53) $LEFTCONTROL: KeyCode = 62
KeypadEquals := KeyCode.(54) $LEFTMETA: KeyCode = 63
$LEFTSHIFT: KeyCode = 64
Delete := KeyCode.(55) $LEFTSUPER: KeyCode = 65
/* Locking Keys */ $RIGHTALT: KeyCode = 66
NumLock := KeyCode.(56) $RIGHTCONTROL: KeyCode = 67
CapsLock := KeyCode.(57) $RIGHTMETA: KeyCode = 68
ScrollLock := KeyCode.(58) $RIGHTSHIFT: KeyCode = 69
$RIGHTSUPER: KeyCode = 70
/* "Alt Gr" key */ $ANYNUMBER0: KeyCode = 71
Mode := KeyCode.(59) $ANYNUMBER1: KeyCode = 72
$ANYNUMBER2: KeyCode = 73
/* Multi-key compose key */ $ANYNUMBER3: KeyCode = 74
Compose := KeyCode.(60) $ANYNUMBER4: KeyCode = 75
$ANYNUMBER5: KeyCode = 76
LeftAlt := KeyCode.(61) $ANYNUMBER6: KeyCode = 77
LeftControl := KeyCode.(62) $ANYNUMBER7: KeyCode = 78
LeftMeta := KeyCode.(63) $ANYNUMBER8: KeyCode = 79
LeftShift := KeyCode.(64) $ANYNUMBER9: KeyCode = 80
/* Left "Windows" key */ $ANYALT: KeyCode = 81
LeftSuper := KeyCode.(65) $ANYCONTROL: KeyCode = 82
$ANYMETA: KeyCode = 83
RightAlt := KeyCode.(66) $ANYSHIFT: KeyCode = 84
RightControl := KeyCode.(67) $ANYSUPER: KeyCode = 85
RightMeta := KeyCode.(68)
RightShift := KeyCode.(69)
/* Right "Windows" key */
RightSuper := KeyCode.(70)
/*
This block of any triggers on any press of any of the keys.
Typically this is the event to care about.
*/
AnyNumber0 := KeyCode.(71)
AnyNumber1 := KeyCode.(72)
AnyNumber2 := KeyCode.(73)
AnyNumber3 := KeyCode.(74)
AnyNumber4 := KeyCode.(75)
AnyNumber5 := KeyCode.(76)
AnyNumber6 := KeyCode.(77)
AnyNumber7 := KeyCode.(78)
AnyNumber8 := KeyCode.(79)
AnyNumber9 := KeyCode.(80)
AnyAlt := KeyCode.(81)
AnyControl := KeyCode.(82)
AnyMeta := KeyCode.(83)
AnyShift := KeyCode.(84)
/* Any "Windows" key */
AnySuper := KeyCode.(85)

View file

@ -11,8 +11,10 @@ mouse_buf := 0
recieve_key_event := fn(): ?KeyEvent { recieve_key_event := fn(): ?KeyEvent {
kevent := KeyEvent.{} kevent := KeyEvent.{}
if key_buf == 0 key_buf = buffer.search("PS/2 Keyboard") if key_buf == 0 {
key_buf = buffer.search("PS/2 Keyboard")
if key_buf == 0 return null if key_buf == 0 return null
}
// Read out of the Keyboard buffer here // Read out of the Keyboard buffer here
buffer.recv(KeyEvent, key_buf, &kevent) buffer.recv(KeyEvent, key_buf, &kevent)
@ -27,8 +29,10 @@ recieve_key_event := fn(): ?KeyEvent {
recieve_mouse_event := fn(): ?MouseEvent { recieve_mouse_event := fn(): ?MouseEvent {
mevent := MouseEvent.{} mevent := MouseEvent.{}
if mouse_buf == 0 mouse_buf = buffer.search("PS/2 Mouse") if mouse_buf == 0 {
mouse_buf = buffer.search("PS/2 Mouse")
if mouse_buf == 0 return null if mouse_buf == 0 return null
}
// Read out of the Mouse buffer here // Read out of the Mouse buffer here
buffer.recv(MouseEvent, mouse_buf, &mevent) buffer.recv(MouseEvent, mouse_buf, &mevent)

View file

@ -25,10 +25,30 @@ example := fn(): void {
kb := intouch.recieve_key_event() kb := intouch.recieve_key_event()
if kb != null { if kb != null {
if kb.just_triggered { if kb.just_triggered {
if kb.key == intouch.keycodes.NUMBER1 {
pen_colour = render.WHITE
} else if kb.key == intouch.keycodes.NUMBER2 {
pen_colour = render.BLACK
} else if kb.key == intouch.keycodes.NUMBER3 {
pen_colour = render.RED
} else if kb.key == intouch.keycodes.NUMBER4 {
pen_colour = render.YELLOW
} else if kb.key == intouch.keycodes.NUMBER5 {
pen_colour = render.BLUE
} else if kb.key == intouch.keycodes.NUMBER6 {
pen_colour = render.CYAN
} else if kb.key == intouch.keycodes.NUMBER7 {
pen_colour = render.GREEN
} else if kb.key == intouch.keycodes.NUMBER8 {
pen_colour = render.MAGENTA
} else if kb.key == intouch.keycodes.NUMBER9 {
pen_colour = render.GRAY
} else {
bg_colour = stn.random.any(render.Color) bg_colour = stn.random.any(render.Color)
screen.clear(bg_colour) screen.clear(bg_colour)
} }
} }
}
screen.sync() screen.sync()
} }