Как получить событие нажатия кнопки с камеры - PullRequest
0 голосов
/ 09 июля 2019

У меня есть стоматологическая камера, и я пытаюсь заставить окна нажимать пространство при нажатии кнопки камеры

У меня установлено программное обеспечение и драйвер OEM, оно работает отлично, получает фид и делаетснимок при нажатии кнопки камеры.Мне нужно использовать другое программное обеспечение для канала и снимка, программное обеспечение получает канал, но не реагирует на нажатие кнопки камеры, оно реагирует только на нажатие клавиши пробела (часть драйвера oem), поэтому мой способ решения этой проблемы заключался в полученииустройство по идентификатору продукта и прослушивание события нажатия кнопки и переназначение его пробелом нажмите.Я в значительной степени застрял в этой точке.Как я могу прослушивать события, приходящие с устройства, которое у меня есть?

   public static Device findDCam(){
        // Create the libusb context
        Context context = new Context();

        // Initialize the libusb context
        int result = LibUsb.init(context);
        if (result < 0)
        {
            throw new LibUsbException("Unable to initialize libusb", result);
        }

        // Read the USB device list
        DeviceList list = new DeviceList();
        result = LibUsb.getDeviceList(context, list);
        if (result < 0)
        {
            throw new LibUsbException("Unable to get device list", result);
        }

        try
        {
            // Iterate over all devices and list them
            for (Device device: list)
            {

                DeviceDescriptor descriptor = new DeviceDescriptor();
                result = LibUsb.getDeviceDescriptor(device, descriptor);
                if (result < 0)
                {
                    throw new LibUsbException(
                            "Unable to read device descriptor", result);
                }

                if(descriptor.idProduct()== -3810){
                    System.out.println("D cam found");
                    return device;
                }
            }
        }
        finally
        {
            // Ensure the allocated device list is freed
            LibUsb.freeDeviceList(list, true);
        }

        // Deinitialize the libusb context
        LibUsb.exit(context);
        return null;

    }

Я также подумал, что, возможно, невозможно использовать usb4java, поскольку, насколько я понял, если я хочу слушать на USBПорт мне нужно взять под контроль от водителя, а затем его бессмысленно.Может быть, я все не так, и вместо этого я должен использовать драйвер?Или, может быть, есть приложение, которое может читать нажатия кнопок с определенного устройства и переназначать его?

1 Ответ

0 голосов
/ 25 июля 2019

Если камера имеет стандартный драйвер, это должно работать с помощью этого SDK для захвата видео. Чтобы быстро проверить это, запустите демонстрационный исполняемый файл, включенный в пакет, выберите камеру в списке, установите флажок «кнопка снимка веб-камеры» и запустите камеру. Затем нажмите кнопку камеры, чтобы проверить снимок.

...