From: "Dave Yeo" Received: from [192.168.100.201] (HELO mail.2rosenthals.com) by 2rosenthals.com (CommuniGate Pro SMTP 5.4.10) with ESMTPS id 3691731 for gnuports@2rosenthals.com; Mon, 16 May 2022 00:14:11 -0400 Received: from [192.168.200.201] (port=51948 helo=mail2.2rosenthals.com) by mail.2rosenthals.com with esmtp (Exim 4.94.2) (envelope-from ) id 1nqS7M-0002Et-35 for gnuports@2rosenthals.com; Mon, 16 May 2022 00:14:01 -0400 Received: from mail-pl1-f174.google.com ([209.85.214.174]:40726) by mail2.2rosenthals.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1nqS7B-0003kP-0T for gnuports@2rosenthals.com; Mon, 16 May 2022 00:13:49 -0400 Received: by mail-pl1-f174.google.com with SMTP id i1so13307301plg.7 for ; Sun, 15 May 2022 21:13:48 -0700 (PDT) X-SASI-Hits: BODYTEXTP_SIZE_3000_LESS 0.000000, BODY_SIZE_1400_1499 0.000000, BODY_SIZE_2000_LESS 0.000000, BODY_SIZE_5000_LESS 0.000000, BODY_SIZE_7000_LESS 0.000000, DATE_TZ_NA 0.000000, DKIM_ALIGNS 0.000000, DKIM_SIGNATURE 0.000000, HTML_00_01 0.050000, HTML_00_10 0.050000, KNOWN_MTA_TFX 0.000000, NO_CTA_FOUND 0.000000, NO_CTA_URI_FOUND 0.000000, NO_URI_FOUND 0.000000, NO_URI_HTTPS 0.000000, SENDER_NO_AUTH 0.000000, SXL_IP_SPAM_RCVD 0.500000, SXL_IP_TFX_WM 0.000000, WEBMAIL_SOURCE 0.000000, __BODY_NO_MAILTO 0.000000, __CT 0.000000, __CTE 0.000000, __CT_TEXT_PLAIN 0.000000, __DKIM_ALIGNS_1 0.000000, __DKIM_ALIGNS_2 0.000000, __DQ_NEG_DOMAIN 0.000000, __DQ_NEG_HEUR 0.000000, __DQ_NEG_IP 0.000000, __FRAUD_WEBMAIL 0.000000, __FRAUD_WEBMAIL_FROM 0.000000, __FROM_DOMAIN_NOT_IN_BODY 0.000000, __FROM_GMAIL 0.000000, __FROM_NAME_NOT_IN_BODY 0.000000, __FUR_HEADER 0.000000, __FUR_RDNS_GMAIL 0.000000, __HAS_FROM 0.000000, __HAS_MSGID 0.000000, __INT_PROD_MP3 0.000000, __MIME_TEXT_ONLY 0.000000, __MIME_TEXT_P 0.000000, __MIME_TEXT_P1 0.000000, __MIME_VERSION 0.000000, __MOZILLA_USER_AGENT 0.000000, __NO_HTML_TAG_RAW 0.000000, __PHISH_SPEAR_STRUCTURE_1 0.000000, __RDNS_WEBMAIL 0.000000, __SANE_MSGID 0.000000, __SUBJ_ALPHA_END 0.000000, __SUBJ_ALPHA_START 0.000000, __TO_MALFORMED_2 0.000000, __TO_NAME 0.000000, __TO_NAME_DIFF_FROM_ACC 0.000000, __TO_REAL_NAMES 0.000000, __URI_NO_MAILTO 0.000000, __USER_AGENT 0.000000, __X_GM_MESSAGE_STATE 0.000000, __X_GOOGLE_DKIM_SIGNATURE 0.000000, __X_GOOGLE_SMTP_SOURCE 0.000000, __YOUTUBE_RCVD 0.000000 X-SASI-Probability: 9% X-SASI-RCODE: 200 X-SASI-Version: Antispam-Engine: 4.1.4, AntispamData: 2022.5.16.32119 X-SASI-Hits: BODYTEXTP_SIZE_3000_LESS 0.000000, BODY_SIZE_1400_1499 0.000000, BODY_SIZE_2000_LESS 0.000000, BODY_SIZE_5000_LESS 0.000000, BODY_SIZE_7000_LESS 0.000000, DATE_TZ_NA 0.000000, DKIM_ALIGNS 0.000000, DKIM_SIGNATURE 0.000000, HTML_00_01 0.050000, HTML_00_10 0.050000, KNOWN_MTA_TFX 0.000000, NO_CTA_FOUND 0.000000, NO_CTA_URI_FOUND 0.000000, NO_URI_FOUND 0.000000, NO_URI_HTTPS 0.000000, SENDER_NO_AUTH 0.000000, SXL_IP_SPAM_RCVD 0.500000, SXL_IP_TFX_WM 0.000000, WEBMAIL_SOURCE 0.000000, __BODY_NO_MAILTO 0.000000, __CT 0.000000, __CTE 0.000000, __CT_TEXT_PLAIN 0.000000, __DKIM_ALIGNS_1 0.000000, __DKIM_ALIGNS_2 0.000000, __DQ_NEG_DOMAIN 0.000000, __DQ_NEG_HEUR 0.000000, __DQ_NEG_IP 0.000000, __FRAUD_WEBMAIL 0.000000, __FRAUD_WEBMAIL_FROM 0.000000, __FROM_DOMAIN_NOT_IN_BODY 0.000000, __FROM_GMAIL 0.000000, __FROM_NAME_NOT_IN_BODY 0.000000, __FUR_HEADER 0.000000, __FUR_RDNS_GMAIL 0.000000, __HAS_FROM 0.000000, __HAS_MSGID 0.000000, __INT_PROD_MP3 0.000000, __MIME_TEXT_ONLY 0.000000, __MIME_TEXT_P 0.000000, __MIME_TEXT_P1 0.000000, __MIME_VERSION 0.000000, __MOZILLA_USER_AGENT 0.000000, __NO_HTML_TAG_RAW 0.000000, __PHISH_SPEAR_STRUCTURE_1 0.000000, __RDNS_WEBMAIL 0.000000, __SANE_MSGID 0.000000, __SUBJ_ALPHA_END 0.000000, __SUBJ_ALPHA_START 0.000000, __TO_MALFORMED_2 0.000000, __TO_NAME 0.000000, __TO_NAME_DIFF_FROM_ACC 0.000000, __TO_REAL_NAMES 0.000000, __URI_NO_MAILTO 0.000000, __USER_AGENT 0.000000, __X_GM_MESSAGE_STATE 0.000000, __X_GOOGLE_DKIM_SIGNATURE 0.000000, __X_GOOGLE_SMTP_SOURCE 0.000000, __YOUTUBE_RCVD 0.000000 X-SASI-Probability: 9% X-SASI-RCODE: 200 X-SASI-Version: Antispam-Engine: 4.1.4, AntispamData: 2022.5.16.34219 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:subject:to:message-id:date:user-agent:mime-version :content-transfer-encoding; bh=s68qQWkoYZBwnHSBZ6vthDt4e8nSUxmLieXBMFR7U7A=; b=WG8ep9p0mDobMe0F+WEO4mKV9Hne8xlax28Ws77mVP82t6StMgtJh1xgoAXSPlfNa4 qKRT/kAKy9WvJBMqx7B48ZwiukZkOsd7zRVFMBPt+lDYNpmmI5X/nXpybp3BV3VVrWcv reeE/3808a+bzcYUk/0KnaB9ufzUVs0UAabbpnUFZWv5GLkTvx/Jk7pPYWeWTQzQ73ml q96f06i9tbGC1E/UBv8gUjrPXCQAg7YzJ2rXuj7fxw3SFwbYIVKYUyi3VIAg8Nvb7CSr 4DeL0e/fMP9uQJDu/GtCRoJxT7MpFr7UYd+ttIoNrMbLs1mlyfzIS19i3lxSnH0ZB1kg Ztog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:subject:to:message-id:date:user-agent :mime-version:content-transfer-encoding; bh=s68qQWkoYZBwnHSBZ6vthDt4e8nSUxmLieXBMFR7U7A=; b=n7uFc+fzGNZMfKnXSvRDVwsZUhj1f7GqXBPfXlj8Pp6zvmpxldYqYVbeXZOcfFSamH DKUaDBEG46OTFfl4cNy5U5SW5ZFzSZ2+VWka/BEoMhHRRaiVwg7F9lXFsD/RFpuZUMp8 I7M4QGZxdag6kqrWuGjh2pShG8XidN0C+4b4E2FBt5dlb8z0pUEOaw7rvKS9Sk2Di5vj fWDBuEsEAPu5tUD1BIilMdqNcytjgYt8g9t/Z2hwmDGiaHfvV6jOal2J3Dbj9c5JxS5s +if3HzYKUNaL7MQN/Uz+Mwd5uRwkYxqIn5atdDkpjUITCIUHhqEh/393bW91o4Kdl8U7 sV5g== X-Gm-Message-State: AOAM531ycAZxmlo7qyMOrlAXITnAfET1Y+sl8Evg+ks8wXs0V3xBuMW1 d0ttF+gTszncEb0DAvCAyUKBVeAopvw= X-Google-Smtp-Source: ABdhPJzaPgM+RCIidCiMsIVcc++LO5jmApj/tiPbDzfHBMCJ/iXd6Lg2QcOlosdKz4waem+KWkNm+Q== X-Received: by 2002:a17:902:6b42:b0:15d:3603:6873 with SMTP id g2-20020a1709026b4200b0015d36036873mr15699723plt.30.1652674046742; Sun, 15 May 2022 21:07:26 -0700 (PDT) Return-Path: Received: from [192.168.0.104] ([207.194.98.112]) by smtp.gmail.com with ESMTPSA id f5-20020a170902684500b0015e8d4eb221sm2546918pln.107.2022.05.15.21.07.26 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 15 May 2022 21:07:26 -0700 (PDT) Subject: getting a single keypress To: GNU Ports for eCS Mailing List Message-ID: Date: Sun, 15 May 2022 21:07:25 -0700 User-Agent: Mozilla/5.0 (OS/2; Warp 4.5; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Trying to fix mpg123's key reading while playing a mp3, things like pause etc. Example program that almost works from the developer, here it hangs and sometimes hangs the system. -----------8<-------------- #include #include #include #include #include #include int term_fd = -1; int get_key(int do_delay, char *val) { fd_set r; struct timeval t; t.tv_sec=0; t.tv_usec=(do_delay) ? 1000 : 0; FD_ZERO(&r); FD_SET(term_fd,&r); int n = select(term_fd+1,&r,NULL,NULL,&t); if(n > 0 && FD_ISSET(term_fd,&r) && read(term_fd,val,1) == 1) return 1; return 0; } int main(int argc, char **argv) { if(argc >= 2) term_fd = open("/dev/tty", O_RDONLY); else term_fd = STDIN_FILENO; if(term_fd < 0) { perror("failure opening terminal input"); return 1; } fprintf(stderr, "terminal fd: %d\n", term_fd); struct termios old_tio; int termsetup = 0; if(!tcgetattr(term_fd, &old_tio)) { fprintf(stderr, "proper terminal setup\n"); struct termios tio = old_tio; tio.c_lflag &= ~(ICANON|ECHO); tio.c_cc[VMIN] = 1; tio.c_cc[VTIME] = 0; tcsetattr(term_fd,TCSANOW,&tio); termsetup = 1; } char val = 0; while(val != 'q') { if(get_key(1, &val)) fprintf(stderr, "got key: %c\n", val); } if(termsetup) tcsetattr(term_fd,TCSAFLUSH,&old_tio); if(term_fd > 0) close(term_fd); return 0; } ------------>8-------------- Ideas or fixes? Dave