From patchwork Mon Nov 20 04:44:47 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Mendoza-Jonas X-Patchwork-Id: 839422 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3ygGPB6sypz9ryk for ; Mon, 20 Nov 2017 15:45:34 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=mendozajonas.com header.i=@mendozajonas.com header.b="U6AKNnUH"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="A8a/fyk1"; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3ygGPB55sRzDrV0 for ; Mon, 20 Nov 2017 15:45:34 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=mendozajonas.com header.i=@mendozajonas.com header.b="U6AKNnUH"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="A8a/fyk1"; dkim-atps=neutral X-Original-To: petitboot@lists.ozlabs.org Delivered-To: petitboot@lists.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=mendozajonas.com (client-ip=66.111.4.28; helo=out4-smtp.messagingengine.com; envelope-from=sam@mendozajonas.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=mendozajonas.com header.i=@mendozajonas.com header.b="U6AKNnUH"; dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="A8a/fyk1"; dkim-atps=neutral Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3ygGNT0wlczDrVB for ; Mon, 20 Nov 2017 15:44:56 +1100 (AEDT) Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id C20F7209F9; Sun, 19 Nov 2017 23:44:54 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute2.internal (MEProxy); Sun, 19 Nov 2017 23:44:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= mendozajonas.com; h=cc:date:from:message-id:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=TOKUVghgPGFYfKmIT 6vwM/ir8HQI5OQ6F9cSMHMCouo=; b=U6AKNnUHelvBv+ZUevjV5qrWQBh9+oAyh MmJzoZDsDryrNZrISFx2kzDVdnBGuRk1AZtnzIJseaFfpBAXxMMzBaePeN38YbXX CykIpuhCLh6mMgGwOIROuBb1ks+Ck5Kb0LOzZrOZ/sHpMbiR7ICQ5FBIQJRuqdr0 NFp6F0RoXgLY+rN8ddURqxCtBe1b1GM78UN/UxtWVS+6tPM26g/wzxIHiRzjfGbO /V8pXoPUHvE2zac8EinM0poJHXywmZr3iOW/L/d0lgghMeHxflEbII3wnV/ODDyS 1aViwOK9i60TAs+cRkINsOLVrMA7rt22ZSg8BlZ2vrj03H+FKiBLQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:message-id:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=TOKUVghgPGFYfKmIT 6vwM/ir8HQI5OQ6F9cSMHMCouo=; b=A8a/fyk1DUsl3dDP9qIkwHcNXbVHBDyex P0E6+Z6bBZEEMieSIWHIcXu8FfMAyDTmNxQP/5n8uk8wTC/5pkvqYQbvfDGNBWp2 Cn+O1FQjRvaXDH1ItRZklB4thRQMdWYXt5k0z9AtD7kwOACy8TMrU8QEaRwhuQbt vfi2bf6x1jieuKx39WwzueTawntfK66TFqTdZkB/WrviY6CDPKhTzJd4M0t3TnY9 WQsT7FUFLxNUOJZ/yfAadhTBoeKOOE+gvvMX4TroVpETpCOC0dKDGm+whjoEW7Om 2IdNplj34JjjH28M+noqJFalPYRMEb0x1/FQgWfq+e6VzT9e4sLtQ== X-ME-Sender: Received: from v4.ozlabs.ibm.com (unknown [122.99.82.10]) by mail.messagingengine.com (Postfix) with ESMTPA id 9F13F24CD0; Sun, 19 Nov 2017 23:44:53 -0500 (EST) From: Samuel Mendoza-Jonas To: petitboot@lists.ozlabs.org Subject: [PATCH] ui/ncurses: Handle arrow key variants Date: Mon, 20 Nov 2017 15:44:47 +1100 Message-Id: <20171120044447.32199-1-sam@mendozajonas.com> X-Mailer: git-send-email 2.15.0 X-BeenThere: petitboot@lists.ozlabs.org X-Mailman-Version: 2.1.24 Precedence: list List-Id: Petitboot bootloader development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Samuel Mendoza-Jonas MIME-Version: 1.0 Errors-To: petitboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Petitboot" In the vt100 'application' cursor mode arrow keys produce ^[Ox rather than the usual ^[[x. Add this pattern to our defined keys so we don't accidentally catch the escape key. For reference: http://www.tldp.org/HOWTO/Keyboard-and-Console-HOWTO-21.html Signed-off-by: Samuel Mendoza-Jonas --- ui/ncurses/nc-cui.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ui/ncurses/nc-cui.c b/ui/ncurses/nc-cui.c index 8060510..64b1f64 100644 --- a/ui/ncurses/nc-cui.c +++ b/ui/ncurses/nc-cui.c @@ -98,8 +98,18 @@ static void cui_start(void) define_key("\x1b\x4f\x46", KEY_END); define_key("OH", KEY_HOME); define_key("OF", KEY_END); + + /* Arrow keys in normal cursor mode */ define_key("\x1b\x5b\x41", KEY_UP); define_key("\x1b\x5b\x42", KEY_DOWN); + define_key("\x1b\x5b\x43", KEY_RIGHT); + define_key("\x1b\x5b\x44", KEY_LEFT); + /* Arrow keys in "application" cursor mode */ + define_key("\x1b\x4f\x41", KEY_UP); + define_key("\x1b\x4f\x42", KEY_DOWN); + define_key("\x1b\x4f\x43", KEY_RIGHT); + define_key("\x1b\x4f\x44", KEY_LEFT); + define_key("\x1b\x5b\x33\x7e", KEY_DC); while (getch() != ERR) /* flush stdin */