From patchwork Fri Feb 14 10:07:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 865205 Received: from MA0PR01CU009.outbound.protection.outlook.com (mail-southindiaazolkn19010015.outbound.protection.outlook.com [52.103.67.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 71DEF22CBDC; Fri, 14 Feb 2025 10:07:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.67.15 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739527648; cv=fail; b=YYtrqza4T19IwlLqTTbDldvi41y+Y3RiW8CRARBGv4J8MJr8/wRKXQCzNiykzuoJDqtwpub6sVJz8V0i+fw8Llfd7LyHy96KkfNnqGOtqUMepmffcLIKdDCxSH652phTKF6ypEe3c/OkAL+5b/zHdi/PeL8ifXu6Y5SIXJ5eoZU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739527648; c=relaxed/simple; bh=UvQ/yw+f8qekbNOh3nQsZdSRqPXrNxZOPSyJ33/2/0Y=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=uI6kl7/K4fUmwOQ0suNP4PmJljtOZjT2k72jNdQAxf/9FJ3WeNDvvgloydbTfPsPv33Q67yNGJXGUVzxxUJrg5Nxo92XrCHUqa38O0jGyfbJ2Tqx3GZGSB15ydDHsQaf/KgPvLe1UhQHmnSClmDKgevYhF3O+7zMo/uBNQcpeLM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=live.com; spf=pass smtp.mailfrom=live.com; dkim=pass (2048-bit key) header.d=live.com header.i=@live.com header.b=GtjqQEhr; arc=fail smtp.client-ip=52.103.67.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=live.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=live.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=live.com header.i=@live.com header.b="GtjqQEhr" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=k8ntgojXAxEtlghQ2GwzQlRYxtRprF07UYejInQzAk4ifmbi5zaQTd66cvNkMUZ2dAyKetjN/2OApJzS8pjy/v16OT/A8K18zlXJQW5DokktRpJJKiQn6PBmkm9XxEOQBMeZldQxngjiIzHo2JaXLLbEltx9IkLd6HlU4tvMn7k169dZ5f5CGJVRsoTCpuQBlw9w/n8LF/nWrN42pfm+sSwxVWByxZuJlhc7JmvMYW8itmd8J3n/ReGynijVRXxWN4tXdLB7EtRIlWEoqJXi2JCL0JVkrkZgIMULlR3m5hBhbDRunxCEV3yYvvrpHXnzpr5dUmaZl12P3WTKFpIQMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=ItwaqomeXXfXTD3OCr4OIQlSxlc2adn+czrpV+564ZE=; b=LzmfiMV7AwixULSHJbQhJhhlHbxHeQ35pl2mbdb27B6HHab5wTfGIl696ux9O0EBtR9x7Bp1wl/PHHsavzTSZY9vS/GpOLkz+dEobS5uaUVe9ubvOQTclSEFdWVFuiLD82BSw1nt6lnEsUS/A1/xxKDmMQKIo3Ul3HX0xyD+xatdsU49iEoJuOGIr+G42HT51y8nE2tMsK6/kwAYABdrS9fGLB3jiE/qGC9XpybuwcNkiavHTxM/RZH7aYpbTJ8MgmzQq9k9Q09D4GUspnBQYUqjfijdMx5fLIe35mu8V/z6b/lzecjrgdpXDMJDeeKYpuK+7H3EXHBL8hx37mirWg== 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=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ItwaqomeXXfXTD3OCr4OIQlSxlc2adn+czrpV+564ZE=; b=GtjqQEhrrQXqRVjm3wmjleWJ2Xzqp7BW/kBeN9gpuemnZwTuUEAyHe1J6gyEQykb9J8SG6aElzKa6ZY1rEk7mjZ3OMDChgbdFWVPJszGWapqKCJHw0rxuk2Y+adXGIx0g0drESAOSiiJCrWwtqr40MBlDPHZXS5u03epkXPfk9A52lebi8ykXbFYGBh4bYwzELF1uEi8d2XE3iOBgsxyRTSFmTy9OEJxPWqFfsuxNXhh60pkWdegz+BPyLNgpkjhmchrExb92fIUXNnybt2lQxhj7E+wAbK0xXWnNWWCqlgfMVyznqDfHaQT5omWtbZshu+XjsXiBVbNJza5TCRJVg== Received: from PN3PR01MB9615.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:107::8) by MA0PR01MB10024.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:ea::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.15; Fri, 14 Feb 2025 10:07:21 +0000 Received: from PN3PR01MB9615.INDPRD01.PROD.OUTLOOK.COM ([fe80::8bdf:4c57:be81:7866]) by PN3PR01MB9615.INDPRD01.PROD.OUTLOOK.COM ([fe80::8bdf:4c57:be81:7866%3]) with mapi id 15.20.8445.016; Fri, 14 Feb 2025 10:07:21 +0000 From: Aditya Garg To: Jiri Kosina , "jkosina@suse.com" , "jkosina@suse.cz" , Benjamin Tissoires , "bentiss@kernel.org" CC: Alex Henrie , "jose.exposito89@gmail.com" , "bruners@gmail.com" , "seobrien@chromium.org" , Linux Kernel Mailing List , "linux-input@vger.kernel.org" Subject: [PATCH v2 3/4] HID: apple: simplify logic for swapping only left sided option and command keys Thread-Topic: [PATCH v2 3/4] HID: apple: simplify logic for swapping only left sided option and command keys Thread-Index: AQHbfsg86PLYS+NsLk6zNloPDQHW8A== Date: Fri, 14 Feb 2025 10:07:20 +0000 Message-ID: <0DE60F20-1000-405B-99D7-70DB51A27BD2@live.com> References: In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PN3PR01MB9615:EE_|MA0PR01MB10024:EE_ x-ms-office365-filtering-correlation-id: ac2860a8-633e-4ccf-f450-08dd4cdf5ee2 x-microsoft-antispam: BCL:0; ARA:14566002|19110799003|8062599003|8060799006|461199028|7092599003|15080799006|440099028|3412199025|102099032; x-microsoft-antispam-message-info: Vl34mFngs3ekXMndR0Ipwzn8gRU8TF7gXaltaZKaO51K73UhrXQsIvx6GHbixksgCZTESvQ8pVst691ov7yG4TLUGyq/5lmEXye8zU/oJKRDRWM6Ob73Ll2WOwVAAZyupdKJcMobtPkhwi1ezU1tvi5Amed+HdD1P6kw7EPNEmK/k/kIdlwtiJmh2fRf7V8Mv2g+tKdnsGWNOogK0fCbEDfMlsy1YWl2Om5n37VHWGwGbkn6g1Sua7U4GLuBppApTivKyxgQN5UO37Bb7wZ8tvOzKK7KPxDbIrzaXD2fDvVNeGz+DIiNTN9lMP8ZXn894goJ5mw88ooM4twxzPS1G5bfceAlq6Rh+iVWDrSGDRDqoDaeQg2VQRgcbBkbkOsUU67r4TsKqvOMFpy2Joe71oSqwUixswaw9+/hqtBXBOEwrsTavQefdDSHOuMHZHR5r43P3GneFehgxqK6yGRUeFE9rQ24i/6MynMN+Mh2+oJOjtdTc4tU1lvp07UffLLoUI8QUKOxnh15zcE2S5xncsKd6+yFl1QOZi58X0UtXuQEZiSN3hYaCP/Tiw26KaAxbibmU4T4ZOKUMYBC1NhVsQGZqoZmyKpxjACO2d5CbaqMKVW9QAQ2sUdlND9R2x/gBUD+HSF1Aa1mmcimgkkL2MfN4drCoY+4IUqtezfjXDRyJViId+aNLZ6tmI0eU81d4kDvR3vNSvWzk6N0WDNCg8ForPvvZXFWoK9f4HsIAlQHh3OamyXC0t76XTEbngF0Cce/xS49O/Xgr4wrrzlSJ6T/A4pDA4IFwRokVgxGX869HmWcQPKOwWyx0p1LhMVH+6PaVeFi+csqAJQlwPinbv74ezblvaZEwQvVgW05tNgvNdIpTR3uOFDNSsJzc1VojPMYHmrOHN3jFuUqKUSyiufN3T9dig2JL8xUxouGguG3cKvWavpZ7lotuSVDfGzsxbKaPJ7Y1oLQtlElPlhjHBRmnqfDXyyAUJCJLL5Qf3QB+UEWrqaSP483dMFH0/+qGAb4HPnVKU63OR7Xvak3WiGwJX0wrTLO29VzrLW7e7G+ywQnEO7vxYlQqEvih7fu3Yf3EljEY0ht0RxTNWs5Vg== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: I8Q6O8qLPuleP4nWs5ZDQ7NqeIw6V09oGfTIrlHtbu3+smeof8QCOJ1FPTgpB83dncPeVyTFacIQq0m0exjlGEqa957O2qHJ1emzCgGUSFcLfvqJ3emzOEWpRhN+Lfbr1d2jxKSkihWTdT2eSzJKljtsHL5jTqOlYxdE2Q34BJyf82vB1smjk7RkncduRBZy3IpUapCCl3iDEWEvNtgoBH1CzPjbYMWmNmfSAE7UDhHqVxkY9XOI6JwONSgNw6AnfLi43Qv6nIlzTnzGeA4P9AEbSXsKV8QvpCsVWY3eMOQR8r2vvfPTfrcDLDipzFwESgW7zh2iDQh9iC5fcX8xCNa1YKG3nzIiSYkrsclePXRij44wzTZy5YSX/M89l+Jm05PKS/w5hrILWAEsA04yUU0tzbaeZUjCYwreqw+DAQuqPjxrQ+rmipzeuzn8LyE1s8whkRZvSRPdCHruiUkxcvoQptLEEX3Z30TA/ZxerPrx2XrS74BPJ4U7B7RnAQ2RebSmt1fKVejC+qNXM+j5PtyMpRkO/rbmnqlXcUhPdW31avWu07ThYZR80wuR377WFGZQ2hatIpjzsbvoZx0SY+YyFwI8tWg7iGe2WQ32GgkwQRu1DWgo7BJRFu+QEk87I3kMM3OGaz7bNUvCebTfNwqZg5+FjbMuhljSUBIYLeiIZlnw2vVf4gSP4Cy7kUd5AjYwNwo3q2f8kueHwQ7pM48igNpCONFZTaH6tXrA4Nc1euxAr9y82Rup+WQDtB19H//gE5T9Z5o1KmOjiZInj6XS697X5qV2r0NHZkEK4dJygF8bvkhA4adPnikEbrre7pfAPjGSdUHakMdHgowQ+5luD7xFLGd/Ltfjdb+jPTZzl3HuqnP6ore47Vs/7LYk+R6JRaJpv/l2dmiueJRSeZ9Qlv9Oj6DvzCfBdZGKPtVbiQq1YFTgWrKdENT+g+o9wFdkLIXnrrbDbpaP2BkP1jsrhjaEGAdkpWtkuW2xEeRP6W33Fx0/d911FXC4qYhZ3ArAWUoPSLxOgKZSWwTB10eM/q6Lpd+QbXOa6k1J3Z+gTZSEeMTOkAQ3987PowCZF5uLMmME1rV4Hdh873V497QZiBNh28f6bjy3bZmBvgkeK6i7wzgxzcpedKwfmRzzOLCzM3NPrhOJClt6pWYen8hSZB+Atf8tEeSktf2vlPyb/uPepX93KD5cCDC99OWNc+WKLTlH1u7elq22yfCF+gCKmbqTglawOxkk2rMWVJtPDvg2ZX7jgU4pKgeEYpPxvGcpqPmxKbf1kvgiD5LHI/gOzv9+JUna4pODoktdjoUF00NKR8ggXdTMFxW6v6dI Content-ID: <910969BB7EFAA84EB02C3B58A98A458F@INDPRD01.PROD.OUTLOOK.COM> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-ae5c4.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PN3PR01MB9615.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: ac2860a8-633e-4ccf-f450-08dd4cdf5ee2 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Feb 2025 10:07:20.9398 (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: MA0PR01MB10024 From: Aditya Garg In order to swap only left sided option and command keys a separate table was in use. This commit makes use of the APPLE_FLAG_DONT_TRANSLATE flag to remove the need of such separate tables. Signed-off-by: Aditya Garg --- drivers/hid/hid-apple.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c index ca462e483..c672ffc97 100644 --- a/drivers/hid/hid-apple.c +++ b/drivers/hid/hid-apple.c @@ -285,14 +285,8 @@ static const struct apple_key_translation apple_iso_keyboard[] = { static const struct apple_key_translation swapped_option_cmd_keys[] = { { KEY_LEFTALT, KEY_LEFTMETA }, { KEY_LEFTMETA, KEY_LEFTALT }, - { KEY_RIGHTALT, KEY_RIGHTMETA }, - { KEY_RIGHTMETA, KEY_RIGHTALT }, - { } -}; - -static const struct apple_key_translation swapped_option_cmd_left_keys[] = { - { KEY_LEFTALT, KEY_LEFTMETA }, - { KEY_LEFTMETA, KEY_LEFTALT }, + { KEY_RIGHTALT, KEY_RIGHTMETA, APPLE_FLAG_DONT_TRANSLATE }, + { KEY_RIGHTMETA, KEY_RIGHTALT, APPLE_FLAG_DONT_TRANSLATE }, { } }; @@ -399,12 +393,9 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input, } if (swap_opt_cmd) { - if (swap_opt_cmd == 2) - trans = apple_find_translation(swapped_option_cmd_left_keys, code); - else - trans = apple_find_translation(swapped_option_cmd_keys, code); + trans = apple_find_translation(swapped_option_cmd_keys, code); - if (trans) + if (trans && !(swap_opt_cmd == 2 && trans->flags & APPLE_FLAG_DONT_TRANSLATE)) code = trans->to; }