Сенсорная панель, не обнаруженная

exit обычно встроенная оболочка, таким образом, в теории она действительно зависит, на которой оболочке Вы используете. Однако я не знаю ни о какой оболочке, где она работает кроме выхода из текущего процесса. Из страницы справочника удара,

   exit [n]
          Cause the shell to exit with a status of n.  If  n  is  omitted,
          the exit status is that of the last command executed.  A trap on
          EXIT is executed before the shell terminates.

Таким образом, это просто не заканчивает ток if пункт, это выходит из целой оболочки (или процесс, в сущности, так как скрипт запускается в рамках процесса оболочки).

От человека sh,

 exit [exitstatus]
        Terminate the shell process.  If exitstatus is given it is used as
        the exit status of the shell; otherwise the exit status of the
        preceding command is used.

И наконец, от человека ksh,

   † exit [ n ]
          Causes  the  shell  to exit with the exit status specified by n.
          The value will be the least significant 8 bits of the  specified
          status.   If  n  is omitted, then the exit status is that of the
          last command executed.  An end-of-file will also cause the shell
          to  exit  except for a shell which has the ignoreeof option (see
          set below) turned on.
3
16.12.2013, 18:08
3 ответа

Я написал драйвер Linux для этого дерьмового устройства, его можно найти здесь: https://github.com/daedric/cntouch_driver

Я также отправил его для просмотра и слияния.

В следующий раз я покупаю ноутбук из LDLC без ОС (если это произойдет), я подумаю дважды ...

Редактировать:

Есть только события для:

  • , щелкните (или дважды нажмите Один палец, одинаковое событие генерируется);
  • Щелкните правой кнопкой мыши;
  • Горизонтальное колесо;
  • Вертикальное колесо.

Нет события для крана с двумя пальцами (обычно для моделирования правой кнопкой мыши).

2
27.01.2020, 21:16

Я начал писать сценарий Python для использования TouchPad (прежде чем попытка записать драйвер ядра C).

Существует запуск моей работы (перемещение и право/щелчок левой кнопкой, я сделаю эти два перемещения пальцев позже). Моя единственная проблема состоит в том, что без плагина мышь USB курсор мыши не видим на экране... (если у кого-то есть идея, потому что я ничего не могу найти). Код не прекрасен и довольно ужасен, но я не программист; D

#!/usr/bin/python
import sys
import os
import usb.core
import usb.util

#Find the device idVendor 0x294e / idProduct 0x1001
dev = usb.core.find(idVendor=0x294e, idProduct=0x1001)
#Select interface 0 and endpoint 0
interface = 0
endpoint = dev[0][(0,0)][0]
#Detach kernel driver
if dev.is_kernel_driver_active(interface) is True:
    dev.detach_kernel_driver(interface)
    usb.util.claim_interface(dev, interface)

collected = 0 #variable to skip the first two data
testsup = float(100)
testinf = float(127)
deplacement = testsup/testinf
sensibilite = 2.5
x = 0
y = 0
click = ""
mouse_btn_l = 0
mouse_btn_r = 0
#set cursor visibility
os.system("dconf write /org/cinnamon/settings-daemon/plugins/cursor/active false")


#Infinite while
while 1:
    try:
        data = dev.read(endpoint.bEndpointAddress, endpoint.wMaxPacketSize)
        collected += 1
        print data
        #The 2 first data are not move data
        if collected > 2:
            #data[1] Right (1) & Left (255) = x
            #data[2] Down (1) & Up (255) = y

            # x
            if (1 <= data[1] <= 127): #Right
                 x = data[1]*deplacement*sensibilite
            elif (128 <= data[1] <= 255): #Left
                 x = -((-data[1]+256)*deplacement*sensibilite)
            else : #No move on x axis
                 x = 0

            # y
            if (1 <= data[2] <= 127): #Down
                y = data[2]*deplacement*sensibilite
            elif (128 <= data[2] <= 255): #Up
                y = -((-data[2]+256)*deplacement*sensibilite)
            else : #No move on y axis
                y = 0

            #wheel is considere as a btn : 4 for up & 5 for down
            if 1 <= data[3] <= 127: #up
                click = "click 4"
            elif 128 <= data[3] <= 255: #down
                click = "click 5"
            else:
                click = " "

            #Left click
            if data[0] == 1 and mouse_btn_l == 0:
                click = "mousedown 1"
                mouse_btn_l = 1
            #Right click
            elif data[0] == 2 and mouse_btn_r == 0:
                click = "mousedown 3"
                mouse_btn_r = 1
            #No click
            elif data[0] == 0:
                if mouse_btn_l == 1:
                    click = "mouseup 1"
                if mouse_btn_r == 1:
                    click = "mouseup 3"
                mouse_btn_l = 0
                mouse_btn_r = 0
            else:
                click = " " 


        os.system("xdotool mousemove_relative -- %d %d %s" % (x, y, click))
        #    if data[0] == 1: #Right click
        #        os.system("xdotool click 1")

    #Error
    except usb.core.USBError as e:
        data = None
        if e.args == ('Operation timed out',):
            continue
