From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?Andr=C3=A9s_Ram=C3=ADrez?= Newsgroups: gmane.emacs.help Subject: how to genererate 'C-x @ c' from within a custom keymap Date: Thu, 21 Jul 2022 18:51:56 +0000 Message-ID: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35523"; mail-complaints-to="usenet@ciao.gmane.io" To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Fri Jul 22 06:23:48 2022 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oEkCZ-00097T-Nz for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 22 Jul 2022 06:23:47 +0200 Original-Received: from localhost ([::1]:47698 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oEkCY-0008TB-Hu for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 22 Jul 2022 00:23:46 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53480) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEbMZ-0004M1-Mk for help-gnu-emacs@gnu.org; Thu, 21 Jul 2022 14:57:31 -0400 Original-Received: from mail-dm6nam04acsn20805.outbound.protection.outlook.com ([2a01:111:f400:7e8b::805]:35857 helo=NAM04-DM6-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oEbMT-0005hZ-8n for help-gnu-emacs@gnu.org; Thu, 21 Jul 2022 14:57:30 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VdXBjQMF5iuBzxqfedB3mNbbKm9TOkHY/zoY12fquVfak1Y6v8Rk1IrpAfgKmKGWNTyCuKSq6zaSEfXJGRuFSAzGdVR2i3vHKYFor9poq0kzCLfAAKSgfnYGFpdngWBYATXNZpb1mN/XpD5ql5dARe/pDsUWsKVufb603js53+Tbq2xjmxK3/R764yTd+k/PBH+kv3oAeL9TbeQLD3ngrDxFEHgqEd3KUaDzLC9L67NuMFkHXssPAFJUljhvDFJf9TyM9GRhebP5ZXEetqPIafjFYxp6+Ju/4kEnRPpk6oDqp8GKv2YhvpK/cE+T+ogRBTXuWhXHa9HRsfe2GGkXBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZoS/l2KaipGXqhYw+WJTodSAAXcFInri+RuTpzzdDh8=; b=cgqJcOkzlL2UgzJ0gcKj4IMumO+zBQQ9GWdOlt4skrf47+bWRRWkDngxl0gKkNuFzAUBi3fNAS2f3irx9YHY2UGtR9TA7TQuFAYLD/yKAPaI0OWSLshyAaGarUFHVXmO2nI/yr6lpW9M1MvLXphz8PslPmyK/5D8lfxIv3qOgd9lZOPB6xifHo0bNSZvvisj4g5jKRvrLEMpurZYpSJoBkwVbzXO+cpX7Pz7oz5KvveKho09db1/q5bBth4O9h+mzttCU24we7dlNpjTyM2e0u0F3zjkNWN+5VPyubGe6Ch9Kz9XdP+qz0AFDdw7c8reSax8Ny2otwnTm1PX7i6k9g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZoS/l2KaipGXqhYw+WJTodSAAXcFInri+RuTpzzdDh8=; b=eYQ1zKl3wohd1XYWJE4hmYuBWv284oeexNmFHibCCNuIZrueht7cvpYMGHpHhMa9qL9qSgloSrJ8vzHuIpinnqpBU2fLCPEAs9TmnS0x9emfj7z600C9F96uQA4GUMEaax5HdrYfm5AgHHJaXiSQ2J2KTd7dhD6cZ8vGj+l1taJ1NWs2hMpmzoMvde0Sqi7KTaTK3tVL/zwyvMpGE0hfIfci/W0Ib6iVrsVWpunL3hRFmYB5INIrZSnlxW1iWhIy5FyX+SOAc8MIYzOZr7m60qVDYBsB01DtoiQpDkm6+QZvvr2RmRG1cZBNeNV38m94e2GcTVxvFbIrotWKgND3kA== Original-Received: from DM6PR03MB3803.namprd03.prod.outlook.com (2603:10b6:5:42::23) by CO1PR03MB5698.namprd03.prod.outlook.com (2603:10b6:303:9f::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.15; Thu, 21 Jul 2022 18:52:10 +0000 Original-Received: from DM6PR03MB3803.namprd03.prod.outlook.com ([fe80::b124:b679:c1e6:39c4]) by DM6PR03MB3803.namprd03.prod.outlook.com ([fe80::b124:b679:c1e6:39c4%6]) with mapi id 15.20.5438.023; Thu, 21 Jul 2022 18:52:10 +0000 X-TMN: [MBpYtNRQwOInWvVp3zpgzrxciDAk+/dK] X-ClientProxiedBy: SC1P152CA0037.LAMP152.PROD.OUTLOOK.COM (2603:10d6:1:1::12) To DM6PR03MB3803.namprd03.prod.outlook.com (2603:10b6:5:42::23) X-Microsoft-Original-Message-ID: <86r12efgdv.fsf@hotmail.com> X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0d798542-5ee5-415c-00fc-08da6b4a1dc5 X-MS-TrafficTypeDiagnostic: CO1PR03MB5698:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Z1KajW/aAEcjZ6BeKOzXyQewfCh3QTtAoMoMMfriNYwAMET2DGkcB5KzUVox1Q3VndBbjIaCljX19M+lewprNh28rjkzgll8Epj8N/t7uFpjtaifDukbMGJtprkzk/MuKHHSQDjdG/v84q64glBTrkpuA+uoZpeJeAVdvNvVV18dpAFOYd8ZHMbW260lZlYlI1GGSOA0J6Rt7zznMEfnOWr98LikoD2FcueYxwB7swqMBl4McphRYcG7X0CdGsZcNN4qEcQij8uG3ddXZ9pZVrLzYg/dblNgJFjTEs1cROh49nctlSMrbLyFuYxWNQLikwKb7eXscXVTyNIJ033MuJwWfja6/lRmlQ0RVh2kxam9e2c6K0IeElZD/8MSEJ1hmE9B7oCy/mjaaO/AdO952dIpXOk2xOIkwOmyyFbTJNj1X4/ku5smtiShiOFbn5Tx+/gYLe2gT1qO6F4L91Etr3OX1p9pPkoViLPKfzpEiSgoCxW7+aLkWp5X1+rWBGPfJ+BvPqaD8W4JJIcSj+jdL5vHrwTr+CzpOOCg0ZFZf0/sIVjgWCCIadBvECzzb0jGSi65D/JpBMF19tNFFf+Qk0DW1A2VLSrhTA2sM2yWo8+mZbNTkeb9eMkoaQA7hLQJf5G8XBN0n4Yr20SYaS6kuA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zWaSOXInfz2DZscVS/e0OXLEm5V34/FDW8IMBaPlj5Ngjgzu/UYTdTVWVJ5E?= =?us-ascii?Q?3R155PWRQL4aLeUnOwoBE7BN0Cm8eBLammtHER/uJQ4gDyBQxyE2bQpIe+cV?= =?us-ascii?Q?UlZYwLVGP8/EOTh61ViqHNIo+qEvF8d1jPDao2mbIOVSygALZkWXz1Jbwnjx?= =?us-ascii?Q?KmFCp8fcrTPhyLCneN9/0xem+0gjcsVdh2h5YqBHASElg0zS7sH+Q7uICQup?= =?us-ascii?Q?zUOfwuz6L3P6M+cD1tzEpmcHLBVjEbR99re3CqqI9N8FgnPVPvuMTq65z+qw?= =?us-ascii?Q?toKAL3bRjwLzSVuRP9MS//7E9mro/+FPYuBs0NA8mx83cjPVvcU3QiV7S+8l?= =?us-ascii?Q?qOc1JnWyBY/q9B9FhsrnQzOKr7eeeSesN3uo0uaeRHewDFBVHpF9N2yV6EjA?= =?us-ascii?Q?bLqkRT2NSVRy53SFvYmfpru1VMoz/8huxxyFq3CPK73Ll1TpDBey8FpPRoPl?= =?us-ascii?Q?j5ucs0atfY65LQGDgeg857h5EjLTE0kQHwVyPPJADQRpIpfmB68UUJIO65hw?= =?us-ascii?Q?x5/ifeVWcy0xXiWPTgiGO2Ry3RamsQexYWkNs1HIaxjAd2cCiUb3+SZybj4K?= =?us-ascii?Q?t/VbngUzA3NhI4xp1/tbgfbvqBdws/L8i3KHrGSc0PFvaxIvvvKM1P+rV96x?= =?us-ascii?Q?A/ X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-685f7.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 0d798542-5ee5-415c-00fc-08da6b4a1dc5 X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB3803.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jul 2022 18:52:10.3798 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5698 Received-SPF: pass client-ip=2a01:111:f400:7e8b::805; envelope-from=rrandresf@hotmail.com; helo=NAM04-DM6-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 22 Jul 2022 00:22:40 -0400 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:138563 Archived-At: Hi. Sometimes I should use a bluetooth keyboard without the Right control key (cos it is absent on this model). So. When I need to press the Right Control key for doing C-a or C-e. I end doing 'C-x @ c'. So far so good. Pressing C-x is very difficult. So that should be fixed. Trying to fix it. Ended with this: --8<---------------cut here---------------start------------->8--- (global-set-key (kbd "M-h") (lambda () (interactive) (emacsstacko/call-keymap ik-launch-keymap "*Your-key*?:"))) --8<---------------cut here---------------end--------------->8--- JIC. I am not the author of this function. ,---- [ ] | (defun emacsstacko/call-keymap (map &optional prompt) | "Read a key sequence and call the command it's bound to in MAP." | ;; Note: MAP must be a symbol so we can trick `describe-bindings' into giving | ;; us a nice help text. | (let* ((overriding-local-map `(keymap (,map . ,map))) | ;(help-form `(describe-bindings ,(vector map))) ; conflicts with C-h | (key (read-key-sequence prompt)) | (cmd (lookup-key map key t))) | (if (functionp cmd) (call-interactively cmd) | (user-error "%s is undefined" key)))) | `---- And I also have this: --8<---------------cut here---------------start------------->8--- (defvar ik-launch-keymap (make-sparse-keymap)) ;;; below works. But needs xdotool (define-key ik-launch-keymap "c" (lambda () (interactive) (shell-command-to-string "xdotool key ctrl+x; xdotool type @c"))) (define-key ik-launch-keymap "o" 'other-window) (define-key ik-launch-keymap "x" (lambda () (interactive) (run-at-time nil nil #'call-interactively 'execute-extended-command))) --8<---------------cut here---------------end--------------->8--- I want to replace the use of xdotool. How I should I emulate the pressing of 'C-x @ c'. From within this custom keymap?. I have tried a couple of things without success. (define-key ik-launch-keymap "c" 'event-apply-control-modifier) And Also I have wrapped 'event-apply-control-modifier within an interactive function. Best Regards ps: btw this one works. But very difficult to press. (define-key key-translation-map (kbd "M-i") 'event-apply-control-modifier)