forked from AbleOS/ableos
colour palette buttons for render example
This commit is contained in:
parent
507704234f
commit
d5dfd1d086
sysdata
|
@ -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)
|
|
|
@ -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)
|
||||||
|
|
|
@ -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()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue