PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Софт (http://pccar.ru/forumdisplay.php?f=172)
-   -   Tasker и скрипты для Таскера (http://pccar.ru/showthread.php?t=18712)

myxa781 23.09.2013 13:02

совсем не по теме... но про таскер :)
таскер в школе

Maxim Droy 23.09.2013 21:53

Как словить бездействия пользователя N времени? Если можно без скриптов, а тыканьем по gui.

myxa781 23.09.2013 22:34

Цитата:

Сообщение от Maxim Droy (Сообщение 271627)
Как словить бездействия пользователя N времени? Если можно без скриптов, а тыканьем по gui.

я только через getevent могу посоветовать...

Maxim Droy 24.09.2013 05:07

Цитата:

Сообщение от myxa781 (Сообщение 271630)
я только через getevent могу посоветовать...

А поподробней? :)

myxa781 24.09.2013 11:44

Цитата:

Сообщение от Maxim Droy (Сообщение 271657)
А поподробней? :)

ну это всетаки вариант со скриптом:)
принцип такой:
- запустите в терминале getevent
- побегут циферки почти как в матрице:)
- тыцните в любом месте экрана - циферки поменяются
- теперь достаточно обернуть в цикле проверку этого дела в конце поставить & - скрипт будет висеть резидентно...

lti1 25.09.2013 02:39

Цитата:

Сообщение от myxa781 (Сообщение 267803)
пробовать перехватить через getevent: getevent -S (немного чтива)
начните с
# getevent -S (выполнить при подключенной клаве)
в выведенном списке мониторить именно ее через logcat

С помощью getevent отловил необходимые мне сочитания клавиш, теперь хочу данные сочитания прикрутить к scene Tasckera, но что то ни как не могу разобраться как это сделать. Кто нибудь пробовал, получилось?

myxa781 25.09.2013 11:39

Цитата:

Сообщение от lti1 (Сообщение 271729)
С помощью getevent отловил необходимые мне сочитания клавиш, теперь хочу данные сочитания прикрутить к scene Tasckera, но что то ни как не могу разобраться как это сделать. Кто нибудь пробовал, получилось?

что получилсоь и что не получается опишите подробнее (у меня в школе не было курса телепатии :big:
попробуем помочь

lti1 25.09.2013 12:47

Цитата:

Сообщение от myxa781 (Сообщение 271751)
что получилсоь и что не получается опишите подробнее (у меня в школе не было курса телепатии :big:
попробуем помочь

Описывать особо то и нечего, дошёл до этого пункта
"# script -q -c 'getevent /dev/input/event1' /dev/null | while read code; do echo "$code" | grep -q '^0004 0004 00000004.$' && echo "code:$code"; done
В терминале выводится одна строчка на нажатие нужной мне кнопки, и одна на отжатие.
"
А куда это теперь засунуть, что бы привязать scene Tasckera не пойму.

myxa781 25.09.2013 13:43

Цитата:

Сообщение от lti1 (Сообщение 271757)
Описывать особо то и нечего, дошёл до этого пункта
"# script -q -c 'getevent /dev/input/event1' /dev/null | while read code; do echo "$code" | grep -q '^0004 0004 00000004.$' && echo "code:$code"; done
В терминале выводится одна строчка на нажатие нужной мне кнопки, и одна на отжатие.
"
А куда это теперь засунуть, что бы привязать scene Tasckera не пойму.

script -q -c 'getevent /dev/input/event1' /dev/null | while read code; do echo "$code" | grep -q '^0004 0004 00000004.$' && am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name ИМЯЗАДАЧИ;done &
ИМЯЗАДАЧИ=задача в таскере которая будет или переменные менять или еще какие действия, в вашем случае будет делать действия которые вы уже отрисуете в сцене
& в конце строки, чтобы этот скрипт висел резидентом

lti1 25.09.2013 14:56

Цитата:

Сообщение от myxa781 (Сообщение 271764)
script -q -c 'getevent /dev/input/event1' /dev/null | while read code; do echo "$code" | grep -q '^0004 0004 00000004.$' && am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name ИМЯЗАДАЧИ;done &
ИМЯЗАДАЧИ=задача в таскере которая будет или переменные менять или еще какие действия, в вашем случае будет делать действия которые вы уже отрисуете в сцене
& в конце строки, чтобы этот скрипт висел резидентом

А запускать данный скрипт через Run Shell?

myxa781 25.09.2013 15:27

Цитата:

Сообщение от lti1 (Сообщение 271769)
А запускать данный скрипт через Run Shell?

да, но сначала лучше проверьте или через терминал или через adb (например сделайте задачу с вибрированием) и запустите скрипт... если нажмете кнопки и скрипт сделает все верно то будет вибра)
при отладке & в конце можно не ставить

lti1 25.09.2013 15:42

Цитата:

Сообщение от myxa781 (Сообщение 271771)
да, но сначала лучше проверьте или через терминал или через adb (например сделайте задачу с вибрированием) и запустите скрипт... если нажмете кнопки и скрипт сделает все верно то будет вибра)
при отладке & в конце можно не ставить

Попробовал запустить через терминал, реакции ноль.
Код:

app_182@android:/ $ su
 '^0004 0004 000700e4.$' && am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name Batton_Skoda1;done &                                                                                            <
[1] 3189 3190
app_182@android:/ #

И почему то в терминале скрипт не полностью отображается, вставляю вот это
script -q -c 'getevent /dev/input/event8' /dev/null | while read code; do echo "$code" | grep -q '^0004 0004 000700e4.$' && am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name Batton_Skoda1;done &

myxa781 25.09.2013 16:00

скрипт запустился [1] 3189 3190
в предыдущем посте у вас было 0004 0004 00000004.$ а сейчас 0004 0004 000700e4 все верно?? и
/dev/input/event1 а сейчас event8
ок....понял


# script -q -c 'getevent /dev/input/event8' /dev/null | while read code; do echo "$code" | grep -q '^0004 0004 000700e4.$' && echo "code:$code"; done из терминала работает?
p.s. что в задаче Batton_Skoda1 ?

lti1 25.09.2013 16:49

Вложений: 1
Цитата:

Сообщение от myxa781 (Сообщение 271775)
скрипт запустился [1] 3189 3190
в предыдущем посте у вас было 0004 0004 00000004.$ а сейчас 0004 0004 000700e4 все верно?? и
/dev/input/event1 а сейчас event8
ок....понял

Да все верно, это мои значения, предыдущие были с 4pda.
Цитата:

Сообщение от myxa781 (Сообщение 271775)
# script -q -c 'getevent /dev/input/event8' /dev/null | while read code; do echo "$code" | grep -q '^0004 0004 000700e4.$' && echo "code:$code"; done из терминала работает?

Работает, прилетает два раза, один на нажатие, второй на отпускание кнопки.
Цитата:

Сообщение от myxa781 (Сообщение 271775)
p.s. что в задаче Batton_Skoda1 ?


myxa781 25.09.2013 17:55

3 если skoda1=0
4 включили оверлей
5 установили skoda1=1 зачем? если в 8 вы ее обнулите?
6 подождали
7 выключили оверлей
8 установили skoda1=0
кроме этой задачи гдето skoda1=1 ???
для проверки выключите все в задаче... поставьте вибрацию.... проверить срабатывает задача или нет

lti1 25.09.2013 18:24

Цитата:

Сообщение от myxa781 (Сообщение 271782)
3 если skoda1=0
4 включили оверлей
5 установили skoda1=1 зачем? если в 8 вы ее обнулите?
6 подождали
7 выключили оверлей
8 установили skoda1=0
кроме этой задачи гдето skoda1=1 ???
для проверки выключите все в задаче... поставьте вибрацию.... проверить срабатывает задача или нет

Если оверлей активен skoda1=1, и повторный вызов задания (при предварительной его остановке) закроет оверлей сразу. Нужно это так как есть еще задание которое фиксирует оверлей на экране. Логика такая:
1. тапнул на эконку оверлей появился и через 10 секунд исчез
2. долгий тап фиксирует оверлей на экране
3. тап когда оверлей на экране, не зависимо вызван пунктом 1 или 2 убирает оверлей с экрана.
Вообще у меня три задачи Batton_Skoda1, Batton_Skoda2, Batton_Skoda3 и skoda1=1 еще есть в Batton_Skoda3.
Сейчас проверить не смогу, при этих манипуляциях вылезла samsung'овская болячка, вылетает родная клавиатура и закрывает разные приложения, не дает копировать текст. Придется наверное перешивать мой Tab2 :sad2:.

lti1 26.09.2013 00:20

Цитата:

Сообщение от myxa781 (Сообщение 271782)
для проверки выключите все в задаче... поставьте вибрацию.... проверить срабатывает задача или нет

Попробовал только с виброй, все равно не работает.

laytya 26.09.2013 07:30

Перепишете на awk лучше, эти циклы только запутывают =(

myxa781 26.09.2013 09:44

Цитата:

Сообщение от lti1 (Сообщение 271827)
Попробовал только с виброй, все равно не работает.

проверьте am broadcast

lti1 26.09.2013 10:27

Цитата:

Сообщение от myxa781 (Сообщение 271849)
проверьте am broadcast

Как проверить? am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name Batton_Skoda1;done & это в терминал отправить?

myxa781 26.09.2013 11:03

Цитата:

Сообщение от lti1 (Сообщение 271856)
Как проверить? am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name Batton_Skoda1;done & это в терминал отправить?

ага... просто глюк то не в скрипте... если он с echo выводит нужные вам данные при нажатии значит срабатывает...
на awk запилит можно а толку если проблема не в скрипте
p.s. на awk чтото типа такого (могу ошибиться)
script -q -c 'getevent /dev/input/event8' /dev/null | awk '{if ($1=="^0004 0004 000700e4.$") system("am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name Batton_Skoda1") &

lti1 26.09.2013 11:09

Код:

u0_a182@android:/ $ su
u0_a182@android:/ # am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name Batton_Skoda1;done &
sh: syntax error: 'done' unexpected
1|u0_a182@android:/ #


myxa781 26.09.2013 11:21

Цитата:

Сообщение от lti1 (Сообщение 271863)
Код:

u0_a182@android:/ $ su
u0_a182@android:/ # am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name Batton_Skoda1;done &
sh: syntax error: 'done' unexpected
1|u0_a182@android:/ #


am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name Batton_Skoda1
done не надо:) то для цикла

lti1 26.09.2013 11:26

Цитата:

Сообщение от myxa781 (Сообщение 271867)
am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name Batton_Skoda1
done не надо:) то для цикла

Код:

u0_a182@android:/ $ su
u0_a182@android:/ # am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name Batton_Skoda1
Segmentation fault
139|u0_a182@android:/ #


myxa781 26.09.2013 11:40

Цитата:

Сообщение от lti1 (Сообщение 271869)
Код:

u0_a182@android:/ $ su
u0_a182@android:/ # am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name Batton_Skoda1
Segmentation fault
139|u0_a182@android:/ #


вооот...
что выдает am (в терминале под su)
am broadcast (в терминале под su)

lti1 26.09.2013 11:44

Цитата:

Сообщение от myxa781 (Сообщение 271873)
вооот...
что выдает am (в терминале под su)
am broadcast (в терминале под su)

То же самое
Код:

u0_a182@android:/ $ su
u0_a182@android:/ # am
Segmentation fault
139|u0_a182@android:/ # am broadcast
Segmentation fault
139|u0_a182@android:/ #


myxa781 26.09.2013 12:06

su
# awk system("am"); что пишет?
p.s. в терминале на планшете запускаете или adb с компа?

lti1 26.09.2013 12:29

Цитата:

Сообщение от myxa781 (Сообщение 271877)
su
# awk system("am"); что пишет?
p.s. в терминале на планшете запускаете или adb с компа?

Код:

u0_a182@android:/ $ su
u0_a182@android:/ # awk system("am");
sh: syntax error: '(' unexpected
1|u0_a182@android:/ # awk system
awk: cmd. line:1: Unexpected end of string
1|u0_a182@android:/ # awk system("am")
sh: syntax error: '(' unexpected
1|u0_a182@android:/ #

На планшете, Android Terminal Emulator

myxa781 26.09.2013 12:33

насчет segmentation fault am broadcast проблема в прошивке... попробуйте погуглить по вашему девайсу

lti1 26.09.2013 14:38

Цитата:

Сообщение от myxa781 (Сообщение 271884)
насчет segmentation fault am broadcast проблема в прошивке... попробуйте погуглить по вашему девайсу

Как то странно, вчера у меня была прошивка 4.0.4, сегодня 4.2.2 или это все прошивки самсунга такие.
Я так понимаю, что здесь о подобном случае идет речь. Но человек так и не решил вопрос.
Username11 писал про какой то способ "В общем, как лечить я уже писал. Для конкретного случая - команды am - можно поставить требуемый в ICS LD_LIBRARY_PATH." Но что это совсем не понятно.
Может быть есть какой-то кардинально другой способ отловить нажатие клавиши?

