Можно ли в Python задать, с каким устройством ввода работать?
Добрый день.
Есть небольшая программка на Python 3.5 (Windows), которая получает от сканера штрихкода данные и сохраняет их в БД. Если подключить второй сканер, то программа будет получать информацию с двух сканеров. Можно ли сделать так, чтобы запретить получать (или разрешить получать) данные с одного устройства? Подскажите, пожалуйста, кто с таким сталкивался, куда можно копнуть.
P.S. Подразумевается, что будут запущены две копии программы, одна будет получать данные с одного сканера, другая - со второго.
javedimka, в программе ничего такого нет: при запуске появляется окно с lineEdit, с уже сфокусированным на него курсором. Когда мы сканируем, в то место, где находится курсор, автоматически вставляется текст (штрихкод), программа этот текст сохраняет в БД. То есть по сути никакого взаимодействия программы со сканером нет, мы можем просто открыть блокнот, поставить курсор, просканировать штрихкод, и в него автоматом вставится текст.
pypyshka, а как вы себе тогда представляете желаемый результат? Будут запущены два окна программы, и оба - активные с активным курсором ввода? Это тоже самое, что две клавиатуры к компьютеру подключить чтобы одновременно в двух разных окнах работать.
Александр, может быть есть возможность как-то фильтровать устройства по их ID. Тогда можно было в одном и втором экземплярах программы просто настроить, от каких устройств можно получать данные.
У вас сканер работает в режиме разрыва клавиатуры. Для любой программы данные от сканера в этом режиме выглядят так, будто были введены с клавиатуры. Ваша программа даже про сканер ничего не знает, не говоря уж о том, чтобы отличать один от другого.
Сергей Горностаев, это я понимаю. Я сейчас наткнулся на библиотеку pyusb, пытаюсь понять, что она может сделать. Мне интересно, возможно просто найти ID устройств (сканеров) и заблокировать получение данных из них.