- Перехват клавиатуры, Pahanivo, 22:37 , 20-Май-18 (1) –11 [V]
> Доброго времени суток! > Есть такая штука в перл, как перехват CTRL+C: > $SIG{INT} = \&tsktsk; > sub tsktsk { > $SIG{INT} = \&tsktsk; > #Выполняемый код, перед завершением программы > exit; > } > А как можно сделать подобное, но чтобы перехватывалось нажатие любой клавиши?причем тут подобное? он тут не коды перехватывает, а функцию в качестве обработчика сигнала прикручивает.
- Перехват клавиатуры, михалыч, 19:37 , 21-Май-18 (2)
- Перехват клавиатуры, михалыч, 15:44 , 22-Май-18 (3)
> порт на TermKey отсутствует, но можно его и самому сделать да, порт для TermKey собрал, протестировал что можно сказать? - "нажатие клавиш" перехватывает, показывает какие были нажаты работает )) собрал для FreeBSD 11.1, но загрузить здесь некуда ((
- Перехват клавиатуры, Pahanivo, 00:07 , 23-Май-18 (4) –3
> собрал для FreeBSD 11.1, но загрузить здесь некуда (( що думаешь он cpan install module не осилит?
- Перехват клавиатуры, михалыч, 04:12 , 23-Май-18 (5) +1
>> собрал для FreeBSD 11.1, но загрузить здесь некуда (( > що думаешь он > cpan > install module > не осилит?Ты меня об этом спрашиваешь?! Я не знаю осилит он или нет, спроси об этом у самого ТС. Вообще-то, там есть зависимости и если у ТС ОС FreeBSD, то идеологически правильнее использовать pkg или ручками устанавливать из портов - зависимости подтянутся автоматически. PS Только ради Бога, ради всего святого, не устраивай из этого треда очередную помойку и не разводи здесь срaч.
- Перехват клавиатуры, Pahanivo, 09:08 , 23-Май-18 (6)
> Ты меня об этом спрашиваешь?! > Вообще-то, там есть зависимости и если у ТС ОС FreeBSD, > то идеологически правильнее использовать pkg или ручками устанавливать из портов > - зависимости подтянутся автоматически."cpan install" также подтянет все зависимости и боюсь, что если запихать все модули пэрла в порты там будет реальная "помойка", не особо нужная монтейнерам, ибо держать херову кучу мелких модулей совсем не айс. > Только ради Бога, ради всего святого, не устраивай из этого треда > очередную помойку и не разводи здесь Только не надо тащить религиозную щнягу в тех форум :) установка из портов в данном случае рецепт конкретной ОСи. cpan install, внезапно, вещица универсальная, хоть под freebsd, хоть под linux, даже под еретические винды прекрасно ставиться (каюсь, юзаю перл для виндов). в чем помойка? в чем сра_ч? чего ради? CPAN для тебя ересь? странный ты ...
- Перехват клавиатуры, михалыч, 12:14 , 23-Май-18 (7)
Что, к каждой бочке затычка?> "cpan install" также подтянет все зависимости Нет. Не все. > и боюсь, что если запихать все модули пэрла в порты там будет реальная "помойка", > не особо нужная монтейнерам, ибо держать херову кучу мелких модулей совсем не айс. Ты "монтейнер"? Нет? Тогда не бойся за них. Они обойдутся и справятся без тебя. Не тебе решать. > Только не надо тащить религиозную щнягу в тех форум :) В данном контексте, фразеологизмы "ради Бога" и "ради всего святого" призывали тебя не затоплять данную ветвь обсуждения пустыми и не относящимися к теме сообщениями, иначе говоря - не флудить. > установка из портов в данном случае рецепт конкретной ОСи. > cpan install, внезапно, вещица универсальная, хоть под freebsd, хоть под linux, > даже под еретические винды прекрасно ставиться (каюсь, юзаю перл для виндов). Да замечательно, да на здоровье! Во FreeBSD удобно устанавливать что-либо из портов или с помощью pkg не только из-за автоматического подтягивания зависимостей. В этой ОС строгая иерархия - что и куда должно устанавливаться. Это позволяет удобно обновлять систему и т.д. и т.п. Но неужеле же всё это нужно разжёвывать и расписывать? > в чем помойка? в чем сра_ч? чего ради? А вот уже и получился cрaч - бессмысленный спор. > CPAN для тебя ересь? странный ты ... Это где же я об этом говорил?? Ересь? > Только не надо тащить религиозную щнягу в тех форум :) А сам тащишь. И ты ещё говоришь про странность?! Хм, однако! Кстати, ни cpan ни cpanp не справились. Во FreeBSD во всяком случае. (cpanm не пробовал, хватило двух, а может я не умею их готовить )) Возможно это не только из-за perl зависимостей, но и из-за lib-зависимостей Term::TermKey требует Module::Build , ExtUtils::PkgConfig и libtermkey.so а libtermkey.so требует в свою очередь libunibilium.so и вдобавок gmake да ещё и Module::Build также минимум парочку подтянет - Archive::Zip и PAR::Dist (если не установлены). И так до бесконечности. (типа юмор, а то кое-кто не поймёт) Ниже выложу файлы порта, благо они маленькие. )) 2Pahanivo, давай, завязывай, а?! Глупый спор ради спора и опять за деревьями леса не видно.
- Перехват клавиатуры, михалыч, 12:22 , 23-Май-18 (8)
Порт p5-Term-TermKey Всё ниже перечисленное относится к FreeBSD 11.1 и проверялось на ней же ))cd /usr/ports/devel mkdir p5-Term-TermKey touch distinfo touch Makefile touch pkg-descr touch pkg-plist содержимое cat distinfo
SHA256 (Term-TermKey-0.16.tar.gz) = 0e8672b996b3566fbcea40fdb9a3586ff326c4a692ca7d1e973a9f6d065668a6 SIZE (Term-TermKey-0.16.tar.gz) = 34907
cat Makefile
# Created by: Anonymous User <anonym@FreeBSD.org> # $FreeBSD: tags/RELEASE_11_1_0/devel/p5-Term-TermKey/Makefile 412346 2018-05-22 00:00:00Z mat $PORTNAME= Term-TermKey PORTVERSION= 0.16 CATEGORIES= devel perl5 MASTER_SITES= CPAN MASTER_SITE_SUBDIR= CPAN:PEVANS PKGNAMEPREFIX= p5- MAINTAINER= anonym@FreeBSD.org COMMENT= Perl wrapper around libtermkey LICENSE= GPLv1 LIB_DEPENDS= libtermkey.so:devel/libtermkey BUILD_DEPENDS= p5-Module-Build>=0:devel/p5-Module-Build \ p5-ExtUtils-PkgConfig>=0:devel/p5-ExtUtils-PkgConfig RUN_DEPENDS:= ${BUILD_DEPENDS} USES= perl5 USE_PERL5= configure .include <bsd.port.mk>
cat pkg-descr
This module provides a light perl wrapper around the `libtermkey' library. This library attempts to provide an abstract way to read keypress events in terminal-based programs by providing structures that describe keys, rather than simply returning raw bytes as read from the TTY device.This version of Term::TermKey requires libtermkey version at least 0.16. WWW: http://search.cpan.org/dist/Term-TermKey/ WWW: https://metacpan.org/pod/Term::TermKey
cat pkg-plist
%%PERL5_MAN3%%/Term::TermKey.3.gz %%SITE_ARCH%%/Term/TermKey.pm %%SITE_ARCH%%/auto/Term/TermKey/TermKey.so
ll /usr/ports/devel/p5-Term-TermKey/ -rw-r--r-- 1 root wheel 141 distinfo -rw-r--r-- 1 root wheel 620 Makefile -rw-r--r-- 1 root wheel 453 pkg-descr -rw-r--r-- 1 root wheel 107 pkg-plist
и не забываем про tab'ы в файле Makefile
- Перехват клавиатуры, redd, 18:38 , 23-Май-18 (9)
> Доброго времени суток! > Есть такая штука в перл, как перехват CTRL+C: > $SIG{INT} = \&tsktsk; > sub tsktsk { > $SIG{INT} = \&tsktsk; > #Выполняемый код, перед завершением программы > exit; > } > А как можно сделать подобное, но чтобы перехватывалось нажатие любой клавиши?Тут проще вставку на ASM сделать...
|