usb.util.release_interface(dev, interface)
#dev.attach_kernel_driver(interface)

У Вас должны быть Python, pyUsb и xdotool.

Править: После долгого времени я нашел решение (для меня) для видимости курсора. У меня есть корица, и ключ существуют для видимости курсора.

Простое

dconf write /org/cinnamon/settings-daemon/plugins/cursor/active false

и это хорошо для меня, таким образом, я добавляю эту команду в своем py сценарии с

os.system("")

Надежда это могло помочь!

2
27.01.2020, 21:16
  • 1
    Ничего себе, это является довольно потрясающим - драйвер мыши Python! Возможно, можно ли использовать evdev драйвер для того, чтобы сделать виртуальную мышь? stackoverflow.com/questions/16482260 / … кроме того, Вы обнаружили, что другие события, как 3,4,5 касания пальца, перетаскивают, изменение масштаба, и т.д.? –  w00t 13.03.2014, 08:58
  • 2
    Это довольно невероятно. Может кто-либо с ноутбуком подтверждать, что это работает и делает сенсорную панель применимой? –  a3nm 23.04.2014, 05:03
  • 3
    Привет, жаль о некросообщении. Я не сделал обнаружил другие события для этой сенсорной панели на окнах. Я попробую немного. –  eldkylot 11.08.2015, 18:13

У меня есть тот же компьютер и та же проблема с Debian (тестирующий необходимый из-за Wi-Fi). Если это может помочь, CNTouch не является устройством PCI, а USB-устройством. Выполнение lsusb перед нажатием Fn+F1 (для отключения) и после шоу ожог другая строка: Соедините шиной 001 Устройство 008: идентификатор 294e:1001
В моем случае.

Какой замечательный компьютер, нам, возможно, придется ожидать немного, чтобы иметь драйвер сенсорной панели. Эта сенсорная панель интересна, поскольку она не имеет никакой mecanical кнопки, она встраивается в поле, общая ширина и высота поля, ниже клавиатуры, чувствительны, включая местоположение кнопок.

Плохие новости, я записал в Foxconn без любого ответа, я записал в LDLC, они ответили, что разработали этот компьютер IRIS для Windows только, они только обеспечивают драйверы для окон, они никогда wrtote, что они поддерживают Linux (даже если компьютер продается без ОС, они притворяются, что это для людей, которые уже владеют лицензией окон). Они, которых explicitely не обеспечит никакому другому материалу (документ API, спецификации... который был их официальным ответом). Поскольку сенсорная панель CNTouch была частично разработана LDLC для LDLC, возможности являются очень низкими, чтобы иметь поддержку Linux со стороны сообщества. Пользователи Linux, быть очень mefiant против LDLC 'без ОС' компьютер.

1
27.01.2020, 21:16
  • 1
    я знаю Вас, имеет то же, я нашел Ваш com на блоге Nicolargo (я отправляю ответ на Ваш com). Я продолжаю заниматься расследованиями и если я не нахожу ничего, что я попытаюсь связаться с LDLC & CNTouch, чтобы иметь реальное описание устройства. Я надеюсь, что мы можем сделать что-то! –  eldkylot 17.12.2013, 11:18
  • 2
    я уже послал электронное письмо в foxconn. –  François Cerbelle 19.12.2013, 13:07
  • 3
    Большой, мы поддерживаем контакт об этом. Я вижу то, что я могу найти / о драйверах. –  eldkylot 20.12.2013, 00:10
  • 4
    отредактировал ответ: плохие новости от LDLC –  François Cerbelle 24.12.2013, 10:50

Теги

Похожие вопросы