1*2b949d04SAndroid Build Coastguard Workerdefault hidden partial keypad_keys 2*2b949d04SAndroid Build Coastguard Workerxkb_symbols "x11" { 3*2b949d04SAndroid Build Coastguard Worker 4*2b949d04SAndroid Build Coastguard Worker include "keypad(operators)" 5*2b949d04SAndroid Build Coastguard Worker 6*2b949d04SAndroid Build Coastguard Worker key <KP7> { [ KP_Home, KP_7 ] }; 7*2b949d04SAndroid Build Coastguard Worker key <KP8> { [ KP_Up, KP_8 ] }; 8*2b949d04SAndroid Build Coastguard Worker key <KP9> { [ KP_Prior, KP_9 ] }; 9*2b949d04SAndroid Build Coastguard Worker 10*2b949d04SAndroid Build Coastguard Worker key <KP4> { [ KP_Left, KP_4 ] }; 11*2b949d04SAndroid Build Coastguard Worker key <KP5> { [ KP_Begin, KP_5 ] }; 12*2b949d04SAndroid Build Coastguard Worker key <KP6> { [ KP_Right, KP_6 ] }; 13*2b949d04SAndroid Build Coastguard Worker 14*2b949d04SAndroid Build Coastguard Worker key <KP1> { [ KP_End, KP_1 ] }; 15*2b949d04SAndroid Build Coastguard Worker key <KP2> { [ KP_Down, KP_2 ] }; 16*2b949d04SAndroid Build Coastguard Worker key <KP3> { [ KP_Next, KP_3 ] }; 17*2b949d04SAndroid Build Coastguard Worker key <KPEN> { [ KP_Enter ] }; 18*2b949d04SAndroid Build Coastguard Worker key <KPEQ> { [ KP_Equal ] }; 19*2b949d04SAndroid Build Coastguard Worker 20*2b949d04SAndroid Build Coastguard Worker key <KP0> { [ KP_Insert, KP_0 ] }; 21*2b949d04SAndroid Build Coastguard Worker key <KPDL> { [ KP_Delete, KP_Decimal ] }; 22*2b949d04SAndroid Build Coastguard Worker key <KPPT> { [ KP_Decimal, KP_Decimal ] }; 23*2b949d04SAndroid Build Coastguard Worker}; 24*2b949d04SAndroid Build Coastguard Worker 25*2b949d04SAndroid Build Coastguard Workerhidden partial keypad_keys 26*2b949d04SAndroid Build Coastguard Workerxkb_symbols "overlay" { 27*2b949d04SAndroid Build Coastguard Worker include "keypad(overlay1)" 28*2b949d04SAndroid Build Coastguard Worker}; 29*2b949d04SAndroid Build Coastguard Worker 30*2b949d04SAndroid Build Coastguard Workerhidden partial keypad_keys 31*2b949d04SAndroid Build Coastguard Workerxkb_symbols "overlay1" { 32*2b949d04SAndroid Build Coastguard Worker 33*2b949d04SAndroid Build Coastguard Worker key <KP7> { [ KP_Home ], overlay1=<KO7> }; 34*2b949d04SAndroid Build Coastguard Worker key <KP8> { [ KP_Up ], overlay1=<KO8> }; 35*2b949d04SAndroid Build Coastguard Worker key <KP9> { [ KP_Prior ], overlay1=<KO9> }; 36*2b949d04SAndroid Build Coastguard Worker 37*2b949d04SAndroid Build Coastguard Worker key <KP4> { [ KP_Left ], overlay1=<KO4> }; 38*2b949d04SAndroid Build Coastguard Worker key <KP5> { [ KP_Begin ], overlay1=<KO5> }; 39*2b949d04SAndroid Build Coastguard Worker key <KP6> { [ KP_Right ], overlay1=<KO6> }; 40*2b949d04SAndroid Build Coastguard Worker 41*2b949d04SAndroid Build Coastguard Worker key <KP1> { [ KP_End ], overlay1=<KO1> }; 42*2b949d04SAndroid Build Coastguard Worker key <KP2> { [ KP_Down ], overlay1=<KO2> }; 43*2b949d04SAndroid Build Coastguard Worker key <KP3> { [ KP_Next ], overlay1=<KO3> }; 44*2b949d04SAndroid Build Coastguard Worker 45*2b949d04SAndroid Build Coastguard Worker key <KP0> { [ KP_Insert ], overlay1=<KO0> }; 46*2b949d04SAndroid Build Coastguard Worker key <KPDL> { [ KP_Delete ], overlay1=<KODL> }; 47*2b949d04SAndroid Build Coastguard Worker 48*2b949d04SAndroid Build Coastguard Worker key <KO7> { [ KP_7 ] }; 49*2b949d04SAndroid Build Coastguard Worker key <KO8> { [ KP_8 ] }; 50*2b949d04SAndroid Build Coastguard Worker key <KO9> { [ KP_9 ] }; 51*2b949d04SAndroid Build Coastguard Worker 52*2b949d04SAndroid Build Coastguard Worker key <KO4> { [ KP_4 ] }; 53*2b949d04SAndroid Build Coastguard Worker key <KO5> { [ KP_5 ] }; 54*2b949d04SAndroid Build Coastguard Worker key <KO6> { [ KP_6 ] }; 55*2b949d04SAndroid Build Coastguard Worker 56*2b949d04SAndroid Build Coastguard Worker key <KO1> { [ KP_1 ] }; 57*2b949d04SAndroid Build Coastguard Worker key <KO2> { [ KP_2 ] }; 58*2b949d04SAndroid Build Coastguard Worker key <KO3> { [ KP_3 ] }; 59*2b949d04SAndroid Build Coastguard Worker 60*2b949d04SAndroid Build Coastguard Worker key <KO0> { [ KP_0 ] }; 61*2b949d04SAndroid Build Coastguard Worker key <KODL> { [ KP_Decimal ] }; 62*2b949d04SAndroid Build Coastguard Worker}; 63*2b949d04SAndroid Build Coastguard Worker 64*2b949d04SAndroid Build Coastguard Workerhidden partial keypad_keys 65*2b949d04SAndroid Build Coastguard Workerxkb_symbols "overlay2" { 66*2b949d04SAndroid Build Coastguard Worker 67*2b949d04SAndroid Build Coastguard Worker key <KP7> { [ KP_Home ], overlay2=<KO7> }; 68*2b949d04SAndroid Build Coastguard Worker key <KP8> { [ KP_Up ], overlay2=<KO8> }; 69*2b949d04SAndroid Build Coastguard Worker key <KP9> { [ KP_Prior ], overlay2=<KO9> }; 70*2b949d04SAndroid Build Coastguard Worker 71*2b949d04SAndroid Build Coastguard Worker key <KP4> { [ KP_Left ], overlay2=<KO4> }; 72*2b949d04SAndroid Build Coastguard Worker key <KP5> { [ KP_Begin ], overlay2=<KO5> }; 73*2b949d04SAndroid Build Coastguard Worker key <KP6> { [ KP_Right ], overlay2=<KO6> }; 74*2b949d04SAndroid Build Coastguard Worker 75*2b949d04SAndroid Build Coastguard Worker key <KP1> { [ KP_End ], overlay2=<KO1> }; 76*2b949d04SAndroid Build Coastguard Worker key <KP2> { [ KP_Down ], overlay2=<KO2> }; 77*2b949d04SAndroid Build Coastguard Worker key <KP3> { [ KP_Next ], overlay2=<KO3> }; 78*2b949d04SAndroid Build Coastguard Worker 79*2b949d04SAndroid Build Coastguard Worker key <KP0> { [ KP_Insert ], overlay2=<KO0> }; 80*2b949d04SAndroid Build Coastguard Worker key <KPDL> { [ KP_Delete ], overlay2=<KODL> }; 81*2b949d04SAndroid Build Coastguard Worker 82*2b949d04SAndroid Build Coastguard Worker key <KO7> { [ KP_7 ] }; 83*2b949d04SAndroid Build Coastguard Worker key <KO8> { [ KP_8 ] }; 84*2b949d04SAndroid Build Coastguard Worker key <KO9> { [ KP_9 ] }; 85*2b949d04SAndroid Build Coastguard Worker 86*2b949d04SAndroid Build Coastguard Worker key <KO4> { [ KP_4 ] }; 87*2b949d04SAndroid Build Coastguard Worker key <KO5> { [ KP_5 ] }; 88*2b949d04SAndroid Build Coastguard Worker key <KO6> { [ KP_6 ] }; 89*2b949d04SAndroid Build Coastguard Worker 90*2b949d04SAndroid Build Coastguard Worker key <KO1> { [ KP_1 ] }; 91*2b949d04SAndroid Build Coastguard Worker key <KO2> { [ KP_2 ] }; 92*2b949d04SAndroid Build Coastguard Worker key <KO3> { [ KP_3 ] }; 93*2b949d04SAndroid Build Coastguard Worker 94*2b949d04SAndroid Build Coastguard Worker key <KO0> { [ KP_0 ] }; 95*2b949d04SAndroid Build Coastguard Worker key <KODL> { [ KP_Decimal ] }; 96*2b949d04SAndroid Build Coastguard Worker}; 97*2b949d04SAndroid Build Coastguard Worker 98*2b949d04SAndroid Build Coastguard Workerhidden partial keypad_keys 99*2b949d04SAndroid Build Coastguard Workerxkb_symbols "operators" { 100*2b949d04SAndroid Build Coastguard Worker // Puts some commands to control the X server on 101*2b949d04SAndroid Build Coastguard Worker // the fifth level of the keypad's operator keys. 102*2b949d04SAndroid Build Coastguard Worker key <KPDV> { 103*2b949d04SAndroid Build Coastguard Worker type="CTRL+ALT", // Ungrab cancels server/keyboard/pointer grabs 104*2b949d04SAndroid Build Coastguard Worker symbols[Group1]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86_Ungrab ] 105*2b949d04SAndroid Build Coastguard Worker }; 106*2b949d04SAndroid Build Coastguard Worker key <KPMU> { 107*2b949d04SAndroid Build Coastguard Worker type="CTRL+ALT", // ClsGrb kills whichever client has a grab in effect 108*2b949d04SAndroid Build Coastguard Worker symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86_ClearGrab ] 109*2b949d04SAndroid Build Coastguard Worker }; 110*2b949d04SAndroid Build Coastguard Worker key <KPSU> { 111*2b949d04SAndroid Build Coastguard Worker type="CTRL+ALT", // -VMode switches to the previous video mode 112*2b949d04SAndroid Build Coastguard Worker symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86_Prev_VMode ] 113*2b949d04SAndroid Build Coastguard Worker }; 114*2b949d04SAndroid Build Coastguard Worker key <KPAD> { 115*2b949d04SAndroid Build Coastguard Worker type="CTRL+ALT", // +VMode switches to the next video mode 116*2b949d04SAndroid Build Coastguard Worker symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86_Next_VMode ] 117*2b949d04SAndroid Build Coastguard Worker }; 118*2b949d04SAndroid Build Coastguard Worker}; 119*2b949d04SAndroid Build Coastguard Worker 120*2b949d04SAndroid Build Coastguard Worker// Legacy PC keypad definition 121*2b949d04SAndroid Build Coastguard Worker// Copyright © 2006-2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 122*2b949d04SAndroid Build Coastguard Workerkeypad_keys 123*2b949d04SAndroid Build Coastguard Workerxkb_symbols "legacy" { 124*2b949d04SAndroid Build Coastguard Worker 125*2b949d04SAndroid Build Coastguard Worker include "keypad(core)" 126*2b949d04SAndroid Build Coastguard Worker include "keypad(legacymath)" 127*2b949d04SAndroid Build Coastguard Worker include "keypad(legacynumber)" 128*2b949d04SAndroid Build Coastguard Worker include "kpdl(dot)" 129*2b949d04SAndroid Build Coastguard Worker}; 130*2b949d04SAndroid Build Coastguard Worker 131*2b949d04SAndroid Build Coastguard Worker 132*2b949d04SAndroid Build Coastguard Worker// Legacy Wang 725-3771-ae and 725-3771-uk keypad definition 133*2b949d04SAndroid Build Coastguard Worker// Copyright © 2006-2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 134*2b949d04SAndroid Build Coastguard Workerkeypad_keys 135*2b949d04SAndroid Build Coastguard Workerxkb_symbols "legacy_wang" { 136*2b949d04SAndroid Build Coastguard Worker 137*2b949d04SAndroid Build Coastguard Worker include "keypad(core)" 138*2b949d04SAndroid Build Coastguard Worker include "keypad(legacymath)" 139*2b949d04SAndroid Build Coastguard Worker include "keypad(legacynumber_wang)" 140*2b949d04SAndroid Build Coastguard Worker include "kpdl(dot)" 141*2b949d04SAndroid Build Coastguard Worker}; 142*2b949d04SAndroid Build Coastguard Worker 143*2b949d04SAndroid Build Coastguard Worker 144*2b949d04SAndroid Build Coastguard Worker// Complete new keypad definition 145*2b949d04SAndroid Build Coastguard Worker// Copyright © 2006-2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 146*2b949d04SAndroid Build Coastguard Workerkeypad_keys 147*2b949d04SAndroid Build Coastguard Workerxkb_symbols "oss" { 148*2b949d04SAndroid Build Coastguard Worker 149*2b949d04SAndroid Build Coastguard Worker include "keypad(core)" 150*2b949d04SAndroid Build Coastguard Worker include "keypad(ossmath)" 151*2b949d04SAndroid Build Coastguard Worker include "keypad(ossnumber)" 152*2b949d04SAndroid Build Coastguard Worker include "kpdl(dotoss)" 153*2b949d04SAndroid Build Coastguard Worker}; 154*2b949d04SAndroid Build Coastguard Worker 155*2b949d04SAndroid Build Coastguard Worker 156*2b949d04SAndroid Build Coastguard Worker// Latin9 restriction of new keypad definition 157*2b949d04SAndroid Build Coastguard Worker// Copyright © 2006-2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 158*2b949d04SAndroid Build Coastguard Workerkeypad_keys 159*2b949d04SAndroid Build Coastguard Workerxkb_symbols "oss_latin9" { 160*2b949d04SAndroid Build Coastguard Worker 161*2b949d04SAndroid Build Coastguard Worker include "keypad(core)" 162*2b949d04SAndroid Build Coastguard Worker include "keypad(ossmath_latin9)" 163*2b949d04SAndroid Build Coastguard Worker include "keypad(legacynumber)" 164*2b949d04SAndroid Build Coastguard Worker include "kpdl(dotoss_latin9)" 165*2b949d04SAndroid Build Coastguard Worker}; 166*2b949d04SAndroid Build Coastguard Worker 167*2b949d04SAndroid Build Coastguard Worker 168*2b949d04SAndroid Build Coastguard Worker// Wang 725-3771-ae and 725-3771-uk keypad variant of oss keypad 169*2b949d04SAndroid Build Coastguard Worker// Copyright © 2006-2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 170*2b949d04SAndroid Build Coastguard Workerkeypad_keys 171*2b949d04SAndroid Build Coastguard Workerxkb_symbols "oss_wang" { 172*2b949d04SAndroid Build Coastguard Worker 173*2b949d04SAndroid Build Coastguard Worker include "keypad(core)" 174*2b949d04SAndroid Build Coastguard Worker include "keypad(ossmath)" 175*2b949d04SAndroid Build Coastguard Worker include "keypad(ossnumber_wang)" 176*2b949d04SAndroid Build Coastguard Worker include "kpdl(dotoss)" 177*2b949d04SAndroid Build Coastguard Worker}; 178*2b949d04SAndroid Build Coastguard Worker 179*2b949d04SAndroid Build Coastguard Worker 180*2b949d04SAndroid Build Coastguard Worker// Forward-looking keypad definition 181*2b949d04SAndroid Build Coastguard Worker// Won't work with applications that make ASCII assumptions 182*2b949d04SAndroid Build Coastguard Worker// Copyright © 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 183*2b949d04SAndroid Build Coastguard Workerkeypad_keys 184*2b949d04SAndroid Build Coastguard Workerxkb_symbols "future" { 185*2b949d04SAndroid Build Coastguard Worker 186*2b949d04SAndroid Build Coastguard Worker include "keypad(core)" 187*2b949d04SAndroid Build Coastguard Worker include "keypad(futuremath)" 188*2b949d04SAndroid Build Coastguard Worker include "keypad(ossnumber)" 189*2b949d04SAndroid Build Coastguard Worker include "kpdl(commaoss)" 190*2b949d04SAndroid Build Coastguard Worker}; 191*2b949d04SAndroid Build Coastguard Worker 192*2b949d04SAndroid Build Coastguard Worker 193*2b949d04SAndroid Build Coastguard Worker// Forward-looking keypad definition 194*2b949d04SAndroid Build Coastguard Worker// Won't work with applications that make ASCII assumptions 195*2b949d04SAndroid Build Coastguard Worker// Copyright © 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 196*2b949d04SAndroid Build Coastguard Workerkeypad_keys 197*2b949d04SAndroid Build Coastguard Workerxkb_symbols "future_wang" { 198*2b949d04SAndroid Build Coastguard Worker 199*2b949d04SAndroid Build Coastguard Worker include "keypad(core)" 200*2b949d04SAndroid Build Coastguard Worker include "keypad(futuremath)" 201*2b949d04SAndroid Build Coastguard Worker include "keypad(ossnumber_wang)" 202*2b949d04SAndroid Build Coastguard Worker include "kpdl(commaoss)" 203*2b949d04SAndroid Build Coastguard Worker}; 204*2b949d04SAndroid Build Coastguard Worker 205*2b949d04SAndroid Build Coastguard Worker 206*2b949d04SAndroid Build Coastguard Worker// Keypad keys nobody changes 207*2b949d04SAndroid Build Coastguard Worker// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 208*2b949d04SAndroid Build Coastguard Workerpartial keypad_keys 209*2b949d04SAndroid Build Coastguard Workerxkb_symbols "core" { 210*2b949d04SAndroid Build Coastguard Worker 211*2b949d04SAndroid Build Coastguard Worker modifier_map Mod2 { Num_Lock }; 212*2b949d04SAndroid Build Coastguard Worker 213*2b949d04SAndroid Build Coastguard Worker key <NMLK> { [ Num_Lock ] }; 214*2b949d04SAndroid Build Coastguard Worker key <KPEN> { [ KP_Enter ] }; 215*2b949d04SAndroid Build Coastguard Worker key <KPEQ> { [ KP_Equal ] }; 216*2b949d04SAndroid Build Coastguard Worker}; 217*2b949d04SAndroid Build Coastguard Worker 218*2b949d04SAndroid Build Coastguard Worker 219*2b949d04SAndroid Build Coastguard Worker// Legacy keypad math area 220*2b949d04SAndroid Build Coastguard Worker// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 221*2b949d04SAndroid Build Coastguard Worker// 222*2b949d04SAndroid Build Coastguard Worker// ┏━━━━━┱─────┬─────┬─────┐ 223*2b949d04SAndroid Build Coastguard Worker// ┃Num ┃ ₁ │ ₂ │ ₃ │ ₁ <XF86_Ungrab> 224*2b949d04SAndroid Build Coastguard Worker// ┃Lock⇭┃ / │ * │ - │ ₂ <XF86_ClearGrab> 225*2b949d04SAndroid Build Coastguard Worker// ┡━━━━━╃─────┼─────┼─────┤ ₃ <XF86_Prev_VMode> 226*2b949d04SAndroid Build Coastguard Worker// │ ₄ │ ₄ <XF86_Next_VMode> 227*2b949d04SAndroid Build Coastguard Worker// │ │ 228*2b949d04SAndroid Build Coastguard Worker// ┤ │ 1 None 229*2b949d04SAndroid Build Coastguard Worker// │ │ 2 Ctrl+Alt 230*2b949d04SAndroid Build Coastguard Worker// │ + │ 231*2b949d04SAndroid Build Coastguard Worker// ╆━━━━━┪ 232*2b949d04SAndroid Build Coastguard Workerpartial keypad_keys 233*2b949d04SAndroid Build Coastguard Workerxkb_symbols "legacymath" { 234*2b949d04SAndroid Build Coastguard Worker 235*2b949d04SAndroid Build Coastguard Worker key.type[Group1]="CTRL+ALT" ; 236*2b949d04SAndroid Build Coastguard Worker 237*2b949d04SAndroid Build Coastguard Worker key <KPDV> { [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86_Ungrab ] }; // / <XF86_Ungrab> 238*2b949d04SAndroid Build Coastguard Worker key <KPMU> { [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86_ClearGrab ] }; // * <XF86_ClearGrab> 239*2b949d04SAndroid Build Coastguard Worker key <KPSU> { [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86_Prev_VMode ] }; // - <XF86_Prev_VMode> 240*2b949d04SAndroid Build Coastguard Worker 241*2b949d04SAndroid Build Coastguard Worker key <KPAD> { [ KP_Add, KP_Add, KP_Add, KP_Add, XF86_Next_VMode ] }; // + <XF86_Next_VMode> 242*2b949d04SAndroid Build Coastguard Worker}; 243*2b949d04SAndroid Build Coastguard Worker 244*2b949d04SAndroid Build Coastguard Worker 245*2b949d04SAndroid Build Coastguard Worker// Keypad math area with non-CS operators 246*2b949d04SAndroid Build Coastguard Worker// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 247*2b949d04SAndroid Build Coastguard Worker// 248*2b949d04SAndroid Build Coastguard Worker// ┏━━━━━┱─────┬─────┬─────┐ 249*2b949d04SAndroid Build Coastguard Worker// ┃Num ┃ ∕ ₁ │ . ₂ │ − ₃ │ ₁ <XF86_Ungrab> 250*2b949d04SAndroid Build Coastguard Worker// ┃Lock⇭┃ / ÷ │ * × │ - − │ ₂ <XF86_ClearGrab> 251*2b949d04SAndroid Build Coastguard Worker// ┡━━━━━╃─────┼─────┼─────┤ ₃ <XF86_Prev_VMode> 252*2b949d04SAndroid Build Coastguard Worker// │ + ₄ │ ₄ <XF86_Next_VMode> 253*2b949d04SAndroid Build Coastguard Worker// │ │ 254*2b949d04SAndroid Build Coastguard Worker// ┤ │ 1 None 255*2b949d04SAndroid Build Coastguard Worker// │ │ 2 Level3 ⇮ 256*2b949d04SAndroid Build Coastguard Worker// │ + + │ 3 Shift+Level3 ⇧⇮ 257*2b949d04SAndroid Build Coastguard Worker// ╆━━━━━┪ 4 Ctrl+Alt 258*2b949d04SAndroid Build Coastguard Workerpartial keypad_keys 259*2b949d04SAndroid Build Coastguard Workerxkb_symbols "ossmath" { 260*2b949d04SAndroid Build Coastguard Worker 261*2b949d04SAndroid Build Coastguard Worker key.type[Group1]="CTRL+ALT" ; 262*2b949d04SAndroid Build Coastguard Worker 263*2b949d04SAndroid Build Coastguard Worker key <KPDV> { [ KP_Divide, 0x1002215, 0x10000F7, VoidSymbol, XF86_Ungrab ] }; // / ∕ ÷ <XF86_Ungrab> 264*2b949d04SAndroid Build Coastguard Worker key <KPMU> { [ KP_Multiply, 0x10022C5, 0x10000D7, VoidSymbol, XF86_ClearGrab ] }; // * ⋅ × <XF86_ClearGrab> 265*2b949d04SAndroid Build Coastguard Worker key <KPSU> { [ KP_Subtract, 0x1002212, 0x1002212, VoidSymbol, XF86_Prev_VMode ] }; // - − − <XF86_Prev_VMode> 266*2b949d04SAndroid Build Coastguard Worker 267*2b949d04SAndroid Build Coastguard Worker key <KPAD> { [ KP_Add, 0x100002B, 0x100002B, VoidSymbol, XF86_Next_VMode ] }; // + + + <XF86_Next_VMode> 268*2b949d04SAndroid Build Coastguard Worker}; 269*2b949d04SAndroid Build Coastguard Worker 270*2b949d04SAndroid Build Coastguard Worker 271*2b949d04SAndroid Build Coastguard Worker// Keypad math area with non-CS operators in first levels 272*2b949d04SAndroid Build Coastguard Worker// As demanded by users not interested in legacy pre-unicode junk 273*2b949d04SAndroid Build Coastguard Worker// Copyright © 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 274*2b949d04SAndroid Build Coastguard Worker// 275*2b949d04SAndroid Build Coastguard Worker// ┏━━━━━┱─────┬─────┬─────┐ 276*2b949d04SAndroid Build Coastguard Worker// ┃Num ┃ / ₁ │ * ₂ │ - ₃ │ ₁ <XF86_Ungrab> 277*2b949d04SAndroid Build Coastguard Worker// ┃Lock⇭┃ ∕ ÷ │ . × │ − − │ ₂ <XF86_ClearGrab> 278*2b949d04SAndroid Build Coastguard Worker// ┡━━━━━╃─────┼─────┼─────┤ ₃ <XF86_Prev_VMode> 279*2b949d04SAndroid Build Coastguard Worker// │ + ₄ │ ₄ <XF86_Next_VMode> 280*2b949d04SAndroid Build Coastguard Worker// │ │ 281*2b949d04SAndroid Build Coastguard Worker// ┤ │ 1 None 282*2b949d04SAndroid Build Coastguard Worker// │ │ 2 Level3 ⇮ 283*2b949d04SAndroid Build Coastguard Worker// │ + + │ 3 Shift+Level3 ⇧⇮ 284*2b949d04SAndroid Build Coastguard Worker// ╆━━━━━┪ 4 Ctrl+Alt 285*2b949d04SAndroid Build Coastguard Workerpartial keypad_keys 286*2b949d04SAndroid Build Coastguard Workerxkb_symbols "futuremath" { 287*2b949d04SAndroid Build Coastguard Worker 288*2b949d04SAndroid Build Coastguard Worker key.type[Group1]="FOUR_LEVEL_X" ; 289*2b949d04SAndroid Build Coastguard Worker 290*2b949d04SAndroid Build Coastguard Worker key <KPDV> { [ 0x1002215, KP_Divide, 0x10000F7, XF86_Ungrab ] }; // ∕ / ÷ <XF86_Ungrab> 291*2b949d04SAndroid Build Coastguard Worker key <KPMU> { [ 0x10022C5, KP_Multiply, 0x10000D7, XF86_ClearGrab ] }; // ⋅ * × <XF86_ClearGrab> 292*2b949d04SAndroid Build Coastguard Worker key <KPSU> { [ 0x1002212, KP_Subtract, 0x1002212, XF86_Prev_VMode ] }; // − - − <XF86_Prev_VMode> 293*2b949d04SAndroid Build Coastguard Worker 294*2b949d04SAndroid Build Coastguard Worker key <KPAD> { [ 0x100002B, KP_Add, 0x100002B, XF86_Next_VMode ] }; // + + + <XF86_Next_VMode> 295*2b949d04SAndroid Build Coastguard Worker}; 296*2b949d04SAndroid Build Coastguard Worker 297*2b949d04SAndroid Build Coastguard Worker 298*2b949d04SAndroid Build Coastguard Worker// Keypad math area with non-CS operators, restricted to latin9 299*2b949d04SAndroid Build Coastguard Worker// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 300*2b949d04SAndroid Build Coastguard Worker// 301*2b949d04SAndroid Build Coastguard Worker// ┏━━━━━┱─────┬─────┬─────┐ 302*2b949d04SAndroid Build Coastguard Worker// ┃Num ┃ / ₁ │ · ₂ │ - ₃ │ ₁ <XF86_Ungrab> 303*2b949d04SAndroid Build Coastguard Worker// ┃Lock⇭┃ / ÷ │ * × │ - - │ ₂ <XF86_ClearGrab> 304*2b949d04SAndroid Build Coastguard Worker// ┡━━━━━╃─────┼─────┼─────┤ ₃ <XF86_Prev_VMode> 305*2b949d04SAndroid Build Coastguard Worker// │ + ₄ │ ₄ <XF86_Next_VMode> 306*2b949d04SAndroid Build Coastguard Worker// │ │ 307*2b949d04SAndroid Build Coastguard Worker// ┤ │ 1 None 308*2b949d04SAndroid Build Coastguard Worker// │ │ 2 Level3 ⇮ 309*2b949d04SAndroid Build Coastguard Worker// │ + + │ 3 Shift+Level3 ⇧⇮ 310*2b949d04SAndroid Build Coastguard Worker// ╆━━━━━┪ 4 Ctrl+Alt 311*2b949d04SAndroid Build Coastguard Workerpartial keypad_keys 312*2b949d04SAndroid Build Coastguard Workerxkb_symbols "ossmath_latin9" { 313*2b949d04SAndroid Build Coastguard Worker 314*2b949d04SAndroid Build Coastguard Worker key.type[Group1]="FOUR_LEVEL_X"; 315*2b949d04SAndroid Build Coastguard Worker 316*2b949d04SAndroid Build Coastguard Worker key <KPDV> { [ KP_Divide, slash, division, XF86_Ungrab ] }; // / / ÷ <XF86_Ungrab> 317*2b949d04SAndroid Build Coastguard Worker key <KPMU> { [ KP_Multiply, periodcentered, multiply, XF86_ClearGrab ] }; // * · × <XF86_ClearGrab> 318*2b949d04SAndroid Build Coastguard Worker key <KPSU> { [ KP_Subtract, minus, minus, XF86_Prev_VMode ] }; // - - - <XF86_Prev_VMode> 319*2b949d04SAndroid Build Coastguard Worker 320*2b949d04SAndroid Build Coastguard Worker key <KPAD> { [ KP_Add, plus, plus, XF86_Next_VMode ] }; // + + + <XF86_Next_VMode> 321*2b949d04SAndroid Build Coastguard Worker}; 322*2b949d04SAndroid Build Coastguard Worker 323*2b949d04SAndroid Build Coastguard Worker 324*2b949d04SAndroid Build Coastguard Worker// Legacy keypad number area 325*2b949d04SAndroid Build Coastguard Worker// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 326*2b949d04SAndroid Build Coastguard Worker// 327*2b949d04SAndroid Build Coastguard Worker// ┏━━━━━┱ 328*2b949d04SAndroid Build Coastguard Worker// ┃Num ┃ ⇱ Home 329*2b949d04SAndroid Build Coastguard Worker// ┃Lock⇭┃ ⇲ End 330*2b949d04SAndroid Build Coastguard Worker// ┡━━━━━╃─────┼─────┼ ⇞ Page up 331*2b949d04SAndroid Build Coastguard Worker// │ 7 │ 8 │ 9 │ ⇟ Page down 332*2b949d04SAndroid Build Coastguard Worker// │ ⇱ │ ⇧ │ ⇞ │ ⎀ Insert 333*2b949d04SAndroid Build Coastguard Worker// ├─────┼─────┼─────┤ ␥ Delete 334*2b949d04SAndroid Build Coastguard Worker// │ 4 │ 5 │ 6 │ ⇦⇧⇨⇩ Directions 335*2b949d04SAndroid Build Coastguard Worker// │ ⇦ │ │ ⇨ │ 336*2b949d04SAndroid Build Coastguard Worker// ├─────┼─────┼─────╆ 337*2b949d04SAndroid Build Coastguard Worker// │ 1 │ 2 │ 3 ┃ 338*2b949d04SAndroid Build Coastguard Worker// │ ⇲ │ ⇩ │ ⇟ ┃ 1 None 339*2b949d04SAndroid Build Coastguard Worker// ├─────┴─────┼─────┨ 2 Num Lock ⇭ 340*2b949d04SAndroid Build Coastguard Worker// │ 0 │ 341*2b949d04SAndroid Build Coastguard Worker// │ ⎀ │ 342*2b949d04SAndroid Build Coastguard Worker// └───────────┴ 343*2b949d04SAndroid Build Coastguard Workerpartial keypad_keys 344*2b949d04SAndroid Build Coastguard Workerxkb_symbols "legacynumber" { 345*2b949d04SAndroid Build Coastguard Worker 346*2b949d04SAndroid Build Coastguard Worker key.type[Group1]="KEYPAD" ; 347*2b949d04SAndroid Build Coastguard Worker 348*2b949d04SAndroid Build Coastguard Worker key <KP7> { [ KP_Home, KP_7 ] }; // <home> 7 349*2b949d04SAndroid Build Coastguard Worker key <KP8> { [ KP_Up, KP_8 ] }; // <up> 8 350*2b949d04SAndroid Build Coastguard Worker key <KP9> { [ KP_Prior, KP_9 ] }; // <prior> 9 351*2b949d04SAndroid Build Coastguard Worker 352*2b949d04SAndroid Build Coastguard Worker key <KP4> { [ KP_Left, KP_4 ] }; // <left> 4 353*2b949d04SAndroid Build Coastguard Worker key <KP5> { [ KP_Begin, KP_5 ] }; // <begin> 5 354*2b949d04SAndroid Build Coastguard Worker key <KP6> { [ KP_Right, KP_6 ] }; // <right> 6 355*2b949d04SAndroid Build Coastguard Worker 356*2b949d04SAndroid Build Coastguard Worker key <KP1> { [ KP_End, KP_1 ] }; // <end> 1 357*2b949d04SAndroid Build Coastguard Worker key <KP2> { [ KP_Down, KP_2 ] }; // <down> 2 358*2b949d04SAndroid Build Coastguard Worker key <KP3> { [ KP_Next, KP_3 ] }; // <next> 3 359*2b949d04SAndroid Build Coastguard Worker 360*2b949d04SAndroid Build Coastguard Worker key <KP0> { [ KP_Insert, KP_0 ] }; // <insert> 0 361*2b949d04SAndroid Build Coastguard Worker}; 362*2b949d04SAndroid Build Coastguard Worker 363*2b949d04SAndroid Build Coastguard Worker 364*2b949d04SAndroid Build Coastguard Worker// Legacy Wang 725-3771-ae and 725-3771-uk keypad number area 365*2b949d04SAndroid Build Coastguard Worker// Copyright © 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 366*2b949d04SAndroid Build Coastguard Worker// This is actually a three-level keypad, declared as four-level 367*2b949d04SAndroid Build Coastguard Worker// to avoid defining a new type 368*2b949d04SAndroid Build Coastguard Worker// 369*2b949d04SAndroid Build Coastguard Worker// ┏━━━━━┱ 370*2b949d04SAndroid Build Coastguard Worker// ┃Num ┃ ⇱ Home 371*2b949d04SAndroid Build Coastguard Worker// ┃Lock⇭┃ ⇲ End 372*2b949d04SAndroid Build Coastguard Worker// ┡━━━━━╃─────┼─────┼ ⇞ Page up 373*2b949d04SAndroid Build Coastguard Worker// │ 7 │ 8 │ 9 │ ⇟ Page down 374*2b949d04SAndroid Build Coastguard Worker// │ ⇱ < │ ⇧ > │ ⇞ ^ │ ⎀ Insert 375*2b949d04SAndroid Build Coastguard Worker// ├─────┼─────┼─────┤ ␥ Delete 376*2b949d04SAndroid Build Coastguard Worker// │ 4 │ 5 │ 6 │ ⇦⇧⇨⇩ Directions 377*2b949d04SAndroid Build Coastguard Worker// │ ⇦ [ │ ] │ ⇨ $ │ 378*2b949d04SAndroid Build Coastguard Worker// ├─────┼─────┼─────╆ 379*2b949d04SAndroid Build Coastguard Worker// │ 1 │ 2 │ 3 ┃ 380*2b949d04SAndroid Build Coastguard Worker// │ ⇲ & │ ⇩ @ │ ⇟ # ┃ 1 None 381*2b949d04SAndroid Build Coastguard Worker// ├─────┴─────┼─────┨ 2 Num Lock ⇭ 382*2b949d04SAndroid Build Coastguard Worker// │ 0 │ 3 Level3 ⇮ 383*2b949d04SAndroid Build Coastguard Worker// │ ⎀ │ 384*2b949d04SAndroid Build Coastguard Worker// └───────────┴ 385*2b949d04SAndroid Build Coastguard Workerpartial keypad_keys 386*2b949d04SAndroid Build Coastguard Workerxkb_symbols "legacynumber_wang" { 387*2b949d04SAndroid Build Coastguard Worker 388*2b949d04SAndroid Build Coastguard Worker key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; 389*2b949d04SAndroid Build Coastguard Worker 390*2b949d04SAndroid Build Coastguard Worker key <KP7> { [ KP_Home, KP_7, less ] }; // <home> 7 < 391*2b949d04SAndroid Build Coastguard Worker key <KP8> { [ KP_Up, KP_8, greater ] }; // <up> 8 > 392*2b949d04SAndroid Build Coastguard Worker key <KP9> { [ KP_Prior, KP_9, asciicircum ] }; // <prior> 9 ^ 393*2b949d04SAndroid Build Coastguard Worker 394*2b949d04SAndroid Build Coastguard Worker key <KP4> { [ KP_Left, KP_4, bracketleft ] }; // <left> 4 [ 395*2b949d04SAndroid Build Coastguard Worker key <KP5> { [ KP_Begin, KP_5, bracketright ] }; // <begin> 5 ] 396*2b949d04SAndroid Build Coastguard Worker key <KP6> { [ KP_Right, KP_6, dollar ] }; // <right> 6 $ 397*2b949d04SAndroid Build Coastguard Worker 398*2b949d04SAndroid Build Coastguard Worker key <KP1> { [ KP_End, KP_1, ampersand ] }; // <end> 1 & 399*2b949d04SAndroid Build Coastguard Worker key <KP2> { [ KP_Down, KP_2, at ] }; // <down> 2 @ 400*2b949d04SAndroid Build Coastguard Worker key <KP3> { [ KP_Next, KP_3, numbersign ] }; // <next> 3 # 401*2b949d04SAndroid Build Coastguard Worker 402*2b949d04SAndroid Build Coastguard Worker key <KP0> { [ KP_Insert, KP_0, apostrophe ] }; // <insert> 0 ' 403*2b949d04SAndroid Build Coastguard Worker}; 404*2b949d04SAndroid Build Coastguard Worker 405*2b949d04SAndroid Build Coastguard Worker 406*2b949d04SAndroid Build Coastguard Worker// Keypad number area with arrow symbols 407*2b949d04SAndroid Build Coastguard Worker// Copyright © 2006 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 408*2b949d04SAndroid Build Coastguard Worker// 409*2b949d04SAndroid Build Coastguard Worker// ┏━━━━━┱ 410*2b949d04SAndroid Build Coastguard Worker// ┃Num ┃ ⇱ Home 411*2b949d04SAndroid Build Coastguard Worker// ┃Lock⇭┃ ⇲ End 412*2b949d04SAndroid Build Coastguard Worker// ┡━━━━━╃─────┼─────┼ ⇞ Page up 413*2b949d04SAndroid Build Coastguard Worker// │ 7 ⇖ │ 8 ⇑ │ 9 ⇗ │ ⇟ Page down 414*2b949d04SAndroid Build Coastguard Worker// │ ⇱ ↖ │ ⇧ ↑ │ ⇞ ↗ │ ⎀ Insert 415*2b949d04SAndroid Build Coastguard Worker// ├─────┼─────┼─────┤ ␥ Delete 416*2b949d04SAndroid Build Coastguard Worker// │ 4 ⇐ │ 5 ⇔ │ 6 ⇒ │ ⇦⇧⇨⇩ Directions 417*2b949d04SAndroid Build Coastguard Worker// │ ⇦ ← │ ↔ │ ⇨ → │ ⍽ narrow no-break space 418*2b949d04SAndroid Build Coastguard Worker// ├─────┼─────┼─────╆ 419*2b949d04SAndroid Build Coastguard Worker// │ 1 ⇙ │ 2 ⇓ │ 3 ⇘ ┃ 420*2b949d04SAndroid Build Coastguard Worker// │ ⇲ ↙ │ ⇩ ↓ │ ⇟ ↘ ┃ 1 None 421*2b949d04SAndroid Build Coastguard Worker// ├─────┴─────┼─────┨ 2 Num Lock ⇭ 422*2b949d04SAndroid Build Coastguard Worker// │ 0 ⇕ │ 3 Level3 ⇮ 423*2b949d04SAndroid Build Coastguard Worker// │ ⎀ ↕ │ 4 Shift+Level3 ⇧⇮ 424*2b949d04SAndroid Build Coastguard Worker// └───────────┴ 425*2b949d04SAndroid Build Coastguard Workerpartial keypad_keys 426*2b949d04SAndroid Build Coastguard Workerxkb_symbols "ossnumber" { 427*2b949d04SAndroid Build Coastguard Worker 428*2b949d04SAndroid Build Coastguard Worker key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; 429*2b949d04SAndroid Build Coastguard Worker 430*2b949d04SAndroid Build Coastguard Worker key <KP7> { [ KP_Home, KP_7, 0x1002196, 0x10021D6 ] }; // <home> 7 ↖ ⇖ 431*2b949d04SAndroid Build Coastguard Worker key <KP8> { [ KP_Up, KP_8, 0x1002191, 0x10021D1 ] }; // <up> 8 ↑ ⇑ 432*2b949d04SAndroid Build Coastguard Worker key <KP9> { [ KP_Prior, KP_9, 0x1002197, 0x10021D7 ] }; // <prior> 9 ↗ ⇗ 433*2b949d04SAndroid Build Coastguard Worker 434*2b949d04SAndroid Build Coastguard Worker key <KP4> { [ KP_Left, KP_4, 0x1002190, 0x10021D0 ] }; // <left> 4 ← ⇐ 435*2b949d04SAndroid Build Coastguard Worker key <KP5> { [ KP_Begin, KP_5, 0x1002194, 0x10021D4 ] }; // <begin> 5 ↔ ⇔ 436*2b949d04SAndroid Build Coastguard Worker key <KP6> { [ KP_Right, KP_6, 0x1002192, 0x10021D2 ] }; // <right> 6 → ⇒ 437*2b949d04SAndroid Build Coastguard Worker 438*2b949d04SAndroid Build Coastguard Worker key <KP1> { [ KP_End, KP_1, 0x1002199, 0x10021D9 ] }; // <end> 1 ↙ ⇙ 439*2b949d04SAndroid Build Coastguard Worker key <KP2> { [ KP_Down, KP_2, 0x1002193, 0x10021D3 ] }; // <down> 2 ↓ ⇓ 440*2b949d04SAndroid Build Coastguard Worker key <KP3> { [ KP_Next, KP_3, 0x1002198, 0x10021D8 ] }; // <next> 3 ↘ ⇘ 441*2b949d04SAndroid Build Coastguard Worker 442*2b949d04SAndroid Build Coastguard Worker key <KP0> { [ KP_Insert, KP_0, 0x1002195, 0x10021D5 ] }; // <insert> 0 ↕ ⇕ 443*2b949d04SAndroid Build Coastguard Worker}; 444*2b949d04SAndroid Build Coastguard Worker 445*2b949d04SAndroid Build Coastguard Worker 446*2b949d04SAndroid Build Coastguard Worker// Wang 725-3771-ae and 725-3771-uk keypad number area with additional arrow symbols 447*2b949d04SAndroid Build Coastguard Worker// Copyright © 2007 Nicolas Mailhot <nicolas.mailhot @ laposte.net> 448*2b949d04SAndroid Build Coastguard Worker// 449*2b949d04SAndroid Build Coastguard Worker// ┏━━━━━┱ 450*2b949d04SAndroid Build Coastguard Worker// ┃Num ┃ ⇱ Home 451*2b949d04SAndroid Build Coastguard Worker// ┃Lock⇭┃ ⇲ End 452*2b949d04SAndroid Build Coastguard Worker// ┡━━━━━╃─────┼─────┼ ⇞ Page up 453*2b949d04SAndroid Build Coastguard Worker// │ 7 ↖ │ 8 ↑ │ 9 ↗ │ ⇟ Page down 454*2b949d04SAndroid Build Coastguard Worker// │ ⇱ < │ ⇧ > │ ⇞ ^ │ ⎀ Insert 455*2b949d04SAndroid Build Coastguard Worker// ├─────┼─────┼─────┤ ␥ Delete 456*2b949d04SAndroid Build Coastguard Worker// │ 4 ← │ 5 ↔ │ 6 → │ ⇦⇧⇨⇩ Directions 457*2b949d04SAndroid Build Coastguard Worker// │ ⇦ [ │ ] │ ⇨ $ │ ⍽ narrow no-break space 458*2b949d04SAndroid Build Coastguard Worker// ├─────┼─────┼─────╆ 459*2b949d04SAndroid Build Coastguard Worker// │ 1 ↙ │ 2 ↓ │ 3 ↘ ┃ 460*2b949d04SAndroid Build Coastguard Worker// │ ⇲ & │ ⇩ @ │ ⇟ # ┃ 1 None 461*2b949d04SAndroid Build Coastguard Worker// ├─────┴─────┼─────┨ 2 Num Lock ⇭ 462*2b949d04SAndroid Build Coastguard Worker// │ 0 ↕ │ 3 Level3 ⇮ 463*2b949d04SAndroid Build Coastguard Worker// │ ⎀ ' │ 4 Shift+Level3 ⇧⇮ 464*2b949d04SAndroid Build Coastguard Worker// └───────────┴ 465*2b949d04SAndroid Build Coastguard Workerpartial keypad_keys 466*2b949d04SAndroid Build Coastguard Workerxkb_symbols "ossnumber_wang" { 467*2b949d04SAndroid Build Coastguard Worker 468*2b949d04SAndroid Build Coastguard Worker key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; 469*2b949d04SAndroid Build Coastguard Worker 470*2b949d04SAndroid Build Coastguard Worker key <KP7> { [ KP_Home, KP_7, less, 0x1002196 ] }; // <home> 7 < ↖ 471*2b949d04SAndroid Build Coastguard Worker key <KP8> { [ KP_Up, KP_8, greater, 0x1002191 ] }; // <up> 8 > ↑ 472*2b949d04SAndroid Build Coastguard Worker key <KP9> { [ KP_Prior, KP_9, asciicircum, 0x1002197 ] }; // <prior> 9 ^ ↗ 473*2b949d04SAndroid Build Coastguard Worker 474*2b949d04SAndroid Build Coastguard Worker key <KP4> { [ KP_Left, KP_4, bracketleft, 0x1002190 ] }; // <left> 4 [ ← 475*2b949d04SAndroid Build Coastguard Worker key <KP5> { [ KP_Begin, KP_5, bracketright, 0x1002194 ] }; // <begin> 5 ] ↔ 476*2b949d04SAndroid Build Coastguard Worker key <KP6> { [ KP_Right, KP_6, dollar, 0x1002192 ] }; // <right> 6 $ → 477*2b949d04SAndroid Build Coastguard Worker 478*2b949d04SAndroid Build Coastguard Worker key <KP1> { [ KP_End, KP_1, ampersand, 0x1002199 ] }; // <end> 1 & ↙ 479*2b949d04SAndroid Build Coastguard Worker key <KP2> { [ KP_Down, KP_2, at, 0x1002193 ] }; // <down> 2 @ ↓ 480*2b949d04SAndroid Build Coastguard Worker key <KP3> { [ KP_Next, KP_3, numbersign, 0x1002198 ] }; // <next> 3 # ↘ 481*2b949d04SAndroid Build Coastguard Worker 482*2b949d04SAndroid Build Coastguard Worker key <KP0> { [ KP_Insert, KP_0, apostrophe, 0x1002195 ] }; // <insert> 0 ' ↕ 483*2b949d04SAndroid Build Coastguard Worker}; 484*2b949d04SAndroid Build Coastguard Worker 485*2b949d04SAndroid Build Coastguard Worker// Standard base "pc" layout only contains cursor keys, and then gets 486*2b949d04SAndroid Build Coastguard Worker// augmented with the digits later. If you define your own layout for 487*2b949d04SAndroid Build Coastguard Worker// the numpad you can inherit the cursors, but you'll have to define 488*2b949d04SAndroid Build Coastguard Worker// the digits yourself. This module can be included in the rules to 489*2b949d04SAndroid Build Coastguard Worker// define math operators; these are the variants used in computer 490*2b949d04SAndroid Build Coastguard Worker// languages that are based on ASCII. NoSymbol does not mean that 491*2b949d04SAndroid Build Coastguard Worker// nothing is bound to the key but that no assignment is done here. 492*2b949d04SAndroid Build Coastguard Worker// srvr_ctrl(stdkeypad) and keypad(x11) declare the operator keys to 493*2b949d04SAndroid Build Coastguard Worker// be of type CTRL+ALT in order to assign server control events to 494*2b949d04SAndroid Build Coastguard Worker// them, but it uses the second level which is overwritten if we have 495*2b949d04SAndroid Build Coastguard Worker// more than one definition (shift state) for the key. Instead, here 496*2b949d04SAndroid Build Coastguard Worker// the commands are put at the 4th lever. 497*2b949d04SAndroid Build Coastguard Workerpartial keypad_keys 498*2b949d04SAndroid Build Coastguard Workerxkb_symbols "ops" { 499*2b949d04SAndroid Build Coastguard Worker key <KPDV> { [ NoSymbol, slash, NoSymbol, XF86_Ungrab ] }; 500*2b949d04SAndroid Build Coastguard Worker key <KPMU> { [ NoSymbol, asterisk, NoSymbol, XF86_ClearGrab ] }; 501*2b949d04SAndroid Build Coastguard Worker key <KPSU> { [ NoSymbol, minus, NoSymbol, XF86_Prev_VMode ] }; 502*2b949d04SAndroid Build Coastguard Worker key <KPAD> { [ NoSymbol, plus, NoSymbol, XF86_Next_VMode ] }; 503*2b949d04SAndroid Build Coastguard Worker key <KPEQ> { [ NoSymbol, equal ] }; 504*2b949d04SAndroid Build Coastguard Worker}; 505*2b949d04SAndroid Build Coastguard Worker 506*2b949d04SAndroid Build Coastguard Worker// Hexadecimal Numpad, by Roland Kaufmann <rlndkfmn at gmail dot com> 507*2b949d04SAndroid Build Coastguard Worker// License: BSD (also covers variant with ATM digit order) 508*2b949d04SAndroid Build Coastguard Worker// Third-level gives the letters used in hexadecimal numbers, or 509*2b949d04SAndroid Build Coastguard Worker// columns in small spreadsheets. As a bonus, having 'e' available at 510*2b949d04SAndroid Build Coastguard Worker// the center of the keyboard makes it easy to enter floating point 511*2b949d04SAndroid Build Coastguard Worker// numbers in scientific notation. 512*2b949d04SAndroid Build Coastguard Worker// Equal is added to start formulas (most numpads on PCs don't have 513*2b949d04SAndroid Build Coastguard Worker// their own equal key), comma as a list separator (as most 514*2b949d04SAndroid Build Coastguard Worker// programming languages wants period as a decimal separator) and 515*2b949d04SAndroid Build Coastguard Worker// colon to enter times and ranges. Someone also may want to represent 516*2b949d04SAndroid Build Coastguard Worker// multiplication and division in prose using x and colon. 517*2b949d04SAndroid Build Coastguard Worker// Two first levels are specified as NoSymbol to not override any 518*2b949d04SAndroid Build Coastguard Worker// previous specification. Combine this with another keypad specifier, 519*2b949d04SAndroid Build Coastguard Worker// e.g. "legacy". 520*2b949d04SAndroid Build Coastguard Workerpartial keypad_keys 521*2b949d04SAndroid Build Coastguard Workerxkb_symbols "hex" { 522*2b949d04SAndroid Build Coastguard Worker key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; 523*2b949d04SAndroid Build Coastguard Worker 524*2b949d04SAndroid Build Coastguard Worker // None NumLock AltGr 525*2b949d04SAndroid Build Coastguard Worker // symbol row 526*2b949d04SAndroid Build Coastguard Worker key <KPDV> { [ NoSymbol, NoSymbol, parenleft ] }; 527*2b949d04SAndroid Build Coastguard Worker key <KPMU> { [ NoSymbol, NoSymbol, parenright ] }; 528*2b949d04SAndroid Build Coastguard Worker key <KPSU> { [ NoSymbol, NoSymbol, dollar ] }; 529*2b949d04SAndroid Build Coastguard Worker 530*2b949d04SAndroid Build Coastguard Worker // upper row 531*2b949d04SAndroid Build Coastguard Worker key <KP7> { [ NoSymbol, NoSymbol, a ] }; 532*2b949d04SAndroid Build Coastguard Worker key <KP8> { [ NoSymbol, NoSymbol, b ] }; 533*2b949d04SAndroid Build Coastguard Worker key <KP9> { [ NoSymbol, NoSymbol, c ] }; 534*2b949d04SAndroid Build Coastguard Worker 535*2b949d04SAndroid Build Coastguard Worker // home row 536*2b949d04SAndroid Build Coastguard Worker key <KP4> { [ NoSymbol, NoSymbol, d ] }; 537*2b949d04SAndroid Build Coastguard Worker key <KP5> { [ NoSymbol, NoSymbol, e ] }; 538*2b949d04SAndroid Build Coastguard Worker key <KP6> { [ NoSymbol, NoSymbol, f ] }; 539*2b949d04SAndroid Build Coastguard Worker key <KPAD> { [ NoSymbol, NoSymbol, comma ] }; 540*2b949d04SAndroid Build Coastguard Worker 541*2b949d04SAndroid Build Coastguard Worker // lower row 542*2b949d04SAndroid Build Coastguard Worker key <KP1> { [ NoSymbol, NoSymbol, equal ] }; 543*2b949d04SAndroid Build Coastguard Worker key <KP2> { [ NoSymbol, NoSymbol, x ] }; 544*2b949d04SAndroid Build Coastguard Worker key <KP3> { [ NoSymbol, NoSymbol, colon ] }; 545*2b949d04SAndroid Build Coastguard Worker 546*2b949d04SAndroid Build Coastguard Worker // decimal row 547*2b949d04SAndroid Build Coastguard Worker key <KP0> { [ NoSymbol, NoSymbol, backslash ] }; 548*2b949d04SAndroid Build Coastguard Worker}; 549*2b949d04SAndroid Build Coastguard Worker 550*2b949d04SAndroid Build Coastguard Worker// Main numbers follows the traditions from ATMs and phones with 551*2b949d04SAndroid Build Coastguard Worker// numbers increasing downwards to the right. (It is easier to 552*2b949d04SAndroid Build Coastguard Worker// change the keyboard layout than to reprogram your local ATM; 553*2b949d04SAndroid Build Coastguard Worker// also cell-phones are becoming more common while calculators are 554*2b949d04SAndroid Build Coastguard Worker// becoming more rare). 555*2b949d04SAndroid Build Coastguard Worker// First level is left unspecified, so it may be combined with another 556*2b949d04SAndroid Build Coastguard Worker// layout, e.g. "legacy". 557*2b949d04SAndroid Build Coastguard Workerpartial keypad_keys 558*2b949d04SAndroid Build Coastguard Workerxkb_symbols "atm" { 559*2b949d04SAndroid Build Coastguard Worker // upper row 560*2b949d04SAndroid Build Coastguard Worker key <KP7> { [ NoSymbol, KP_1 ] }; 561*2b949d04SAndroid Build Coastguard Worker key <KP8> { [ NoSymbol, KP_2 ] }; 562*2b949d04SAndroid Build Coastguard Worker key <KP9> { [ NoSymbol, KP_3 ] }; 563*2b949d04SAndroid Build Coastguard Worker 564*2b949d04SAndroid Build Coastguard Worker // lower row 565*2b949d04SAndroid Build Coastguard Worker key <KP1> { [ NoSymbol, KP_7 ] }; 566*2b949d04SAndroid Build Coastguard Worker key <KP2> { [ NoSymbol, KP_8 ] }; 567*2b949d04SAndroid Build Coastguard Worker key <KP3> { [ NoSymbol, KP_9 ] }; 568*2b949d04SAndroid Build Coastguard Worker}; 569*2b949d04SAndroid Build Coastguard Worker 570*2b949d04SAndroid Build Coastguard Worker 571*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys 572*2b949d04SAndroid Build Coastguard Workerxkb_symbols "pointerkeys" { 573*2b949d04SAndroid Build Coastguard Worker key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] }; 574*2b949d04SAndroid Build Coastguard Worker}; 575*2b949d04SAndroid Build Coastguard Worker 576*2b949d04SAndroid Build Coastguard Worker 577*2b949d04SAndroid Build Coastguard Worker// Only numbers, operators and decimal separator, 578*2b949d04SAndroid Build Coastguard Worker// as seen on keypad overlay on Japanese keyboard. 579*2b949d04SAndroid Build Coastguard Worker// ┌─┬─┬─┬─┐ 580*2b949d04SAndroid Build Coastguard Worker// │7│8│9│*│ 581*2b949d04SAndroid Build Coastguard Worker// ├─┼─┼─┼─┤ 582*2b949d04SAndroid Build Coastguard Worker// │4│5│6│-│ 583*2b949d04SAndroid Build Coastguard Worker// ├─┼─┼─┼─┤ 584*2b949d04SAndroid Build Coastguard Worker// │1│2│3│+│ 585*2b949d04SAndroid Build Coastguard Worker// ├─┼─┼─┼─┤ 586*2b949d04SAndroid Build Coastguard Worker// │0│ │·│/│ 587*2b949d04SAndroid Build Coastguard Worker// └─┴─┴─┴─┘ 588*2b949d04SAndroid Build Coastguard Workerpartial keypad_keys 589*2b949d04SAndroid Build Coastguard Workerxkb_symbols "numoperdecsep" { 590*2b949d04SAndroid Build Coastguard Worker key <KO7> { [ KP_7 ] }; 591*2b949d04SAndroid Build Coastguard Worker key <KO8> { [ KP_8 ] }; 592*2b949d04SAndroid Build Coastguard Worker key <KO9> { [ KP_9 ] }; 593*2b949d04SAndroid Build Coastguard Worker// ClsGrb kills whichever client has a grab in effect 594*2b949d04SAndroid Build Coastguard Worker key <KOMU> { 595*2b949d04SAndroid Build Coastguard Worker type="CTRL+ALT", 596*2b949d04SAndroid Build Coastguard Worker symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86_ClearGrab ] 597*2b949d04SAndroid Build Coastguard Worker }; 598*2b949d04SAndroid Build Coastguard Worker 599*2b949d04SAndroid Build Coastguard Worker key <KO4> { [ KP_4 ] }; 600*2b949d04SAndroid Build Coastguard Worker key <KO5> { [ KP_5 ] }; 601*2b949d04SAndroid Build Coastguard Worker key <KO6> { [ KP_6 ] }; 602*2b949d04SAndroid Build Coastguard Worker// -VMode switches to the previous video mode 603*2b949d04SAndroid Build Coastguard Worker key <KOSU> { 604*2b949d04SAndroid Build Coastguard Worker type="CTRL+ALT", 605*2b949d04SAndroid Build Coastguard Worker symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86_Prev_VMode ] 606*2b949d04SAndroid Build Coastguard Worker }; 607*2b949d04SAndroid Build Coastguard Worker 608*2b949d04SAndroid Build Coastguard Worker key <KO1> { [ KP_1 ] }; 609*2b949d04SAndroid Build Coastguard Worker key <KO2> { [ KP_2 ] }; 610*2b949d04SAndroid Build Coastguard Worker key <KO3> { [ KP_3 ] }; 611*2b949d04SAndroid Build Coastguard Worker// +VMode switches to the next video mode 612*2b949d04SAndroid Build Coastguard Worker key <KOAD> { 613*2b949d04SAndroid Build Coastguard Worker type="CTRL+ALT", 614*2b949d04SAndroid Build Coastguard Worker symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86_Next_VMode ] 615*2b949d04SAndroid Build Coastguard Worker }; 616*2b949d04SAndroid Build Coastguard Worker 617*2b949d04SAndroid Build Coastguard Worker key <KO0> { [ KP_0 ] }; 618*2b949d04SAndroid Build Coastguard Worker key <KODL> { [ KP_Decimal ] }; 619*2b949d04SAndroid Build Coastguard Worker// Ungrab cancels server/keyboard/pointer grabs 620*2b949d04SAndroid Build Coastguard Worker key <KODV> { 621*2b949d04SAndroid Build Coastguard Worker type="CTRL+ALT", 622*2b949d04SAndroid Build Coastguard Worker symbols[Group1]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86_Ungrab ] 623*2b949d04SAndroid Build Coastguard Worker }; 624*2b949d04SAndroid Build Coastguard Worker}; 625