Browse Source

first run at rendering a list of identifiers

Jack Humbert 8 years ago
parent
commit
1b4b5e5c66
2 changed files with 109 additions and 0 deletions
  1. 61 0
      docs/keyboard_identifiers.md
  2. 48 0
      util/keyboard_identifier_generator.sh

+ 61 - 0
docs/keyboard_identifiers.md

@@ -0,0 +1,61 @@
+# Keyboard Identifiers
+
+|Keyboard|Vendor ID|Product ID|Device Ver|
+|alps64|0xFEED|0x6464|0x0001|
+|amj40|0xFEED|0x6072|0x0002|
+|amj60|0xFEED|0x6066|0x0001|
+|amjpad|0xFEED|0x6060|0x0003|
+|atomic|0xFEED|0x6060|0x0001|
+|atreus|0xFEED|0x6060|0x0001|
+|atreus62|0xFEED|0x6062|0x0001|
+|bananasplit|0xFEAE|0x8870|0x0001|
+|bantam44|0xFEED|0x6060|0x0001|
+|chibios_test|0xFEED|0x6464|0x0001|
+|clueboard|0xC1ED|rev1: 0x2301<br />rev2: 0x2320<br />|rev1: 0x0003<br />rev2: 0x0001<br />|
+|cluecard|0xC1ED|0x2330|0x0001|
+|cluepad|0xC1ED|0x2312|0x0001|
+|deltasplit75|v2: 0xFEED<br />|v2: 0x3060<br />|v2: 0x0001<br />|
+|dk60|0xFEED|0x6060|0x0001|
+|eco|0x1337|0x6006|rev1: 0x0001<br />rev2: 0x0002<br />|
+|ergodox|ez: 0xFEED<br />infinity: 0xFEED<br />|ez: 0x1307<br />infinity: 0x6464<br />|ez: 0x0001<br />infinity: 0x0001<br />|
+|frosty_flake|0xFEED|0x6060|0x0001|
+|gh60|0xFEED|0x6060|0x0001|
+|gherkin|0xFEED|0x6060|0x0001|
+|gonnerd|0xFEED|0x6060|0x0001|
+|hadron|0xFEED|0x6060|ver0: 0x0001<br />ver2: 0x0002<br />|
+|hhkb|0xFEED|0xCAFE|0x0104|
+|infinity60|0xFEED|0x6464|0x0001|
+|jd40|0xFEED|0x6060|0x0001|
+|jd45|0xFEED|0x6060|0x0001|
+|kbd75|0xFEED|0x6060|0x0001|
+|kc60|0xFEED|0x6060|0x0001|
+|kinesis|0xFEED|alvicstep: 0x6060<br />stapelberg: 0x6060<br />|alvicstep: 0x0001<br />stapelberg: 0x0002<br />|
+|kitten_paw|0xFEED|0x6050|0x0104|
+|kmac|0xFEED|0x6050|0x0104|
+|lets_split|rev1: 0xFEED<br />rev2: 0xFEED<br />|rev1: 0x3060<br />rev2: 0x3060<br />|rev1: 0x0001<br />rev2: 0x0001<br />|
+|m10a|0xFEED|0x0007|0x0001|
+|maxipad|0xFEED|0x6060|0x0001|
+|mechmini|0x20A0|0x422D||
+|minidox|0xFEED|0x3060|rev1: 0x0001<br />|
+|mitosis|0xFEED|0x6060|0x0001|
+|miuni32|0xFEED|0x6060|0x0001|
+|nyquist|rev1: 0xCEEB<br />|rev1: 0x1156<br />|rev1: 0x0100<br />|
+|orthodox|rev1: 0xFEED<br />|rev1: 0x3060<br />|rev1: 0x0001<br />|
+|pegasushoof|0xFEED|0x6050|0x0104|
+|phantom|0xFEED|0x6060|0x0003|
+|planck|0xFEED|0x6060|rev3: 0x0003<br />rev4: 0x0004<br />|
+|preonic|0xFEED|0x6061|0x0001|
+|ps2avrGB|0x20A0|0x422D||
+|roadkit|0xFEAE|0x8846|0x0001|
+|s60_x|0xFEED|0x6060|0x0001|
+|s65_x|0xFEED|0x6060|0x0001|
+|satan|0xFEED|0x6060|0x0003|
+|sixkeyboard|0xFEED|0x6062|0x0001|
+|tada68|0xFEED|0x6060|0x0003|
+|tiger_lily|0xFEED|0x6060|0x0001|
+|tv44|0xFEAE|0x8844|0x0002|
+|uk78|0x554B|0x004E|0x0002|
+|vision_division||||
+|whitefox|0xFEED|0x0F0F|0x0001|
+|xd60|0xFEED|0x6060|0x0001|
+|xd75|0xCDCD|0x7575|0x0001|

+ 48 - 0
util/keyboard_identifier_generator.sh

@@ -0,0 +1,48 @@
+#/bin/bash
+echo "# Keyboard Identifiers
+
+|Keyboard|Vendor ID|Product ID|Device Ver|" > docs/keyboard_identifiers.md
+for project in $(find . -regex '\./keyboards/[a-z0-9_\-]+/config.h')
+do
+    keyboard_name=$(printf $project | sed -r "s/\.\/keyboards\/([a-zA-Z0-9_\-]+).*/\1/g")
+    vendor_id=$(grep 'VENDOR_ID' $project | \
+        tr -d '\n' | \
+        sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
+    if [ -z $vendor_id ]; then
+        for subproject in $(find . -regex "\./keyboards/$keyboard_name/[a-z0-9_\-]+/config.h")
+        do
+            subproject_name=$(printf $subproject | sed -r "s/\.\/keyboards\/${keyboard_name}\/([a-zA-Z0-9_\-]+).*/\1/g")
+            subproject_vendor_id=$(grep 'VENDOR_ID' $subproject | \
+                tr -d '\n' | \
+                sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
+            vendor_id+=$(printf "%s: %s<br />" $subproject_name $subproject_vendor_id)
+        done
+    fi
+    product_id=$(grep 'PRODUCT_ID' $project | \
+        tr -d '\n' | \
+        sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
+    if [ -z $product_id ]; then
+        for subproject in $(find . -regex "\./keyboards/$keyboard_name/[a-z0-9_\-]+/config.h")
+        do
+            subproject_name=$(printf $subproject | sed -r "s/\.\/keyboards\/${keyboard_name}\/([a-zA-Z0-9_\-]+).*/\1/g")
+            subproject_product_id=$(grep 'PRODUCT_ID' $subproject | \
+                tr -d '\n' | \
+                sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
+            product_id+=$(printf "%s: %s<br />" $subproject_name $subproject_product_id)
+        done
+    fi
+    device_ver=$(grep 'DEVICE_VER' $project | \
+        tr -d '\n' | \
+        sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
+    if [ -z $device_ver ]; then
+        for subproject in $(find . -regex "\./keyboards/$keyboard_name/[a-z0-9_\-]+/config.h")
+        do
+            subproject_name=$(printf $subproject | sed -r "s/\.\/keyboards\/${keyboard_name}\/([a-zA-Z0-9_\-]+).*/\1/g")
+            subproject_device_ver=$(grep 'DEVICE_VER' $subproject | \
+                tr -d '\n' | \
+                sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
+            device_ver+=$(printf "%s: %s<br />" $subproject_name $subproject_device_ver)
+        done
+    fi
+    printf "|%s|%s|%s|%s|\n" "$keyboard_name" "$vendor_id" "$product_id" "$device_ver" >> docs/keyboard_identifiers.md
+done