package oxbow
Source file pointer_button.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131type t = | Key_unknown [@name "key_unknown"] | Btn_0 [@name "btn_0"] | Btn_1 [@name "btn_1"] | Btn_2 [@name "btn_2"] | Btn_3 [@name "btn_3"] | Btn_4 [@name "btn_4"] | Btn_5 [@name "btn_5"] | Btn_6 [@name "btn_6"] | Btn_7 [@name "btn_7"] | Btn_8 [@name "btn_8"] | Btn_9 [@name "btn_9"] | Btn_left [@name "btn_left"] | Btn_right [@name "btn_right"] | Btn_middle [@name "btn_middle"] | Btn_side [@name "btn_side"] | Btn_extra [@name "btn_extra"] | Btn_forward [@name "btn_forward"] | Btn_back [@name "btn_back"] | Btn_task [@name "btn_task"] [@@deriving yojson] let all = [ Btn_0 ; Btn_1 ; Btn_2 ; Btn_3 ; Btn_4 ; Btn_5 ; Btn_6 ; Btn_7 ; Btn_8 ; Btn_9 ; Btn_left ; Btn_right ; Btn_middle ; Btn_side ; Btn_extra ; Btn_forward ; Btn_back ; Btn_task ] ;; let of_string = function | "Btn_0" -> Ok Btn_0 | "Btn_1" -> Ok Btn_1 | "Btn_2" -> Ok Btn_2 | "Btn_3" -> Ok Btn_3 | "Btn_4" -> Ok Btn_4 | "Btn_5" -> Ok Btn_5 | "Btn_6" -> Ok Btn_6 | "Btn_7" -> Ok Btn_7 | "Btn_8" -> Ok Btn_8 | "Btn_9" -> Ok Btn_9 | "Btn_left" -> Ok Btn_left | "Btn_right" -> Ok Btn_right | "Btn_middle" -> Ok Btn_middle | "Btn_side" -> Ok Btn_side | "Btn_extra" -> Ok Btn_extra | "Btn_forward" -> Ok Btn_forward | "Btn_back" -> Ok Btn_back | "Btn_task" -> Ok Btn_task | s -> Error (Printf.sprintf "unrecognized input event: %S" s) ;; let to_string = function | Btn_0 -> "Btn_0" | Btn_1 -> "Btn_1" | Btn_2 -> "Btn_2" | Btn_3 -> "Btn_3" | Btn_4 -> "Btn_4" | Btn_5 -> "Btn_5" | Btn_6 -> "Btn_6" | Btn_7 -> "Btn_7" | Btn_8 -> "Btn_8" | Btn_9 -> "Btn_9" | Btn_left -> "Btn_left" | Btn_right -> "Btn_right" | Btn_middle -> "Btn_middle" | Btn_side -> "Btn_side" | Btn_extra -> "Btn_extra" | Btn_forward -> "Btn_forward" | Btn_back -> "Btn_back" | Btn_task -> "Btn_task" | Key_unknown -> "Key_unknown" ;; let of_int32 = function | 0x100l -> Btn_0 | 0x101l -> Btn_1 | 0x102l -> Btn_2 | 0x103l -> Btn_3 | 0x104l -> Btn_4 | 0x105l -> Btn_5 | 0x106l -> Btn_6 | 0x107l -> Btn_7 | 0x108l -> Btn_8 | 0x109l -> Btn_9 | 0x110l -> Btn_left | 0x111l -> Btn_right | 0x112l -> Btn_middle | 0x113l -> Btn_side | 0x114l -> Btn_extra | 0x115l -> Btn_forward | 0x116l -> Btn_back | 0x117l -> Btn_task | _ -> Key_unknown ;; let to_int32 = function | Btn_0 -> 0x100l | Btn_1 -> 0x101l | Btn_2 -> 0x102l | Btn_3 -> 0x103l | Btn_4 -> 0x104l | Btn_5 -> 0x105l | Btn_6 -> 0x106l | Btn_7 -> 0x107l | Btn_8 -> 0x108l | Btn_9 -> 0x109l | Btn_left -> 0x110l | Btn_right -> 0x111l | Btn_middle -> 0x112l | Btn_side -> 0x113l | Btn_extra -> 0x114l | Btn_forward -> 0x115l | Btn_back -> 0x116l | Btn_task -> 0x117l | Key_unknown -> 240l ;;