1

Приветствую!

Интересует возможность сборки пакета touchpad-indicator со всеми зависимостями.
Судя по описанию, очень нужная программка для ноутбука.

2

Это какой индикатор? Этот?

3

Он самый.
Сам то  touchpad-indicator собирается легко. Но при запуске зависимости потянул, которые мне собрать так и не удалось.

4 (2012-10-25 12:52:22 отредактировано Zomby)

Собрал для обеих архитектур. При установке тянет только pyusb (у меня во всяком случае, под i586, под х86_64 не проверял). Залил в construct. Проверяйте в работе, про результаты обязательно отписываемся здесь.

Mageia6, KDE, LXQt, x86_64.
Человек человеку - волк, а зомби зомби - зомби!

5

[oleg@localhost ~]$ /usr/share/touchpad-indicator/touchpad-indicator.py

** (process:12918): WARNING **: Trying to register gtype 'GMountMountFlags' as enum when in fact it is of type 'GFlags'

** (process:12918): WARNING **: Trying to register gtype 'GDriveStartFlags' as enum when in fact it is of type 'GFlags'

** (process:12918): WARNING **: Trying to register gtype 'GSocketMsgFlags' as enum when in fact it is of type 'GFlags'
Gtk-Message: Failed to load module "canberra-gtk-module"
Traceback (most recent call last):
  File "/usr/share/touchpad-indicator/touchpad-indicator.py", line 33, in <module>
    import appindicator
ImportError: No module named appindicator
[oleg@localhost ~]$

6

Берс пишет:

[oleg@localhost ~]$ /usr/share/touchpad-indicator/touchpad-indicator.py

** (process:12918): WARNING **: Trying to register gtype 'GMountMountFlags' as enum when in fact it is of type 'GFlags'

** (process:12918): WARNING **: Trying to register gtype 'GDriveStartFlags' as enum when in fact it is of type 'GFlags'

** (process:12918): WARNING **: Trying to register gtype 'GSocketMsgFlags' as enum when in fact it is of type 'GFlags'
Gtk-Message: Failed to load module "canberra-gtk-module"
Traceback (most recent call last):
  File "/usr/share/touchpad-indicator/touchpad-indicator.py", line 33, in <module>
    import appindicator
ImportError: No module named appindicator
[oleg@localhost ~]$

Похоже, по этот апплет придется забыть. appindicator зависит от libindicator и с этой связкой есть проблемы. Я столкнулся  сними при сборке MATE, поэтому кое-что не собрал и не выложил. Хотя я для MATE собирал их с GTK+2, а если собирать с GTK+3, то все, наверное, будет нормально (но не подходит для MATE). Готовые пакеты есть в cauldron'е.

7

olelukoie пишет:

Готовые пакеты есть в cauldron'е.

Готовые пакеты оттуда у меня не встали ругаясь не на ту версию glibc. А пересборка glibc под мою систему, это, для меня, высокие материи.

8

Берс пишет:
olelukoie пишет:

Готовые пакеты есть в cauldron'е.

Готовые пакеты оттуда у меня не встали ругаясь не на ту версию glibc. А пересборка glibc под мою систему, это, для меня, высокие материи.

Говоря про готовые пакеты, я имел в виду src.rpm, которые можно просто пересобрать для mageia 2, а не бинарники.

9

olelukoie пишет:

Говоря про готовые пакеты, я имел в виду src.rpm, которые можно просто пересобрать для mageia 2, а не бинарники.

Ссылочку на appindicator можно? А то не могу найти.

10

Берс пишет:
olelukoie пишет:

Говоря про готовые пакеты, я имел в виду src.rpm, которые можно просто пересобрать для mageia 2, а не бинарники.

Ссылочку на appindicator можно? А то не могу найти.

Пакет называется libappletindicator: ftp://mirror.yandex.ru/mageia/distrib/cauldron/SRPMS/core/release/libappindicator-12.10.0-1.mga3.src.rpm

11

olelukoie пишет:

Пакет называется libappletindicator: ftp://mirror.yandex.ru/mageia/distrib/cauldron/SRPMS/core/release/libappindicator-12.10.0-1.mga3.src.rpm

Спасибо, попробую на выходных пособирать. Надеюсь получится.

12

[oleg@localhost ~]$ /usr/share/touchpad-indicator/touchpad-indicator.py

** (process:2174): WARNING **: Trying to register gtype 'GMountMountFlags' as enum when in fact it is of type 'GFlags'

** (process:2174): WARNING **: Trying to register gtype 'GDriveStartFlags' as enum when in fact it is of type 'GFlags'

