Автор Тема: Как да засека дали даден клавиш е натиснат - Bash скрипт  (Прочетена 1435 пъти)

PaperNick

  • Напреднали
  • *****
  • Публикации: 291
  • Window Manager: Xfce
    • Профил
Здравейте, опитвам се да направя прост скрипт, който да върши няколко последователни неща.

Наскоро открих, че в Xfce мога да изпълнявам командата xfce4-popup-[name-of-plugin], която активира (показва) дадения плъгин. След това мое откритие реших да си направя скрипт, който да paste-ва от историята на clipboard-а.

Код
GeSHi (Bash):
  1. #!/bin/bash
  2. $(xfce4-popup-clipman)
  3.  
  4. while :
  5. do
  6. # I need some global read event, because read works only in the console
  7. read -n 1 key
  8.  
  9. if [[ "$key" = '' ]]
  10. then
  11. # Enter, space or something that produces empty string is pressed
  12. break
  13. fi
  14. done
  15.  
  16. $(xdotool key ctrl+v)

Идеята е проста:
1) Покажи ми историята на clipboard-a чрез xfce4-clipman-plugin
2) Слушай за натискане на Enter (чрез стрелките навигирам из историята, когато натисна Enter променям clipboard-а)
3) След това симулирай Paste чрез xdotool

Това общо взето работи, но скриптът засича натискането на Enter само под конзолата. Когато вържа скрипта към клавишна комбинация, read не бачка. Та, има ли някакъв глобален начин да слушам за натискане на клавиш?
« Последна редакция: Apr 26, 2016, 11:21 от PaperNick »
Активен

Practice

Yasen6275

  • Напреднали
  • *****
  • Публикации: 553
    • Профил
Няма как да очакваш от баш скрипт да следи какво се случва в графичната среда. Поне не без външна програма.

Нещото което ти трябва е да разбереш как се правят шорткъти в xfce.
Активен

PaperNick

  • Напреднали
  • *****
  • Публикации: 291
  • Window Manager: Xfce
    • Профил
Нещото което ти трябва е да разбереш как се правят шорткъти в xfce.
За application shortcuts ли става въпрос, че нещо не мога да зацепя? Ако да, как биха решили моя проблем?
Активен

Practice

korea60

  • Напреднали
  • *****
  • Публикации: 189
    • Профил
Може би трябва да търсите \n или пък $var -eq 0, не е пробвани но би трябвало и двете да работят
Активен

cybercop

  • Напреднали
  • *****
  • Публикации: 5607
  • Distribution: Ubuntu LTS, CENTOS 6.x
  • Window Manager: Xfce, Gnome 2
    • Профил
Нещото което ти трябва е да разбереш как се правят шорткъти в xfce.
За application shortcuts ли става въпрос, че нещо не мога да зацепя? Ако да, как биха решили моя проблем?
Думата се използва, както за "пряк път", така и за "бързи клавиши" в зависимост от контекста. Само, че не в този абсурден вид. Клавишни комбинации за програма (бързи клавиши) е ясно, откъде се задават в графичната среда. Не виждам, обаче това с какво ще ти помогне за засичането на активирането на бутон.
« Последна редакция: Apr 28, 2016, 15:56 от cybercop »
Активен

Ползването на Linux води до пристрастяване. Факт.
http://s19.postimg.cc/4oajwoq5v/xenial2.png

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Bash-подаване на сигнали м/у процеси
Общ форум
bonbon 2 7583 Последна публикация Dec 23, 2006, 21:56
от lnxman
Изпълнение на bash скрипт по дадено време
Настройка на програми
xtakedownedx 4 8208 Последна публикация Apr 18, 2007, 16:44
от Hapkoc
Странности в bash
Хардуерни и софтуерни проблеми
qwert 3 7701 Последна публикация Jun 22, 2007, 10:39
от qwert
Bash скрипт
Настройка на програми
empty 39 16327 Последна публикация Aug 25, 2007, 00:31
от VladSun
Bash
Настройка на програми
tony1975 9 2488 Последна публикация Sep 03, 2007, 15:38
от VladSun