| Fixes from brltty trunk: |
| - Use the correct environment variable names in the generated part of |
| the udev rules file. |
| - Add command line flag to exclude devices that are generic (e.g. |
| usb->serial chips that don't have specific vendor/product IDs) |
| --- a/updusbdevs |
| +++ b/updusbdevs |
| @@ -319,14 +319,19 @@ |
| return "<!-- $comment -->" |
| } |
| |
| -proc makeLines_android {vendor product drivers descriptions} { |
| +proc makeLines_android {vendor product drivers descriptions exclude} { |
| set lines [list] |
| |
| foreach description $descriptions { |
| lappend lines [makeComment_android $description] |
| } |
| |
| - lappend lines "<usb-device vendor-id=\"$vendor\" product-id=\"$product\" />" |
| + set line "<usb-device vendor-id=\"$vendor\" product-id=\"$product\" />" |
| + if {$exclude} { |
| + set line [makeComment_android $line] |
| + } |
| + lappend lines $line |
| + |
| return $lines |
| } |
| |
| @@ -334,14 +339,19 @@ |
| return "# $comment" |
| } |
| |
| -proc makeLines_hotplug {vendor product drivers descriptions} { |
| +proc makeLines_hotplug {vendor product drivers descriptions exclude} { |
| set lines [list] |
| |
| foreach description $descriptions { |
| lappend lines [makeComment_hotplug $description] |
| } |
| |
| - lappend lines [format "brltty-%s 0x%04x 0x%04x 0x%04x" [join $drivers ","] 3 $vendor $product] |
| + set line [format "brltty-%s 0x%04x 0x%04x 0x%04x" [join $drivers ","] 3 $vendor $product] |
| + if {$exclude} { |
| + set line [makeComment_hotplug $line] |
| + } |
| + lappend lines $line |
| + |
| return $lines |
| } |
| |
| @@ -349,14 +359,19 @@ |
| return "# $comment" |
| } |
| |
| -proc makeLines_udev {vendor product drivers descriptions} { |
| +proc makeLines_udev {vendor product drivers descriptions exclude} { |
| set lines [list] |
| |
| foreach description $descriptions { |
| lappend lines [makeComment_udev $description] |
| } |
| |
| - lappend lines [format "ENV\{PRODUCT\}==\"%x/%x/*\", ENV\{BRLTTY_DRIVER\}=\"%s\", GOTO=\"brltty_usb_run\"" $vendor $product [join $drivers ","]] |
| + set line [format "ENV\{PRODUCT\}==\"%x/%x/*\", ENV\{BRLTTY_BRAILLE_DRIVER\}=\"%s\", GOTO=\"brltty_usb_run\"" $vendor $product [join $drivers ","]] |
| + if {$exclude} { |
| + set line [makeComment_udev $line] |
| + } |
| + lappend lines $line |
| + |
| return $lines |
| } |
| |
| @@ -364,14 +379,21 @@ |
| return "; $comment" |
| } |
| |
| -proc makeLines_windows {vendor product drivers descriptions} { |
| +proc makeLines_windows {vendor product drivers descriptions exclude} { |
| set lines [list] |
| - lappend lines [format "\"\$1: %s\"=LIBUSB_DEV, USB\\VID_%04X&PID_%04X" [join $descriptions ", "] $vendor $product] |
| + set line [format "\"\$1: %s\"=LIBUSB_DEV, USB\\VID_%04X&PID_%04X" [join $descriptions ", "] $vendor $product] |
| + |
| + if {$exclude} { |
| + set line [makeComment_windows $line] |
| + } |
| + |
| + lappend lines $line |
| return $lines |
| } |
| |
| proc makeLines {linesArray schemes deviceTable} { |
| global genericDevices |
| + upvar #0 optionValues(nogeneric) excludeGenericDevices |
| |
| foreach scheme $schemes { |
| set makeLines makeLines_$scheme |
| @@ -400,6 +422,8 @@ |
| lappend descriptions "[dict get $deviceEntry name] \[[dict get $deviceEntry model]\]" |
| } |
| |
| + set exclude 0 |
| + |
| if {[dict get $productEntry generic]} { |
| lappend lines [$makeComment "Generic Identifier"] |
| set generic [dict get $genericDevices $identifier] |
| @@ -412,9 +436,11 @@ |
| lappend lines [$makeComment "$header: [dict get $generic $property]"] |
| } |
| } |
| + |
| + set exclude $excludeGenericDevices |
| } |
| |
| - eval [list lappend lines] [$makeLines $vendor $product [lsort -unique $codes] [lsort $descriptions]] |
| + eval [list lappend lines] [$makeLines $vendor $product [lsort -unique $codes] [lsort $descriptions] $exclude] |
| lappend lines "" |
| } |
| } |
| @@ -598,9 +624,10 @@ |
| }] |
| |
| set optionDefinitions { |
| - {quiet counter} |
| - {verbose counter} |
| - {test flag} |
| + {quiet counter} |
| + {verbose counter} |
| + {test flag} |
| + {nogeneric flag} |
| } |
| |
| if {![processOptions optionValues argv $optionDefinitions]} { |