MCPcopy
hub / github.com/mmulet/term.everything / ParseSGRMouseSequences

Function ParseSGRMouseSequences

termeverything/PointerCode.go:235–251  ·  view source on GitHub ↗
(data []byte)

Source from the content-addressed store, hash-verified

233}
234
235func 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
253func PointerCode(data []byte) PointerEvent {
254 if !(len(data) >= 3 && data[0] == 27 && data[1] == 91 && data[2] == 77) {

Callers 1

ConvertKeycodeToXbdCodeFunction · 0.85

Calls 1

ParseMouseCodeFunction · 0.85

Tested by

no test coverage detected