myxa781 26.09.2013 14:52

Цитата:

Сообщение от lti1 (Сообщение 271902)
Как то странно, вчера у меня была прошивка 4.0.4, сегодня 4.2.2 или это все прошивки самсунга такие.
Я так понимаю, что здесь о подобном случае идет речь. Но человек так и не решил вопрос.
Username11 писал про какой то способ "В общем, как лечить я уже писал. Для конкретного случая - команды am - можно поставить требуемый в ICS LD_LIBRARY_PATH." Но что это совсем не понятно.
Может быть есть какой-то кардинально другой способ отловить нажатие клавиши?

ну из вариантов пробовать другой su ставить который пропишет LD_LIBRARY_PATH... пробовать самому его прописать...
насчет отловить по другому нажатия... не уверен, что есть другой способ (подвязанный с таскером)... хотя хз... иногда на костылях можно строить чудеса:) но вот как быть в вашем случае хз.... начал всетаки с su...
кстати софт требующий рут работает нормально?

lti1 26.09.2013 15:00

Цитата:

Сообщение от myxa781 (Сообщение 271904)
ну из вариантов пробовать другой su ставить который пропишет LD_LIBRARY_PATH... пробовать самому его прописать...
насчет отловить по другому нажатия... не уверен, что есть другой способ (подвязанный с таскером)... хотя хз... иногда на костылях можно строить чудеса:) но вот как быть в вашем случае хз.... начал всетаки с su...
кстати софт требующий рут работает нормально?

Вроде де бы нормально, каких то косяков не замечал.
Константин, а вот это случайно не решение мой сложности?

myxa781 26.09.2013 15:16

да очень может быть... вот только по той ссылке не качает... скачал тут
скрипт заменит su

laytya 26.09.2013 15:23

script -q -c 'getevent /dev/input/event8' /dev/null | awk '/0004 0004 000700e4/ {system("am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name tts_start")}' 1>/dev/null &

вот так для авк

lti1 26.09.2013 16:20

Цитата:

Сообщение от laytya (Сообщение 271907)
script -q -c 'getevent /dev/input/event8' /dev/null | awk '/0004 0004 000700e4/ {system("am broadcast -a net.dinglisch.android.tasker.ACTION_TASK -e task_name tts_start")}' 1>/dev/null &

вот так для авк

А что такое авк?

lti1 26.09.2013 16:27

Цитата:

Сообщение от myxa781 (Сообщение 271906)
да очень может быть... вот только по той ссылке не качает... скачал тут
скрипт заменит su

Что то ни как у меня не ставится этот su_ics_v3.1, ругается "generic atexit() called form legacy shared library Permission denied". Что то не то у меня с планшетом. Вчера после прошивки Вайп Дата\Фактори не делал, жалко было настройки потерять, может в этом дело или Root как то криво встал.

myxa781 26.09.2013 16:28

Цитата:

Сообщение от lti1 (Сообщение 271911)
А что такое авк?

скажем так - язык разбора в баш скриптах...
можете попробовать... но не факт что am не отпадет снова в segmentation...

myxa781 26.09.2013 16:29

Цитата:

Сообщение от lti1 (Сообщение 271913)
Что то ни как у меня не ставится этот su_ics_v3.1, ругается "generic atexit() called form legacy shared library Permission denied". Что то не то у меня с планшетом. Вчера после прошивки Вайп Дата\Фактори не делал, жалко было настройки потерять, может в этом дело или Root как то криво встал.

что за планшет? да и не учел, что у вас 4.2.2 - скрипт для ICS у вас уже JB
p.s. в любом случае нужно перерутиться:)

lti1 26.09.2013 16:42

Цитата:

Сообщение от myxa781 (Сообщение 271915)
что за планшет? да и не учел, что у вас 4.2.2 - скрипт для ICS у вас уже JB

Samsung Galaxy Tab 2 10.1
Я что то в начале заметил что для Ice Cream, а потом забыл как то. Сейчас вместо SU пытаюсь поставить Super SU, посмотрю что получится.

myxa781 26.09.2013 16:50

Цитата:

Сообщение от lti1 (Сообщение 271917)
Samsung Galaxy Tab 2 10.1
Я что то в начале заметил что для Ice Cream, а потом забыл как то. Сейчас вместо SU пытаюсь поставить Super SU, посмотрю что получится.

рекавери cwm стоит?


Часовой пояс GMT +4, время: 08:52.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot