(data []byte)
| 233 | } |
| 234 | |
| 235 | func ParseSGRMouseSequences(data []byte) []XkbdCode { |
| 236 | codes := strings.Split(string(data), "\x1b[<") |
| 237 | if len(codes) < 2 { |
| 238 | return nil |
| 239 | } |
| 240 | codes = codes[1:] // First split is empty string before first ESC[< |
| 241 | out := make([]XkbdCode, 0) |
| 242 | for _, code := range codes { |
| 243 | |
| 244 | buttonCode := ParseMouseCode(code) |
| 245 | if buttonCode == nil { |
| 246 | continue |
| 247 | } |
| 248 | out = append(out, buttonCode) |
| 249 | } |
| 250 | return out |
| 251 | } |
| 252 | |
| 253 | func PointerCode(data []byte) PointerEvent { |
| 254 | if !(len(data) >= 3 && data[0] == 27 && data[1] == 91 && data[2] == 77) { |
no test coverage detected