From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 20461 invoked from network); 9 Mar 2023 17:44:03 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 9 Mar 2023 17:44:03 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1678383843; b=jID4AC20OBSCtybHaD9bioQ8qFZb9vEj69BN5S526dSjqDc+P8f8dDAOfZw71jbz50spXfGL7l QQblQ0Jz0N9oYA3Y9isrYh4PzVL1a1qIJ9HbpRuPTytFv16HMvmJo529KdXPOr0gmE9IBWwSLa 9Q5f9vb+eS+5ah2xP8f4pe9Zm7ztfuco+HKPieQrmLFxNtZ1l6JvbY75r/GWKIo9TgmqY9ZfiN 2gYJ/KMuXYk9xPHV4oRYUHG+G/HW63TgdmELP/h3HHSARbgOYdyKWdvVIAE8+UOMHvoWoPSvF9 Luoyb+PIak6OJqZhTTJnMB1EbJhO7IZwi15HW+olfXfEww==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-lj1-f174.google.com) smtp.remote-ip=209.85.208.174; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1678383843; bh=c08hUJ4f+V9HUGSBbpTfS4ic6ACzTeIecen3kIPjtM8=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:MIME-Version:Message-ID:Date: Subject:Cc:To:From:DKIM-Signature:DKIM-Signature; b=doE5PQa97iovhXMzztipA//h5mSLoUfCyGyX17LeZ3LaZPiClUh7vf55JDOKJenn/vKykZjzqG mMuIpY7UkhpuYmKHzQZmJ8kchIuiwZ3ukKdzq+zf3AUD7xeOMiC9vcJA99IhCDvPOYubIfvpZu L0Qr6HgtdRTpJ/AoOI5B7gKJSPX3E6x1W+zU+zZ2E1l+Jbb8fcB5xfjnx8m2x3f6wCqL8TMejV QhVl1ombpueePzpPoAaaAI6+oo/b+da7J8FuOdpQd8Sl03tyDXQEVZo3dr3ZCKNnhFSC5yr+rR lbqUEiYW3WBGPpMXXEwEXZuClsJX1yUQA/KD8iCXXrFfWg==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References; bh=lsud1ONyibAQmjxx9RvM6qLbcZGFRdDH3jzJtK5Wc14=; b=jrYmuSyLZvbCz5xrx3+5xCP+Y8 JMcadvt8wm/NjtSPyJrVaWC1t10N4//I1pwOTi1mzEIfz7BoYoyZkcUgPaMm44XDdqjkWjlMwMIcE pC4kXKedSrUFc6itnnXZOfTkO7fcfXnF2PuDqFi1k8aeKnyaXXFTPyD6vg0UruYMn7MpvaUClZa/w qckK+a18sc0Zc6esc1bKn+lZQDw6cyonCKF61j7lzECTvYnguFMdc2x4E3HXuTdlqDhfOocTBMOqv JInA4NsgUP5/u9ETy7cRTrUwjxRnV31CS+4MZRHCLh0JVDBVk8NrPfegTbZhv9fLG/2KNy7AWF1kT C0UZSiLg==; Received: by zero.zsh.org with local id 1paKJ9-000A0C-8W; Thu, 09 Mar 2023 17:44:03 +0000 Authentication-Results: zsh.org; iprev=pass (mail-lj1-f174.google.com) smtp.remote-ip=209.85.208.174; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-lj1-f174.google.com ([209.85.208.174]:39594) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1paKIr-0009gP-ND; Thu, 09 Mar 2023 17:43:46 +0000 Received: by mail-lj1-f174.google.com with SMTP id b13so2671653ljf.6 for ; Thu, 09 Mar 2023 09:43:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678383824; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=lsud1ONyibAQmjxx9RvM6qLbcZGFRdDH3jzJtK5Wc14=; b=bbHSD6ShXZIRDy7gvFl2Mj0FylpdLrmHUPYCqAX+Km4NnpkzsxTMRFf8Qu3TOojKkq 4YjWg3VStfW0sztJhIvCflY0Y/a/TYQ+klEkrMTnNILThapoc4ueabs1xCIWUqTBEN/B DucpqTxXryH5Ticufjpo0GC8bgLyKmKMEZ/hpSyTEYkRgwwVga0im+OH0DjCjyiiTwx2 pS+l9suPfmTnEQ+Sueu8Cr2jXqeCZYFPz0Rajw/5TXoeGcGEnaULqdBBXoKYanBMgi5o nLeV8dHGDYZ3KS4LLHEiVMFrjdsYrT4GP9hwCI8F+trxybahaQg10NdRExo1zkrsC86V JE/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678383824; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=lsud1ONyibAQmjxx9RvM6qLbcZGFRdDH3jzJtK5Wc14=; b=sUith8Oaqy0AVOj3skgC52X454Oer4OKreZPf0RQtQN0CgQjbkdt1fcBMxP+D4/n6Q OK5JvIyadLtUmGCuuiM+h/4XqI5d4uc+oaSJnuH0gbG+Mq49UgJNN4mkhXmWi4Kw69uc 5aqqt9IV5yr/IJyMOyT4JzjdTWb7nXuFyaZQQ/QTDnVNugSFgOKNMNBX4JFUIUjWTBqT C/vKbRtdzC5co9UTuLDaMFyFiowoaRIL43Mu0wvGurmitXvaldmx/0YLtkysD6yJX69a iJaVv/Pob3TqGGOrv8ZQ7B8EdOXbOp8w3ZJPXVkJ7zHm7rwJpM3JvA+9Ja2rKSmrox1L EcbA== X-Gm-Message-State: AO0yUKVN3juDBUCxosw4SyZ9ou0cC6iSqg6zLLeaW8YP9+OGHpLw+XP5 srqZoyazFEOGFBECi4PdzSYzY0QLb9sJmg== X-Google-Smtp-Source: AK7set9u7qYsTYOkY5ob6GGrf21YwLGpW+JDQKQn1+ABzTj83RZ2tNGp8odbadTPgUCsSRakuodRqg== X-Received: by 2002:a05:651c:1722:b0:295:b0a5:f66d with SMTP id be34-20020a05651c172200b00295b0a5f66dmr7218833ljb.23.1678383824491; Thu, 09 Mar 2023 09:43:44 -0800 (PST) Received: from localhost.localdomain ([2a00:62c0:c1e:c900:2814:4cff:fe04:80b]) by smtp.gmail.com with ESMTPSA id f8-20020a2e3808000000b002983bfe65b8sm2513595lja.84.2023.03.09.09.43.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Mar 2023 09:43:44 -0800 (PST) From: Nikita Romanyuk To: zsh-workers@zsh.org Cc: Nikita Romanyuk Subject: [PATCH] correct: add support for colemak layout Date: Thu, 9 Mar 2023 20:43:16 +0300 Message-Id: <20230309174316.11290-1-ufh8945@gmail.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Seq: 51544 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: Colemak is a modern alternative to the QWERTY and Dvorak layouts, designed for efficient and ergonomic touch typing in English. Signed-off-by: Nikita Romanyuk --- Doc/Zsh/options.yo | 8 ++++++++ Src/options.c | 1 + Src/utils.c | 14 ++++++++++++++ Src/zsh.h | 3 ++- 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/Doc/Zsh/options.yo b/Doc/Zsh/options.yo index 443676b..cda4b33 100644 --- a/Doc/Zsh/options.yo +++ b/Doc/Zsh/options.yo @@ -1235,6 +1235,14 @@ Use the Dvorak keyboard instead of the standard qwerty keyboard as a basis for examining spelling mistakes for the tt(CORRECT) and tt(CORRECT_ALL) options and the tt(spell-word) editor command. ) +pindex(COLEMAK) +pindex(NO_COLEMAK) +pindex(NOCOLEMAK) +item(tt(COLEMAK))( +Use the Colemak keyboard instead of the standard qwerty keyboard as a basis +for examining spelling mistakes for the tt(CORRECT) and tt(CORRECT_ALL) +options and the tt(spell-word) editor command. +) pindex(FLOW_CONTROL) pindex(NO_FLOW_CONTROL) pindex(FLOWCONTROL) diff --git a/Src/options.c b/Src/options.c index a1fe918..8f9fe85 100644 --- a/Src/options.c +++ b/Src/options.c @@ -280,6 +280,7 @@ static struct optname optns[] = { {{NULL, "stdin", OPT_ALIAS}, /* ksh */ SHINSTDIN}, {{NULL, "trackall", OPT_ALIAS}, /* ksh */ HASHCMDS}, {{NULL, "dvorak", 0}, DVORAK}, +{{NULL, "colemak", 0}, COLEMAK}, {{NULL, NULL, 0}, 0} }; diff --git a/Src/utils.c b/Src/utils.c index 62bd3e6..b3d09d7 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -4607,10 +4607,24 @@ spdist(char *s, char *t, int thresh) \t\"<>PYFGCRL?+\t\ \tAOEUIDHTNS_\n\t\ \t:QJKXBMWVZ\n\n\t\ +\n\n\n\n\n\n\n\n\n\n\n\n\n\n"; + const char colemakkeymap[] = + "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\ +\t1234567890-=\t\ +\tqwfpgjluy;[]\t\ +\tarstdhneio'\n\t\ +\tzxcvbkm,./\t\t\t\ +\n\n\n\n\n\n\n\n\n\n\n\n\n\n\ +\t!@#$%^&*()_+\t\ +\tQWFPGJLUY:{}\t\ +\tARSTDHNEIO\"\n\t\ +\tZXCVBKM<>?\n\n\t\ \n\n\n\n\n\n\n\n\n\n\n\n\n\n"; const char *keymap; if ( isset( DVORAK ) ) keymap = dvorakkeymap; + else if ( isset( COLEMAK ) ) + keymap = colemakkeymap; else keymap = qwertykeymap; diff --git a/Src/zsh.h b/Src/zsh.h index 40f9ea5..93f3c8c 100644 --- a/Src/zsh.h +++ b/Src/zsh.h @@ -2547,7 +2547,8 @@ enum { XTRACE, USEZLE, DVORAK, - OPT_SIZE + OPT_SIZE, + COLEMAK }; /* -- 2.39.2