solaar-cli: support specifying different receiver
This commit is contained in:
parent
e3a887f36c
commit
7f229005a6
|
@ -31,10 +31,12 @@ def _require(module, os_package):
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
def _receiver():
|
def _receiver(dev_path=None):
|
||||||
from logitech.unifying_receiver import Receiver
|
from logitech.unifying_receiver import Receiver
|
||||||
from logitech.unifying_receiver.base import receivers
|
from logitech.unifying_receiver.base import receivers
|
||||||
for dev_info in receivers():
|
for dev_info in receivers():
|
||||||
|
if dev_path is not None and dev_path != dev_info.path:
|
||||||
|
continue
|
||||||
try:
|
try:
|
||||||
r = Receiver.open(dev_info)
|
r = Receiver.open(dev_info)
|
||||||
if r:
|
if r:
|
||||||
|
@ -336,6 +338,8 @@ def _parse_arguments():
|
||||||
arg_parser.add_argument('-d', '--debug', action='count', default=0,
|
arg_parser.add_argument('-d', '--debug', action='count', default=0,
|
||||||
help='print logging messages, for debugging purposes (may be repeated for extra verbosity)')
|
help='print logging messages, for debugging purposes (may be repeated for extra verbosity)')
|
||||||
arg_parser.add_argument('-V', '--version', action='version', version='%(prog)s ' + __version__)
|
arg_parser.add_argument('-V', '--version', action='version', version='%(prog)s ' + __version__)
|
||||||
|
arg_parser.add_argument('-D', '--hidraw', nargs=1, dest='hidraw_path', metavar='PATH',
|
||||||
|
help='unifying receiver to use; the first detected receiver if unspecified. Example: /dev/hidraw2')
|
||||||
|
|
||||||
subparsers = arg_parser.add_subparsers(title='commands')
|
subparsers = arg_parser.add_subparsers(title='commands')
|
||||||
|
|
||||||
|
@ -391,7 +395,7 @@ def _parse_arguments():
|
||||||
def main():
|
def main():
|
||||||
_require('pyudev', 'python-pyudev')
|
_require('pyudev', 'python-pyudev')
|
||||||
args = _parse_arguments()
|
args = _parse_arguments()
|
||||||
receiver = _receiver()
|
receiver = _receiver(args.hidraw_path[0])
|
||||||
args.cmd(receiver, args)
|
args.cmd(receiver, args)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Reference in New Issue