** (process:2174): WARNING **: Trying to register gtype 'GSocketMsgFlags' as enum when in fact it is of type 'GFlags'
Traceback (most recent call last):
  File "/usr/share/touchpad-indicator/touchpad-indicator.py", line 284, in <module>
    tpi=TouchpadIndicator()
  File "/usr/share/touchpad-indicator/touchpad-indicator.py", line 65, in __init__
    self.touchpad = Touchpad()
  File "/usr/share/touchpad-indicator/touchpad.py", line 39, in __init__
    self.ids = self._get_ids()
  File "/usr/share/touchpad-indicator/touchpad.py", line 68, in _get_ids
    for id in self._get_all_ids():
  File "/usr/share/touchpad-indicator/touchpad.py", line 43, in _get_all_ids
    lines = ejecuta('xinput --list')
  File "/usr/share/touchpad-indicator/touchpad.py", line 33, in ejecuta
    p = subprocess.Popen(args, bufsize=10000, stdout=subprocess.PIPE)
  File "/usr/lib64/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib64/python2.7/subprocess.py", line 1249, in _execute_child
    raise child_exception
OSError: [Errno 2] Нет такого файла или каталога
[oleg@localhost ~]$

13

python какой стоит?

Аккаунт отключен по просьбе пользователя. (28.12.2014)

14

Берс, у Вас и правда что-то с питоном случилось, сперва здесь, теперь вот это...

А по существу - если пересоберете libindicator с использованием GTK+3, то отвалится mate-indicator-applet, который требует наличия libindicator, собранного с GTK+2 и который имеется  в наших репах. Так что придется выбирать, какой из "индикаторов" мы будем собирать - для MATE (GTK+2) или для GNOME3 (GTK+3). Сразу оба не получится (пока MATE на GTK+3 не переведут).

15

romkaromka пишет:

python какой стоит?

2.7.3

olelukoie пишет:

Берс, у Вас и правда что-то с питоном случилось, сперва здесь, теперь вот это...

А по существу - если пересоберете libindicator с использованием GTK+3, то отвалится mate-indicator-applet, который требует наличия libindicator, собранного с GTK+2 и который имеется  в наших репах. Так что придется выбирать, какой из "индикаторов" мы будем собирать - для MATE (GTK+2) или для GNOME3 (GTK+3). Сразу оба не получится (пока MATE на GTK+3 не переведут).

Вы меня, наверное, с кем-то перепутали. По этой ссылке я не участвовал в дискуссии.
Мне MATE сам по себе не интересен. Я Trinity предпочитаю.
Как проверить на каком GTK+ был собран libindicator? Я что-то, если честно, не обратил внимания.

16

Берс пишет:

Вы меня, наверное, с кем-то перепутали. По этой ссылке я не участвовал в дискуссии.
Мне MATE сам по себе не интересен. Я Trinity предпочитаю.
Как проверить на каком GTK+ был собран libindicator? Я что-то, если честно, не обратил внимания.

Да, сорри, перепутал, торопился очень... smile

Проверить, с какой версией GTK+ был собран libindicator можно либо по зависимостям пакета, либо по выводу команды ldd:

$ldd /usr/lib/libindicator... | grep gtk
(для 32 бит)
$ldd /usr/lib64/libindicator... | grep gtk
(для 64 бит)

То, что Вам MATE не интересен, не означает, что его компоненты можно ломать. Насколько мне известно, некоторые товарищи им пользуются. И если Вы зальете свою версию libindicator в нашу репу, то будет конфликт с той версией, что у нас уже есть. Так что придется выбирать, и делать это коллективно с привлечением пользователей MATE.

17

olelukoie пишет:

