751a6b5bc4404e8398b360a925cb95e17be848d8
- Author
- Amir <amir77mafi@gmail.com>
- Committer
- GitHub <noreply@github.com>
- Date
Message
Diff
This diff is truncated to protect this page.
1diff --git a/data/constants/keycodes/extras/keycodes_farsi_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_farsi_0.0.1.hjson
2new file mode 100644
3index 0000000000000000000000000000000000000000..d59b6fab2642cfee4310b3955c44d99bf3b740a8
4--- /dev/null
5+++ b/data/constants/keycodes/extras/keycodes_farsi_0.0.1.hjson
6@@ -0,0 +1,616 @@
7+{
8+ "aliases": {
9+/*
10+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
11+ * │ │ ۱ │ ۲ │ ۳ │ ۴ │ ۵ │ ۶ │ ۷ │ ۸ │ ۹ │ ۰ │ - │ = │ │
12+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
13+ * │ │ ض │ ص │ ث │ ق │ ف │ غ │ ع │ ه │ خ │ ح │ ج │ چ │ │
14+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
15+ * │ │ ش │ س │ ی │ ب │ ل │ ا │ ت │ ن │ م │ ک │ گ │ \ │ │
16+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
17+ * │ │ < │ ظ │ ط │ ز │ ر │ ذ │ د │ پ │ و │ . │ / │ │
18+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
19+ * │ │ │ │ │ │ │ │ │
20+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
21+ */
22+ "KC_GRV": {
23+ "key": "FA_ZWJ",
24+ "label": "(zero-width joiner)",
25+ }
26+ "KC_1": {
27+ "key": "FA_1A",
28+ "label": "۱",
29+ }
30+ "KC_2": {
31+ "key": "FA_2A",
32+ "label": "۲",
33+ }
34+ "KC_3": {
35+ "key": "FA_3A",
36+ "label": "۳",
37+ }
38+ "KC_4": {
39+ "key": "FA_4A",
40+ "label": "۴",
41+ }
42+ "KC_5": {
43+ "key": "FA_5A",
44+ "label": "۵",
45+ }
46+ "KC_6": {
47+ "key": "FA_6A",
48+ "label": "۶",
49+ }
50+ "KC_7": {
51+ "key": "FA_7A",
52+ "label": "۷",
53+ }
54+ "KC_8": {
55+ "key": "FA_8A",
56+ "label": "۸",
57+ }
58+ "KC_9": {
59+ "key": "FA_9A",
60+ "label": "۹",
61+ }
62+ "KC_0": {
63+ "key": "FA_0A",
64+ "label": "۰",
65+ }
66+ "KC_MINS": {
67+ "key": "FA_MINS",
68+ "label": "-",
69+ }
70+ "KC_EQL": {
71+ "key": "FA_EQL",
72+ "label": "=",
73+ }
74+ "KC_Q": {
75+ "key": "FA_ZAD",
76+ "label": "ض",
77+ }
78+ "KC_W": {
79+ "key": "FA_SAD",
80+ "label": "ص",
81+ }
82+ "KC_E": {
83+ "key": "FA_SE",
84+ "label": "ث",
85+ }
86+ "KC_R": {
87+ "key": "FA_QAF",
88+ "label": "ق",
89+ }
90+ "KC_T": {
91+ "key": "FA_FE",
92+ "label": "ف",
93+ }
94+ "KC_Y": {
95+ "key": "FA_GHYN",
96+ "label": "غ",
97+ }
98+ "KC_U": {
99+ "key": "FA_EYN",
100+ "label": "ع",
101+ }
102+ "KC_I": {
103+ "key": "FA_HE",
104+ "label": "ه",
105+ }
106diff --git a/docs/reference_keymap_extras.md b/docs/reference_keymap_extras.md
107index 191e0d4ea8deb1948dfbe6b73efbf4b64ff6c81c..d45183b6c6a17cfc8524c1ebb478192d9011f59d 100644
108--- a/docs/reference_keymap_extras.md
109+++ b/docs/reference_keymap_extras.md
110@@ -33,6 +33,7 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q
111 |English (US International) |`keymap_us_international.h` |`sendstring_us_international.h` |
112 |English (US International, Linux)|`keymap_us_international_linux.h`| |
113 |Estonian |`keymap_estonian.h` |`sendstring_estonian.h` |
114+|Farsi |`keymap_farsi.h` | |
115 |Finnish |`keymap_finnish.h` |`sendstring_finnish.h` |
116 |French |`keymap_french.h` |`sendstring_french.h` |
117 |French (AFNOR) |`keymap_french_afnor.h` |`sendstring_french_afnor.h` |
118diff --git a/quantum/keymap_extras/keymap_farsi.h b/quantum/keymap_extras/keymap_farsi.h
119new file mode 100644
120index 0000000000000000000000000000000000000000..d2689175131536c3007a239fd8778744b9030b8e
121--- /dev/null
122+++ b/quantum/keymap_extras/keymap_farsi.h
123@@ -0,0 +1,171 @@
124+// Copyright 2024 QMK
125+// SPDX-License-Identifier: GPL-2.0-or-later
126+
127+/*******************************************************************************
128+ 88888888888 888 d8b .d888 d8b 888 d8b
129+ 888 888 Y8P d88P" Y8P 888 Y8P
130+ 888 888 888 888
131+ 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
132+ 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
133+ 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
134+ 888 888 888 888 X88 888 888 888 Y8b. 888 X88
135+ 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
136+ 888 888
137+ 888 888
138+ 888 888
139+ .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
140+ d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
141+ 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
142+ Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
143+ "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
144+ 888
145+ Y8b d88P
146+ "Y88P"
147+*******************************************************************************/
148+
149+#pragma once
150+#include "keycodes.h"
151+// clang-format off
152+
153+// Aliases
154+#define FA_ZWJ KC_GRV // (zero-width joiner)
155+#define FA_1A KC_1 // ۱
156+#define FA_2A KC_2 // ۲
157+#define FA_3A KC_3 // ۳
158+#define FA_4A KC_4 // ۴
159+#define FA_5A KC_5 // ۵
160+#define FA_6A KC_6 // ۶
161+#define FA_7A KC_7 // ۷
162+#define FA_8A KC_8 // ۸
163+#define FA_9A KC_9 // ۹
164+#define FA_0A KC_0 // ۰
165+#define FA_MINS KC_MINS // -
166+#define FA_EQL KC_EQL // =
167+#define FA_ZAD KC_Q // ض
168+#define FA_SAD KC_W // ص
169+#define FA_SE KC_E // ث
170+#define FA_QAF KC_R // ق
171+#define FA_FE KC_T // ف
172+#define FA_GHYN KC_Y // غ
173+#define FA_EYN KC_U // ع
174+#define FA_HE KC_I // ه
175+#define FA_KHE KC_O // خ
176+#define FA_HEJ KC_P // ح
177+#define FA_JIM KC_LBRC // ج
178+#define FA_CHE KC_RBRC // چ
179+#define FA_SHIN KC_A // ش
180+#define FA_SIN KC_S // س
181+#define FA_YE KC_D // ی
182+#define FA_BE KC_F // ب
183+#define FA_LAM KC_G // ل
184+#define FA_ALEF KC_H // ا
185+#define FA_TE KC_J // ت
186+#define FA_NOON KC_K // ن
187+#define FA_MIM KC_L // م
188+#define FA_KAF KC_SCLN // ک
189+#define FA_GAF KC_QUOT // گ
190+#define FA_BSLS KC_BSLS // (backslash)
191+#define FA_LT KC_LT // <
192+#define FA_ZA KC_Z // ظ
193+#define FA_TA KC_X // ط
194+#define FA_ZE KC_C // ز
195+#define FA_RE KC_V // ر
196+#define FA_ZAL KC_B // ذ
197+#define FA_DAL KC_N // د
198+#define FA_PE KC_M // پ
199+#define FA_WAW KC_COMM // و
200+#define FA_DOT KC_DOT // .
201+#define FA_SLSH KC_SLSH // /
202+#define FA_SPC KC_SPC //
203+#define FA_DIV S(FA_ZWJ) // ÷
204+#define FA_EXLM S(FA_1A) // !
205+#define FA_THS S(FA_2A) // ٬
206+#define FA_DECS S(FA_3A) // ٫
207+#define FA_RIAL S(FA_4A) // ﷼
208+#define FA_PRCA S(FA_5A) // ٪
209+#define FA_MUL S(FA_6A) // ×
210+#define FA_COMA S(FA_7A) // ،
211+#define FA_ASTR S(FA_8A) // *
212+#define FA_RPRN S(FA_9A) // )
213+#define FA_LPRN S(FA_0A) // (
214+#define FA_TATW S(FA_MINS) // ـ
215+#define FA_PLUS S(FA_EQL) // +
216+#define FA_SUK S(FA_ZAD) // ْ
217+#define FA_DMTN S(FA_SAD) // ٌ
218+#define FA_KSTN S(FA_SE) // ٍ
219+#define FA_FTHN S(FA_QAF) // ً
220+#define FA_DMM S(FA_FE) // ُ
221+#define FA_KAS S(FA_GHYN) // ِ
222+#define FA_FAT S(FA_EYN) // َ