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

Function parse_length_4

termeverything/ConvertKeycodeToXbdCode.go:278–305  ·  view source on GitHub ↗
(data []byte)

Source from the content-addressed store, hash-verified

276}
277
278func parse_length_4(data []byte) []XkbdCode {
279 if len(data) < 4 {
280 return nil
281 }
282 if data[0] != 27 {
283 a := KeycodeSingleCodes(int(data[0]))
284 b := parse_length_3(data[1:])
285 if a != nil {
286 return append([]XkbdCode{a}, b...)
287 }
288 return b
289 }
290 if data[1] == 91 { // '['
291 if data[2] == 50 && data[3] == 126 { // "2~"
292 return []XkbdCode{&KeyCode{KeyCode: KEY_INSERT, Modifiers: 0}}
293 }
294 if data[2] == 51 && data[3] == 126 { // "3~"
295 return []XkbdCode{&KeyCode{KeyCode: KEY_DELETE, Modifiers: 0}}
296 }
297 if data[2] == 53 && data[3] == 126 { // "5~"
298 return []XkbdCode{&KeyCode{KeyCode: KEY_PAGEUP, Modifiers: 0}}
299 }
300 if data[2] == 54 && data[3] == 126 { // "6~"
301 return []XkbdCode{&KeyCode{KeyCode: KEY_PAGEDOWN, Modifiers: 0}}
302 }
303 }
304 return nil
305}
306
307var f5_through_8_codes = map[byte]Linux_Event_Codes{
308 53: KEY_F5, // '5'

Callers 1

ConvertKeycodeToXbdCodeFunction · 0.85

Calls 2

KeycodeSingleCodesFunction · 0.85
parse_length_3Function · 0.85

Tested by

no test coverage detected