File: update-gamecontrollerdb.sh

package info (click to toggle)
libmanette 0.2.13-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 764 kB
  • sloc: ansic: 4,854; sh: 63; makefile: 7; xml: 6; javascript: 5
file content (49 lines) | stat: -rwxr-xr-x 1,168 bytes parent folder | download | duplicates (2)
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
#!/bin/bash

OUTPUT=src/gamecontrollerdb

ensure-valid-id () {
  grep -E '^[0-9a-f]{32},'
}

filter_use_button_labels_hint () {
  grep -v ',hint:SDL_GAMECONTROLLER_USE_BUTTON_LABELS:=1' | \
  sed 's|hint:!SDL_GAMECONTROLLER_USE_BUTTON_LABELS:=1,||g'
}

filter_platform () {
  grep "platform:Linux" | \
  sed 's|platform:Linux,||g'
}

footer () {
  printf "\n" >> $OUTPUT
}



#Cleanup
rm $OUTPUT

# Add the SDL DB header
printf "# Source: https://github.com/SDL-mirror/SDL/blob/master/src/joystick/SDL_gamecontrollerdb.h\n\n" >> $OUTPUT

# Add the SDL DB
curl https://raw.githubusercontent.com/SDL-mirror/SDL/master/src/joystick/SDL_gamecontrollerdb.h \
  | awk '/LINUX/{flag=1;next}/endif/{flag=0}flag' \
  | sed -n 's/.*"\(.*\)".*/\1/p' \
  | filter_use_button_labels_hint \
  | ensure-valid-id | sort >> $OUTPUT

footer

# Add the GameControllerDB header
printf "# Source: https://github.com/gabomdq/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt\n\n" >> $OUTPUT

# Add the GameControllerDB
curl https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt \
  | filter_platform \
  | ensure-valid-id | sort >> $OUTPUT

footer