: record-controller ( controller-state value -- )
dup IOHIDValueGetElement {
- { [ dup button? ] [ record-button ] }
+ { [ dup button? ] [ record-button ] }
{ [ dup axis? ] [ {
{ [ dup x-axis? ] [ drop axis-value >>x drop ] }
{ [ dup y-axis? ] [ drop axis-value >>y drop ] }
+mouse-state+ get-global
0 >>dx
0 >>dy
- 0 >>scroll-dx
+ 0 >>scroll-dx
0 >>scroll-dy
drop ;
} cleave controller-state boa ;
: ?add-mouse-buttons ( device -- )
- button-count +mouse-state+ get-global buttons>>
+ button-count +mouse-state+ get-global buttons>>
2dup length >
[ set-length ] [ 2drop ] if ;
M: iokit-game-input-backend (close-game-input)
+hid-manager+ get-global [
- +hid-manager+ [
+ +hid-manager+ [
[
CFRunLoopGetMain CFRunLoopDefaultMode
IOHIDManagerUnscheduleFromRunLoop