[То, что Вам MATE не интересен, не означает, что его компоненты можно ломать. Насколько мне известно, некоторые товарищи им пользуются. И если Вы зальете свою версию libindicator в нашу репу, то будет конфликт с той версией, что у нас уже есть. Так что придется выбирать, и делать это коллективно с привлечением пользователей MATE.

Собран на GTK+3
Я имел в виду, что ежели что из MATE у меня отвалится, то для меня это не страшно. Против коллектива, конечно, не попрёшь. Однако, с другой стороны, например, кому то понадобится установить на ноутбук MATE и что тогда? Либо MATE либо утилита для отключения тачпада?
Может возможно это как-то обойти?
Мне вот обязательно тачпад отключать нужно, потому что при печати постоянно его задеваю. Очень неудобно. А утилит делающих это под Mageia я не нашёл.
Думаю, что не один я такой.
Если же не возможно совместить, то хоть подскажите куда копать, чтоб всё заработало.
Кому понадобится, я и так, на почту отправлю. Главное, запустить.

18

А я не понял не много.. Тебе нужна возможность отключения тачпада на твоем ноуте?  А как же клавишам Fn?   У меня она прекрасно работает. И не нужен ни какой аплет.

MXLinux 19.3 - xfce
Чем больше я работаю админом, тем больше понимаю,
насколько волшебна фраза - "Нет технической возможности!"

==============================================

19 (2012-10-29 20:00:50 отредактировано Берс)

XliN пишет:

А я не понял не много.. Тебе нужна возможность отключения тачпада на твоем ноуте?  А как же клавишам Fn?   У меня она прекрасно работает. И не нужен ни какой аплет.

На моём чтобы отключить тачпад нужно нажать на его в левую верхнюю часть. Там загорается индикатор. Под виндой работает. Под линуксом нет.
Fn кнопки на это не задействованы.

http://i053.radikal.ru/1107/90/a0cc3307b706.jpg красным обведено место, куда надо нажать.

20

А xev показывает нажатия на эту часть тачпада? Он должен показывать что-то типа вот этого:

KeyPress event, serial 41, synthetic NO, window 0x4600001,
    root 0xaf, subw 0x0, time 386243, (-895,741), root:(780,764),
    state 0x0, keycode 199 (keysym 0x1008ffa9, XF86TouchpadToggle), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

Если такой вывод есть, то тогда действительно нужна лишь утилита, которая на эти нажатия будет реагировать (обратите внимание на наличие обозначения XF86TouchpadToggle). Если же этого вывода нет, то и утилиты не помогут.

21 (2012-10-29 20:40:05 отредактировано omerta13)

olelukoie пишет:

А xev показывает нажатия на эту часть тачпада? Он должен показывать что-то типа вот этого:

KeyPress event, serial 41, synthetic NO, window 0x4600001,
    root 0xaf, subw 0x0, time 386243, (-895,741), root:(780,764),
    state 0x0, keycode 199 (keysym 0x1008ffa9, XF86TouchpadToggle), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

Если такой вывод есть, то тогда действительно нужна лишь утилита, которая на эти нажатия будет реагировать (обратите внимание на наличие обозначения XF86TouchpadToggle). Если же этого вывода нет, то и утилиты не помогут.

А мне кажется можно для acpid написать маленький скрипт и воспользоваться командой

$ synclient TouchpadOff=1

Аналогично для включения.

22

olelukoie пишет:

А xev показывает нажатия на эту часть тачпада?

Я не настолько силён в линуксе. Что такое xev и как проверить, что он показывает на нажатие?

omerta13 пишет:

А мне кажется можно для acpid написать маленький скрипт и воспользоваться командой

$ synclient TouchpadOff=1

Аналогично для включения.

А мне кажется, что проще запустить программу touchpad-indicator, которая сама будет отключать тачпад при подключении мышки и включать его при отключении мышки. Удобнее всё-таки. Да и для каждого удобство своё.
Ну или программу Gsynaptics, на худой конец, скомпилировать.

А вообще, мы немного от темы ушли. Я показал ошибки при запуске программы touchpad-indicator и мне, увы, пока никто не помог в плане куда копать.
Давайте, пока, на ней всё-таки сконцентрируемся. Вдруг получится запустить.

23

Берс пишет:
olelukoie пишет:

А xev показывает нажатия на эту часть тачпада?

Я не настолько силён в линуксе. Что такое xev и как проверить, что он показывает на нажатие?

установить пакет xev и запустить эту команду в консоли. При движении мышкой в ее окне (маленьком), щелчках кнопками мыши или при нажатии на клавиши на клавиатуре она будет писать в консоль инфу о данном событии в формате, который я показал.

omerta13 пишет:

А мне кажется можно для acpid написать маленький скрипт и воспользоваться командой

$ synclient TouchpadOff=1

Аналогично для включения.

А мне кажется, что проще запустить программу touchpad-indicator, которая сама будет отключать тачпад при подключении мышки и включать его при отключении мышки. Удобнее всё-таки. Да и для каждого удобство своё.
Ну или программу Gsynaptics, на худой конец, скомпилировать.

Вы написали, что предпочиатете trinity, а собираете гномьи и убунтоидные апплеты. Вы уверены, что они будут работать где-либо кроме третьегнома и убунты?

24

xev выдаёт при нажатии на touchpad:
ButtonRelease event, serial 39, synthetic NO, window 0x4600001,
    root 0xd2, subw 0x0, time 1733324, (73,151), root:(751,176),
    state 0x110, button 1, same_screen YES

olelukoie пишет:

[Вы написали, что предпочиатете trinity, а собираете гномьи и убунтоидные апплеты. Вы уверены, что они будут работать где-либо кроме третьегнома и убунты?

Не уверен, конечно же. Знаю, что некоторые программы из Gmone могут работать и под KDE.
По поводу убунты, ну собрали ж под Mageia3 touchpad-indicator, значит всё-таки может работать. Зря то никто собирать не будет, надеюсь.

В принципе нашёл тут обходной вариант http://www.eee-pc.ru/wiki/_export/xhtml/linux_synaptics_x

Отключение тачпада при подключенной мыши.
При помощи udev можно автоматически отключать тачпад при подключении внешней мыши!

Для достижения этого, просто добавьте следующее правило udev:
ACTION=="add", SUBSYSTEM=="input", ID_CLASS="mouse", RUN+="/usr/bin/synclient TouchpadOff=1"
ACTION=="remove", SUBSYSTEM=="input", ID_CLASS="mouse", RUN+="/usr/bin/synclient TouchpadOff=0"

Поместите это в /etc/udev/rules.d/01-touchpad.rules, убедитесь что опция SHMConfig включена и наслаждайтесь.

Повторяет настройки touchpad-indicator, только не в графическом режиме.
Собственно вопросы:
Я правильно понял, что нужно в директории /etc/udev/rules.d/ создать файл 01-touchpad.rules и вписать в него вышеуказанные правила?

Как определить включена ли опция SHMConfig? В xorg.conf она не прописана, XF86Config не могу найти, если я правильно понял где эту опцию искать.