ckb-next  v0.2.8 at branch master
ckb-next driver for corsair devices
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
keymap.cpp File Reference
#include <clocale>
#include <QMap>
#include "keymap.h"
+ Include dependency graph for keymap.cpp:

Go to the source code of this file.

Data Structures

struct  KeyPatch
 

Macros

#define NS   12, 12
 
#define LBS   17, 6
 
#define KEYCOUNT_K95   (sizeof(K95Keys) / sizeof(Key))
 
#define ANSI_ENTER_X   199
 
#define ANSI_ENTER_Y   51
 
#define ANSI_ENTER_W   26
 
#define ANSI_ENTER_H   12
 
#define ANSI_LSHIFT_X   45
 
#define ANSI_LSHIFT_W   26
 
#define PATCH_COUNT(patch)   (sizeof(patch) / sizeof(KeyPatch))
 
#define patch(map, patches)   _patch(map, patches, PATCH_COUNT(patches))
 
#define K95_WIDTH   298
 
#define K95_HEIGHT   76
 
#define K95P_HEIGHT   82
 
#define K95P_X_START   20
 
#define K95P_WIDTH   (K95_WIDTH - K95P_X_START + 1)
 
#define K70_X_START   38
 
#define K70_WIDTH   (K95_WIDTH - K70_X_START)
 
#define K70_HEIGHT   K95_HEIGHT
 
#define K68_WIDTH   K70_WIDTH
 
#define K68_HEIGHT   K70_HEIGHT
 
#define K65_WIDTH   209
 
#define K65_HEIGHT   K70_HEIGHT
 
#define K63_WIDTH   K65_WIDTH
 
#define K63_HEIGHT   K65_HEIGHT
 
#define K68_TOP_COUNT   (sizeof(K68TopRow) / sizeof(Key))
 
#define K65_TOP_COUNT   (sizeof(K65TopRow) / sizeof(Key))
 
#define K63_TOP_COUNT   (sizeof(K63TopRow) / sizeof(Key))
 
#define KSTRAFE_X_START   12
 
#define KSTRAFE_WIDTH   (K70_WIDTH + (KSTRAFE_X_START * 2))
 
#define KSTRAFE_HEIGHT   K95_HEIGHT
 
#define KEYCOUNT_M65   (sizeof(M65Keys) / sizeof(Key))
 
#define M65_WIDTH   52
 
#define M65_HEIGHT   67
 
#define KEYCOUNT_SABRE   (sizeof(SabreKeys) / sizeof(Key))
 
#define SABRE_WIDTH   M65_WIDTH
 
#define SABRE_HEIGHT   M65_HEIGHT
 
#define KEYCOUNT_HARPOON   (sizeof(HarpoonKeys) / sizeof(Key))
 
#define HARPOON_WIDTH   M65_WIDTH
 
#define HARPOON_HEIGHT   M65_HEIGHT
 
#define KEYCOUNT_GLAIVE   (sizeof(GlaiveKeys) / sizeof(Key))
 
#define GLAIVE_WIDTH   M65_WIDTH
 
#define GLAIVE_HEIGHT   M65_HEIGHT
 
#define KEYCOUNT_SCIM   (sizeof(ScimKeys) / sizeof(Key))
 
#define SCIM_WIDTH   M65_WIDTH
 
#define SCIM_HEIGHT   M65_HEIGHT
 
#define LBARCOUNT_K95P   (sizeof(K95PLbar) / sizeof(Key))
 
#define N_MODELS   KeyMap::_MODEL_MAX
 
#define N_LAYOUTS   KeyMap::_LAYOUT_MAX
 

Functions

static void _patch (QHash< QString, Key > &map, const KeyPatch *patches, int patchCount)
 
static void patchnonJP106 (QHash< QString, Key > &map)
 
static void patchISO (QHash< QString, Key > &map)
 
static void patchANSI (QHash< QString, Key > &map)
 
static void patchJP106 (QHash< QString, Key > &map)
 
static void patchJP106fn (QHash< QString, Key > &map)
 
static void patchABNT2 (QHash< QString, Key > &map)
 
static QHash< QString, KeygetMap (KeyMap::Model model, KeyMap::Layout layout)
 

Variables

static const Key K95Keys []
 
static const KeyPatch patchDK []
 
static const KeyPatch patchEU []
 
static const KeyPatch patchFR []
 
static const KeyPatch patchDE []
 
static const KeyPatch patchIT []
 
static const KeyPatch patchNO []
 
static const KeyPatch patchMX []
 
static const KeyPatch patchPTBR []
 
static const KeyPatch patchES []
 
static const KeyPatch patchSE []
 
static const KeyPatch patchJP []
 
static const KeyPatch patchDvorak []
 
static const Key K68TopRow []
 
static const Key K65TopRow []
 
static const Key K63TopRow []
 
static const Key KStrafeKeys []
 
static const Key M65Keys []
 
static const Key SabreKeys []
 
static const Key HarpoonKeys []
 
static const Key GlaiveKeys []
 
static const Key ScimKeys []
 
static const Key K95PLbar []
 
static QHash< QString, KeyK95BaseMap
 
static QHash< QString, KeystandardMaps [KeyMap::_MODEL_MAX][KeyMap::_LAYOUT_MAX]
 

Data Structure Documentation

struct KeyPatch

Definition at line 32 of file keymap.cpp.

+ Collaboration diagram for KeyPatch:
Data Fields
const char * _friendlyName
const char * _storageName
const char * name

Macro Definition Documentation

#define ANSI_ENTER_H   12

Definition at line 27 of file keymap.cpp.

Referenced by patchANSI().

#define ANSI_ENTER_W   26

Definition at line 26 of file keymap.cpp.

Referenced by patchANSI().

#define ANSI_ENTER_X   199

Definition at line 24 of file keymap.cpp.

Referenced by patchANSI().

#define ANSI_ENTER_Y   51

Definition at line 25 of file keymap.cpp.

Referenced by patchANSI().

#define ANSI_LSHIFT_W   26

Definition at line 29 of file keymap.cpp.

Referenced by patchANSI(), and patchJP106().

#define ANSI_LSHIFT_X   45

Definition at line 28 of file keymap.cpp.

Referenced by patchANSI(), and patchJP106().

#define GLAIVE_HEIGHT   M65_HEIGHT

Definition at line 310 of file keymap.cpp.

#define GLAIVE_WIDTH   M65_WIDTH

Definition at line 309 of file keymap.cpp.

#define HARPOON_HEIGHT   M65_HEIGHT

Definition at line 298 of file keymap.cpp.

#define HARPOON_WIDTH   M65_WIDTH

Definition at line 297 of file keymap.cpp.

#define K63_HEIGHT   K65_HEIGHT

Definition at line 233 of file keymap.cpp.

#define K63_TOP_COUNT   (sizeof(K63TopRow) / sizeof(Key))

Definition at line 248 of file keymap.cpp.

Referenced by getMap().

#define K63_WIDTH   K65_WIDTH

Definition at line 232 of file keymap.cpp.

Referenced by KeyMap::modelWidth().

#define K65_HEIGHT   K70_HEIGHT

Definition at line 229 of file keymap.cpp.

#define K65_TOP_COUNT   (sizeof(K65TopRow) / sizeof(Key))

Definition at line 243 of file keymap.cpp.

Referenced by getMap().

#define K65_WIDTH   209

Definition at line 228 of file keymap.cpp.

Referenced by getMap(), and KeyMap::modelWidth().

#define K68_HEIGHT   K70_HEIGHT

Definition at line 225 of file keymap.cpp.

#define K68_TOP_COUNT   (sizeof(K68TopRow) / sizeof(Key))

Definition at line 238 of file keymap.cpp.

Referenced by getMap().

#define K68_WIDTH   K70_WIDTH

Definition at line 224 of file keymap.cpp.

Referenced by KeyMap::modelWidth().

#define K70_HEIGHT   K95_HEIGHT

Definition at line 222 of file keymap.cpp.

#define K70_WIDTH   (K95_WIDTH - K70_X_START)

Definition at line 221 of file keymap.cpp.

Referenced by KeyMap::modelWidth().

#define K70_X_START   38

Definition at line 220 of file keymap.cpp.

Referenced by getMap().

#define K95_HEIGHT   76

Definition at line 213 of file keymap.cpp.

Referenced by KeyMap::modelHeight().

#define K95_WIDTH   298

Definition at line 212 of file keymap.cpp.

Referenced by KeyMap::modelWidth().

#define K95P_HEIGHT   82

Definition at line 215 of file keymap.cpp.

Referenced by KeyMap::modelHeight().

#define K95P_WIDTH   (K95_WIDTH - K95P_X_START + 1)

Definition at line 217 of file keymap.cpp.

Referenced by KeyMap::modelWidth().

#define K95P_X_START   20

Definition at line 216 of file keymap.cpp.

Referenced by getMap().

#define KEYCOUNT_GLAIVE   (sizeof(GlaiveKeys) / sizeof(Key))

Definition at line 307 of file keymap.cpp.

Referenced by getMap().

#define KEYCOUNT_HARPOON   (sizeof(HarpoonKeys) / sizeof(Key))

Definition at line 295 of file keymap.cpp.

Referenced by getMap().

#define KEYCOUNT_K95   (sizeof(K95Keys) / sizeof(Key))

Definition at line 21 of file keymap.cpp.

Referenced by getMap().

#define KEYCOUNT_M65   (sizeof(M65Keys) / sizeof(Key))

Definition at line 270 of file keymap.cpp.

Referenced by getMap().

#define KEYCOUNT_SABRE   (sizeof(SabreKeys) / sizeof(Key))

Definition at line 283 of file keymap.cpp.

Referenced by getMap().

#define KEYCOUNT_SCIM   (sizeof(ScimKeys) / sizeof(Key))

Definition at line 324 of file keymap.cpp.

Referenced by getMap().

#define KSTRAFE_HEIGHT   K95_HEIGHT

Definition at line 253 of file keymap.cpp.

#define KSTRAFE_WIDTH   (K70_WIDTH + (KSTRAFE_X_START * 2))

Definition at line 252 of file keymap.cpp.

Referenced by KeyMap::modelWidth().

#define KSTRAFE_X_START   12

Definition at line 251 of file keymap.cpp.

Referenced by getMap().

#define LBARCOUNT_K95P   (sizeof(K95PLbar) / sizeof(Key))

Definition at line 336 of file keymap.cpp.

Referenced by getMap().

#define LBS   17, 6

Definition at line 9 of file keymap.cpp.

#define M65_HEIGHT   67

Definition at line 273 of file keymap.cpp.

Referenced by KeyMap::modelHeight().

#define M65_WIDTH   52

Definition at line 272 of file keymap.cpp.

Referenced by KeyMap::modelWidth().

#define N_LAYOUTS   KeyMap::_LAYOUT_MAX

Definition at line 341 of file keymap.cpp.

Referenced by getMap().

#define N_MODELS   KeyMap::_MODEL_MAX

Definition at line 340 of file keymap.cpp.

Referenced by getMap().

#define NS   12, 12

Definition at line 6 of file keymap.cpp.

#define patch (   map,
  patches 
)    _patch(map, patches, PATCH_COUNT(patches))

Definition at line 120 of file keymap.cpp.

Referenced by getMap().

#define PATCH_COUNT (   patch)    (sizeof(patch) / sizeof(KeyPatch))

Definition at line 119 of file keymap.cpp.

#define SABRE_HEIGHT   M65_HEIGHT

Definition at line 286 of file keymap.cpp.

#define SABRE_WIDTH   M65_WIDTH

Definition at line 285 of file keymap.cpp.

#define SCIM_HEIGHT   M65_HEIGHT

Definition at line 327 of file keymap.cpp.

#define SCIM_WIDTH   M65_WIDTH

Definition at line 326 of file keymap.cpp.

Function Documentation

static void _patch ( QHash< QString, Key > &  map,
const KeyPatch patches,
int  patchCount 
)
static

Definition at line 121 of file keymap.cpp.

References Key::_friendlyName, and Key::_storageName.

121  {
122  for(const KeyPatch* p = patches; p < patches + patchCount; p++){
123  Key& key = map[p->name];
124  key._storageName = p->_storageName;
125  key._friendlyName = p->_friendlyName;
126  }
127 }
Definition: keymap.h:49
const char * _storageName
Definition: keymap.h:10
Definition: keymap.h:8
const char * _friendlyName
Definition: keymap.h:13
static QHash<QString, Key> getMap ( KeyMap::Model  model,
KeyMap::Layout  layout 
)
static

Definition at line 344 of file keymap.cpp.

References KeyMap::DE, KeyMap::DK, KeyMap::ES, KeyMap::EU, KeyMap::EU_DVORAK, KeyMap::FR, KeyMap::GB_DVORAK, KeyMap::GLAIVE, KeyMap::HARPOON, Key::height, KeyMap::isISO(), KeyMap::isJP(), KeyMap::isPTBR(), KeyMap::IT, KeyMap::JP, KeyMap::K63, K63_TOP_COUNT, KeyMap::K65, K65_TOP_COUNT, K65_WIDTH, KeyMap::K68, K68_TOP_COUNT, KeyMap::K70, K70_X_START, KeyMap::K95, K95BaseMap, KeyMap::K95P, K95P_X_START, KEYCOUNT_GLAIVE, KEYCOUNT_HARPOON, KEYCOUNT_K95, KEYCOUNT_M65, KEYCOUNT_SABRE, KEYCOUNT_SCIM, KSTRAFE_X_START, LBARCOUNT_K95P, KeyMap::M65, KeyMap::MX, N_LAYOUTS, N_MODELS, key::name, KeyMap::NO, patch, patchABNT2(), patchANSI(), patchISO(), patchJP106(), patchJP106fn(), KeyMap::PT_BR, KeyMap::SABRE, KeyMap::SCIMITAR, KeyMap::SE, standardMaps, KeyMap::STRAFE, KeyMap::US_DVORAK, Key::width, Key::x, and Key::y.

344  {
345  if(model < 0 || layout < 0 || model >= N_MODELS || layout >= N_LAYOUTS)
346  return QHash<QString, Key>();
347  // Return the map if it's already filled out
348  QHash<QString, Key>& map = standardMaps[model][layout];
349  if(!map.empty())
350  return map;
351  // Otherwise, create it
352  switch(model){
353  case KeyMap::K95:{
354  // The K95 maps serve as bases for all the other keyboards
355  // Fetch the master map, or create it if not yet done
356  if(K95BaseMap.empty()){
357  for(const Key* key = K95Keys; key < K95Keys + KEYCOUNT_K95; key++)
358  K95BaseMap[key->name] = *key;
359  }
360  map = K95BaseMap;
361  // Patch the map for the layout
362  switch(layout){
363  case KeyMap::DK:
364  patch(map, patchDK);
365  break;
366  case KeyMap::EU_DVORAK:
367  patch(map, patchDvorak); // fall through
368  case KeyMap::EU:
369  patch(map, patchEU);
370  break;
371  case KeyMap::GB_DVORAK:
372  case KeyMap::US_DVORAK:
373  patch(map, patchDvorak);
374  break;
375  case KeyMap::FR:
376  patch(map, patchFR);
377  break;
378  case KeyMap::DE:
379  patch(map, patchDE);
380  break;
381  case KeyMap::IT:
382  patch(map, patchIT);
383  break;
384  case KeyMap::NO:
385  patch(map, patchNO);
386  break;
387  case KeyMap::MX:
388  patch(map, patchMX);
389  break;
390  case KeyMap::PT_BR:
391  patch(map, patchPTBR);
392  break;
393  case KeyMap::ES:
394  patch(map, patchES);
395  break;
396  case KeyMap::SE:
397  patch(map, patchSE);
398  break;
399  case KeyMap::JP:
400  patch(map, patchJP);
401  break;
402  default:;
403  // English QWERTY - no patch needed
404  }
405  if(KeyMap::isJP(layout))
406  patchJP106(map);
407  else if(KeyMap::isPTBR(layout))
408  patchABNT2(map);
409  else if(KeyMap::isISO(layout))
410  patchISO(map);
411  else
412  patchANSI(map);
413  // Done! return the map
414  break;
415  }
416  case KeyMap::K95P:{
417  // The K95 Platinum map is based on the K95
418  map = getMap(KeyMap::K95, layout);
419  // Remove excess G keys
420  map.remove("g7");
421  map.remove("g8");
422  map.remove("g9");
423  map.remove("g10");
424  map.remove("g11");
425  map.remove("g12");
426  map.remove("g13");
427  map.remove("g14");
428  map.remove("g15");
429  map.remove("g16");
430  map.remove("g17");
431  map.remove("g18");
432  // Place the remaining G keys vertically
433  map["g1"].x = 22;
434  map["g2"].x = 22;
435  map["g3"].x = 22;
436  map["g4"].x = 22;
437  map["g5"].x = 22;
438  map["g6"].x = 22;
439  //map["g1"].y = 14+(12*0);
440  map["g2"].y = 26; //14+(12*1)
441  map["g3"].y = 38; //14+(12*2)
442  map["g4"].y = 50; //14+(12*3)
443  map["g5"].y = 62; //14+(12*4)
444  map["g6"].y = 74; //14+(12*5)
445  // Remove M keys
446  map.remove("m1");
447  map.remove("m2");
448  map.remove("m3");
449  // Centre MR/Brightness/Winlock between F1 and F4
450  map["mr"].x = 64;
451  map["light"].x = 75;
452  map["lock"].x = 86;
453  // Resize them
454  map["mr"].height = 8;
455  map["light"].height = 8;
456  map["lock"].height = 8;
457  map["mr"].width = 11;
458  map["light"].width = 11;
459  map["lock"].width = 11;
460  // Mute is above Stop
461  map["mute"].x -= 11;
462  map["voldn"].x -= 11;
463  map["volup"].x -= 11;
464  // Move the buttons on the top a bit further down to centre them
465  map["mr"].y += 1;
466  map["light"].y += 1;
467  map["lock"].y += 1;
468  map["mute"].y += 1;
469  map["voldn"].y += 1;
470  map["volup"].y += 1;
471  // Shift all keys down (to make room for the lightbar), and to the left
472  QMutableHashIterator<QString, Key> i(map);
473  while(i.hasNext()){
474  i.next();
475  i.value().x -= K95P_X_START;
476  i.value().y += 6;
477  }
478  // Add lightbar
479  for(const Key* key = K95PLbar; key < K95PLbar + LBARCOUNT_K95P; key++)
480  map.insert(key->name, *key);
481 
482  break;
483  }
484  case KeyMap::K70:{
485  // The K70 maps are based on the K95 maps. However all the keys are shifted left and the G keys are removed
486  map = getMap(KeyMap::K95, layout);
487  QMutableHashIterator<QString, Key> i(map);
488  while(i.hasNext()){
489  i.next();
490  // Move key to left. Remove it if it fell off the edge
491  if((i.value().x -= K70_X_START) < 0)
492  i.remove();
493  }
494  // Remove the M buttons as well
495  map.remove("mr");
496  map.remove("m1");
497  map.remove("m2");
498  map.remove("m3");
499  // Done!
500  break;
501  }
502  case KeyMap::K68:{
503  // Same as the K70, except volume up and down keys
504  map = getMap(KeyMap::K70, layout);
505  for(const Key* key = K68TopRow; key < K68TopRow + K68_TOP_COUNT; key++)
506  map[key->name] = *key;
507 
508  break;
509  }
510  case KeyMap::K65:{
511  // The K65 maps additionally remove the numpad and have a modified top row
512  map = getMap(KeyMap::K70, layout);
513  QMutableHashIterator<QString, Key> i(map);
514  while(i.hasNext()){
515  i.next();
516  if(i.value().x >= K65_WIDTH)
517  i.remove();
518  }
519  for(const Key* key = K65TopRow; key < K65TopRow + K65_TOP_COUNT; key++)
520  map[key->name] = *key;
521 
522  map.remove("rwin");
523  map["fn"] = KStrafeKeys[3];
524  map["fn"].x -= 12;
525 
526  if(KeyMap::isJP(layout))
527  patchJP106fn(map);
528 
529  // Done!
530  break;
531  }
532  case KeyMap::K63:{
533  // Same as the K65 but without the Fn key
534  map = getMap(KeyMap::K70, layout);
535  QMutableHashIterator<QString, Key> i(map);
536  while(i.hasNext()){
537  i.next();
538  if(i.value().x >= K65_WIDTH)
539  i.remove();
540  }
541  for(const Key* key = K63TopRow; key < K63TopRow + K63_TOP_COUNT; key++)
542  map[key->name] = *key;
543 
544  break;
545  }
546  case KeyMap::STRAFE:{
547  // The Strafe RGB maps are based on the K70 map minus the media keys
548  map = getMap(KeyMap::K70, layout);
549  //move light and lock right
550  map["light"].x=285 - K70_X_START;
551  //map["light"].hasLed=false;
552  map["lock"].x=297 - K70_X_START;
553  //map["lock"].hasLed=false;
554  // move everything right to make the space for the left sidelight
555  QMutableHashIterator<QString, Key> i(map);
556  while(i.hasNext()){
557  i.next();
558  i.value().x += KSTRAFE_X_START;
559  }
560  // Add Strafe lights and keys
561  map["lsidel"] = KStrafeKeys[0];
562  map["rsidel"] = KStrafeKeys[1];
563  map["logo"] = KStrafeKeys[2];
564  map["fn"] = KStrafeKeys[3];
565  map.remove("rwin");
566  // remove media controls
567  map.remove("mute");
568  map.remove("volup");
569  map.remove("voldn");
570  map.remove("stop");
571  map.remove("prev");
572  map.remove("play");
573  map.remove("next");
574 
575  if(KeyMap::isJP(layout))
576  patchJP106fn(map);
577 
578  // Done!
579  break;
580  }
581  case KeyMap::M65:{
582  // M65 isn't a keyboard; all mouse maps are unique.
583  for(const Key* key = M65Keys; key < M65Keys + KEYCOUNT_M65; key++){
584  // Keyboard keys are written from the center because that's where the LEDs are, but the mouse buttons are odd shapes so they're
585  // written from the upper left
586  Key translatedKey = *key;
587  translatedKey.x += translatedKey.width / 2;
588  translatedKey.y += translatedKey.height / 2;
589  map[key->name] = translatedKey;
590  }
591  // Mice also have no layout patches - no other changes necessary
592  break;
593  }
594  case KeyMap::SABRE:{
595  // Sabre mouse
596  for(const Key* key = SabreKeys; key < SabreKeys + KEYCOUNT_SABRE; key++){
597  // Like the M65, the keys are upper-left justified
598  Key translatedKey = *key;
599  translatedKey.x += translatedKey.width / 2;
600  translatedKey.y += translatedKey.height / 2;
601  map[key->name] = translatedKey;
602  }
603  break;
604  }
605  case KeyMap::SCIMITAR:{
606  // Scimitar mouse
607  for(const Key* key = ScimKeys; key < ScimKeys + KEYCOUNT_SCIM; key++){
608  Key translatedKey = *key;
609  translatedKey.x += translatedKey.width / 2;
610  translatedKey.y += translatedKey.height / 2;
611  map[key->name] = translatedKey;
612  }
613  break;
614  }
615  case KeyMap::HARPOON:{
616  // Harpoon mouse
617  for(const Key* key = HarpoonKeys; key < HarpoonKeys + KEYCOUNT_HARPOON; key++){
618  Key translatedKey = *key;
619  translatedKey.x += translatedKey.width / 2;
620  translatedKey.y += translatedKey.height / 2;
621  map[key->name] = translatedKey;
622  }
623  break;
624  }
625  case KeyMap::GLAIVE:{
626  // Glaive mouse
627  for(const Key* key = GlaiveKeys; key < GlaiveKeys + KEYCOUNT_GLAIVE; key++){
628  Key translatedKey = *key;
629  translatedKey.x += translatedKey.width / 2;
630  translatedKey.y += translatedKey.height / 2;
631  map[key->name] = translatedKey;
632  }
633  break;
634  }
635  default:; // <- stop GCC from complaining
636  }
637  // Map is finished, return result
638  return map;
639 }
static const KeyPatch patchDE[]
Definition: keymap.cpp:57
static QHash< QString, Key > getMap(KeyMap::Model model, KeyMap::Layout layout)
Definition: keymap.cpp:344
#define N_MODELS
Definition: keymap.cpp:340
static void patchJP106(QHash< QString, Key > &map)
Definition: keymap.cpp:154
static const KeyPatch patchEU[]
Definition: keymap.cpp:45
static void patchABNT2(QHash< QString, Key > &map)
Definition: keymap.cpp:198
#define K65_TOP_COUNT
Definition: keymap.cpp:243
#define KEYCOUNT_HARPOON
Definition: keymap.cpp:295
static const KeyPatch patchFR[]
Definition: keymap.cpp:50
static const KeyPatch patchJP[]
Definition: keymap.cpp:106
short width
Definition: keymap.h:17
static const Key K65TopRow[]
Definition: keymap.cpp:240
#define KEYCOUNT_GLAIVE
Definition: keymap.cpp:307
#define KSTRAFE_X_START
Definition: keymap.cpp:251
static const KeyPatch patchMX[]
Definition: keymap.cpp:78
static const Key K95PLbar[]
Definition: keymap.cpp:330
static const KeyPatch patchIT[]
Definition: keymap.cpp:64
short height
Definition: keymap.h:17
static const Key GlaiveKeys[]
Definition: keymap.cpp:301
Definition: keymap.h:49
static const Key K68TopRow[]
Definition: keymap.cpp:235
#define KEYCOUNT_M65
Definition: keymap.cpp:270
static const KeyPatch patchDK[]
Definition: keymap.cpp:38
static const Key KStrafeKeys[]
Definition: keymap.cpp:255
#define LBARCOUNT_K95P
Definition: keymap.cpp:336
#define K95P_X_START
Definition: keymap.cpp:216
static const KeyPatch patchES[]
Definition: keymap.cpp:92
static void patchISO(QHash< QString, Key > &map)
Definition: keymap.cpp:137
bool isJP() const
Definition: keymap.h:99
static QHash< QString, Key > standardMaps[KeyMap::_MODEL_MAX][KeyMap::_LAYOUT_MAX]
Definition: keymap.cpp:343
static void patchANSI(QHash< QString, Key > &map)
Definition: keymap.cpp:141
static const Key K95Keys[]
Definition: keymap.cpp:12
#define K70_X_START
Definition: keymap.cpp:220
short x
Definition: keymap.h:16
const char * name
Definition: keymap.h:50
static const KeyPatch patchPTBR[]
Definition: keymap.cpp:85
bool isISO() const
Definition: keymap.h:95
#define N_LAYOUTS
Definition: keymap.cpp:341
static QHash< QString, Key > K95BaseMap
Definition: keymap.cpp:342
#define K65_WIDTH
Definition: keymap.cpp:228
#define patch(map, patches)
Definition: keymap.cpp:120
Definition: keymap.h:8
#define KEYCOUNT_K95
Definition: keymap.cpp:21
static const KeyPatch patchNO[]
Definition: keymap.cpp:71
#define K63_TOP_COUNT
Definition: keymap.cpp:248
static const Key M65Keys[]
Definition: keymap.cpp:263
static void patchJP106fn(QHash< QString, Key > &map)
Definition: keymap.cpp:189
static const Key SabreKeys[]
Definition: keymap.cpp:276
static const Key ScimKeys[]
Definition: keymap.cpp:313
bool isPTBR() const
Definition: keymap.h:103
#define KEYCOUNT_SCIM
Definition: keymap.cpp:324
static const Key K63TopRow[]
Definition: keymap.cpp:245
#define K68_TOP_COUNT
Definition: keymap.cpp:238
static const Key HarpoonKeys[]
Definition: keymap.cpp:289
static const KeyPatch patchSE[]
Definition: keymap.cpp:99
#define KEYCOUNT_SABRE
Definition: keymap.cpp:283
short y
Definition: keymap.h:16
static const KeyPatch patchDvorak[]
Definition: keymap.cpp:111

+ Here is the call graph for this function:

static void patchABNT2 ( QHash< QString, Key > &  map)
static

Definition at line 198 of file keymap.cpp.

References Key::width, and Key::x.

Referenced by getMap().

198  {
199  map.remove("yen");
200  map.remove("henkan");
201  map.remove("muhenkan");
202  map.remove("katahira");
203  map.remove("bslash");
204 
205  // Resize RShift
206  Key& rshift = map["rshift"];
207  rshift.width -= 12;
208  rshift.x += 6;
209 }
short width
Definition: keymap.h:17
short x
Definition: keymap.h:16
Definition: keymap.h:8

+ Here is the caller graph for this function:

static void patchANSI ( QHash< QString, Key > &  map)
static

Definition at line 141 of file keymap.cpp.

References ANSI_ENTER_H, ANSI_ENTER_W, ANSI_ENTER_X, ANSI_ENTER_Y, ANSI_LSHIFT_W, ANSI_LSHIFT_X, Key::height, patchnonJP106(), Key::width, Key::x, and Key::y.

Referenced by getMap().

141  {
142  patchnonJP106(map);
143  map.remove("bslash_iso");
144  map.remove("hash");
145  Key& enter = map["enter"];
146  enter.x = ANSI_ENTER_X;
147  enter.y = ANSI_ENTER_Y;
148  enter.width = ANSI_ENTER_W;
149  enter.height = ANSI_ENTER_H;
150  Key& lshift = map["lshift"];
151  lshift.x = ANSI_LSHIFT_X;
152  lshift.width = ANSI_LSHIFT_W;
153 }
#define ANSI_ENTER_W
Definition: keymap.cpp:26
short width
Definition: keymap.h:17
#define ANSI_ENTER_H
Definition: keymap.cpp:27
short height
Definition: keymap.h:17
#define ANSI_ENTER_X
Definition: keymap.cpp:24
short x
Definition: keymap.h:16
#define ANSI_ENTER_Y
Definition: keymap.cpp:25
static void patchnonJP106(QHash< QString, Key > &map)
Definition: keymap.cpp:130
Definition: keymap.h:8
#define ANSI_LSHIFT_X
Definition: keymap.cpp:28
#define ANSI_LSHIFT_W
Definition: keymap.cpp:29
short y
Definition: keymap.h:16

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void patchISO ( QHash< QString, Key > &  map)
static

Definition at line 137 of file keymap.cpp.

References patchnonJP106().

Referenced by getMap().

137  {
138  patchnonJP106(map);
139  map.remove("bslash");
140 }
static void patchnonJP106(QHash< QString, Key > &map)
Definition: keymap.cpp:130

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void patchJP106 ( QHash< QString, Key > &  map)
static

Definition at line 154 of file keymap.cpp.

References ANSI_LSHIFT_W, ANSI_LSHIFT_X, Key::width, and Key::x.

Referenced by getMap().

154  {
155  // First apply the ISO patch
156  map.remove("bslash");
157 
158  // Resize Backspace
159  Key& bspace = map["bspace"];
160  bspace.width -= 12;
161  bspace.x = 206;
162 
163  // Resize RShift
164  Key& rshift = map["rshift"];
165  rshift.width -= 12;
166  rshift.x += 6;
167 
168  // Resize Spacebar
169  Key& space = map["space"];
170  space.width -= 26;
171  space.x -= 1;
172 
173  // Left shift
174  Key& lshift = map["lshift"];
175  lshift.x = ANSI_LSHIFT_X;
176  lshift.width = ANSI_LSHIFT_W;
177 
178  map.remove("bslash_iso");
179 
180  // Resize and move ralt to make space for the extra keys
181  Key& ralt = map["ralt"];
182  ralt.x += 11;
183  ralt.width += 2;
184 
185  // None of these layouts have rwin
186  map.remove("rwin");
187 }
short width
Definition: keymap.h:17
short x
Definition: keymap.h:16
Definition: keymap.h:8
#define ANSI_LSHIFT_X
Definition: keymap.cpp:28
#define ANSI_LSHIFT_W
Definition: keymap.cpp:29

+ Here is the caller graph for this function:

static void patchJP106fn ( QHash< QString, Key > &  map)
static

Definition at line 189 of file keymap.cpp.

References Key::width, and Key::x.

Referenced by getMap().

189  {
190  if(map.contains("fn")){
191  map.remove("ralt");
192  Key& fn = map["fn"];
193  fn.width += 4;
194  fn.x -= 2;
195  }
196 }
short width
Definition: keymap.h:17
short x
Definition: keymap.h:16
Definition: keymap.h:8

+ Here is the caller graph for this function:

static void patchnonJP106 ( QHash< QString, Key > &  map)
static

Definition at line 130 of file keymap.cpp.

Referenced by patchANSI(), and patchISO().

130  {
131  map.remove("yen");
132  map.remove("henkan");
133  map.remove("muhenkan");
134  map.remove("katahira");
135  map.remove("ro");
136 }

+ Here is the caller graph for this function:

Variable Documentation

const Key GlaiveKeys[]
static
Initial value:
= {
{0, "Left Mouse", "mouse1", 17, 3, 14, 18, false, true}, {0, "Right Mouse", "mouse2", 37, 3, 14, 18, false, true}, {0, "Middle Mouse", "mouse3", 31, 9, 7, 7, false, true}, {0, "Front light", "front", 16, -5, 36, 8, true, false },
{0, "Wheel Up", "wheelup", 31, 5, 7, 5, false, true}, {0, "Wheel Down", "wheeldn", 31, 15, 7, 5, false, true}, {0, "Side Lights", "side", 22, 24, 7, 20, true, false},
{0, "DPI Cycle", "dpiup", 31, 19, 6, 12, false, true}, {0, "Logo Light", "back", 24, 43, 20, 20, true, false},
{0, "Forward", "mouse5", 15, 22, 5, 11, false, true}, {0, "Back", "mouse4", 15, 32, 5, 11, false, true}
}

Definition at line 301 of file keymap.cpp.

const Key HarpoonKeys[]
static
Initial value:
= {
{0, "Left Mouse", "mouse1", 10, 5, 14, 26, false, true}, {0, "Right Mouse", "mouse2", 30, 5, 14, 26, false, true}, {0, "Middle Mouse", "mouse3", 25, 11, 6, 7, false, true},
{0, "Wheel Up", "wheelup", 25, 7, 6, 5, false, true}, {0, "Wheel Down", "wheeldn", 25, 17, 6, 5, false, true},
{0, "DPI Cycle", "dpiup", 25, 23, 6, 10, false, true}, {0, "Logo Light", "dpi", 17, 40, 20, 20, true, false},
{0, "Forward", "mouse5", 3, 24, 5, 10, false, true}, {0, "Back", "mouse4", 3, 33, 5, 10, false, true}
}

Definition at line 289 of file keymap.cpp.

const Key K63TopRow[]
static
Initial value:
= {
{0, "Stop", "stop", 38 - 37, 0, 12, 8, true, true}, {0, "Previous", "prev", 38 - 26, 0, 12, 8, true, true}, {0, "Play/Pause", "play", 38 - 15, 0, 12, 8, true, true}, {0, "Next", "next", 38 - 4, 0, 12, 8, true, true}, {0, "Brightness", "light", 170 - 38 , 0, 12, 12, true, true}, {0, "Windows Lock", "lock", 180 - 38 , 0, 12, 12, true, true}, {0, "Mute", "mute", 222 - 38 , 0, 13, 8, true, true}, {0, "Volume Down", "voldn", 234 - 38 , 0, 13, 8, true, true}, {0, "Volume Up", "volup", 246 - 38 , 0, 13, 8, true, true}
}

Definition at line 245 of file keymap.cpp.

const Key K65TopRow[]
static
Initial value:
= {
{0, "Brightness", "light", 164 - 38 , 0, 12, 12, true, true}, {0, "Mute", "mute", 176 - 38 , 0, 12, 12, true, true}, {0, "Volume Down", "voldn", 192 - 38 , 0, 14, 8, true, true}, {0, "Volume Up", "volup", 205 - 38 , 0, 14, 8, true, true}, {0, "Windows Lock", "lock", 222 - 38 , 0, 12, 12, true, true}
}

Definition at line 240 of file keymap.cpp.

const Key K68TopRow[]
static
Initial value:
= {
{0, "Volume Down", "voldn", 285 - 38 , 0, 13, 8, true, true}, {0, "Volume Up", "volup", 297 - 38 , 0, 13, 8, true, true},
}

Definition at line 235 of file keymap.cpp.

QHash<QString, Key> K95BaseMap
static

Definition at line 342 of file keymap.cpp.

Referenced by getMap().

const Key K95Keys[]
static
Initial value:
= {
{0, 0, "mr", 38, 0, 12, 12 , true, true}, {0, 0, "m1", 50, 0, 12, 12 , true, true}, {0, 0, "m2", 62, 0, 12, 12 , true, true}, {0, 0, "m3", 74, 0, 12, 12 , true, true}, {0, "Brightness", "light", 222, 0, 12, 12 , true, true}, {0, "Windows Lock", "lock", 234, 0, 12, 12 , true, true}, {0, "Mute", "mute", 273, 0, 13, 8, true, true}, {0, "Volume Up", "volup", 290, -2, 18, 6, false, true}, {0, "Volume down", "voldn", 290, 2, 18, 6, false, true},
{0, 0, "g1", 0, 14, 12, 12 , true, true}, {0, 0, "g2", 11, 14, 12, 12 , true, true}, {0, 0, "g3", 22, 14, 12, 12 , true, true}, {0, "Esc", "esc", 38, 14, 12, 12 , true, true}, {0, 0, "f1", 58, 14, 12, 12 , true, true}, {0, 0, "f2", 70, 14, 12, 12 , true, true}, {0, 0, "f3", 82, 14, 12, 12 , true, true}, {0, 0, "f4", 94, 14, 12, 12 , true, true}, {0, 0, "f5", 114, 14, 12, 12 , true, true}, {0, 0, "f6", 126, 14, 12, 12 , true, true}, {0, 0, "f7", 138, 14, 12, 12 , true, true}, {0, 0, "f8", 150, 14, 12, 12 , true, true}, {0, 0, "f9", 170, 14, 12, 12 , true, true}, {0, 0, "f10", 182, 14, 12, 12 , true, true}, {0, 0, "f11", 194, 14, 12, 12 , true, true}, {0, 0, "f12", 206, 14, 12, 12 , true, true}, {0, "Print Screen\nSysRq", "prtscn", 222, 14, 12, 12 , true, true}, {0, "Scroll Lock", "scroll", 234, 14, 12, 12 , true, true}, {0, "Pause\nBreak", "pause", 246, 14, 12, 12 , true, true}, {0, "Stop", "stop", 262, 14, 12, 8, true, true}, {0, "Previous", "prev", 273, 14, 13, 8, true, true}, {0, "Play/Pause", "play", 285, 14, 13, 8, true, true}, {0, "Next", "next", 296, 14, 12, 8, true, true},
{0, 0, "g4", 0, 25, 12, 12 , true, true}, {0, 0, "g5", 11, 25, 12, 12 , true, true}, {0, 0, "g6", 22, 25, 12, 12 , true, true}, {0, "`", "grave", 38, 27, 12, 12 , true, true}, {0, 0, "1", 50, 27, 12, 12 , true, true}, {0, 0, "2", 62, 27, 12, 12 , true, true}, {0, 0, "3", 74, 27, 12, 12 , true, true}, {0, 0, "4", 86, 27, 12, 12 , true, true}, {0, 0, "5", 98, 27, 12, 12 , true, true}, {0, 0, "6", 110, 27, 12, 12 , true, true}, {0, 0, "7", 122, 27, 12, 12 , true, true}, {0, 0, "8", 134, 27, 12, 12 , true, true}, {0, 0, "9", 146, 27, 12, 12 , true, true}, {0, 0, "0", 158, 27, 12, 12 , true, true}, {0, "-", "minus", 170, 27, 12, 12 , true, true}, {0, "=", "equal", 182, 27, 12, 12 , true, true}, {0, "¥", "yen", 194, 27, 12, 12 , true, true}, {0, "Backspace", "bspace", 200, 27, 24, 12, true, true}, {0, "Insert", "ins", 222, 27, 12, 12 , true, true}, {0, "Home", "home", 234, 27, 12, 12 , true, true}, {0, "Page Up", "pgup", 246, 27, 12, 12 , true, true}, {0, "Num Lock", "numlock", 261, 27, 12, 12 , true, true}, {0, "NumPad /", "numslash", 273, 27, 12, 12 , true, true}, {0, "NumPad *", "numstar", 285, 27, 12, 12 , true, true}, {0, "NumPad -", "numminus", 297, 27, 12, 12 , true, true},
{0, 0, "g7", 0, 39, 12, 12 , true, true}, {0, 0, "g8", 11, 39, 12, 12 , true, true}, {0, 0, "g9", 22, 39, 12, 12 , true, true}, {0, "Tab", "tab", 41, 39, 18, 12, true, true}, {0, 0, "q", 56, 39, 12, 12 , true, true}, {0, 0, "w", 68, 39, 12, 12 , true, true}, {0, 0, "e", 80, 39, 12, 12 , true, true}, {0, 0, "r", 92, 39, 12, 12 , true, true}, {0, 0, "t", 104, 39, 12, 12 , true, true}, {0, 0, "y", 116, 39, 12, 12 , true, true}, {0, 0, "u", 128, 39, 12, 12 , true, true}, {0, 0, "i", 140, 39, 12, 12 , true, true}, {0, 0, "o", 152, 39, 12, 12 , true, true}, {0, 0, "p", 164, 39, 12, 12 , true, true}, {0, "[", "lbrace", 176, 39, 12, 12 , true, true}, {0, "]", "rbrace", 188, 39, 12, 12 , true, true}, {0, "\\", "bslash", 203, 39, 18, 12, true, true}, {0, "Enter", "enter", 203, 39, 18, 24, true, true}, {0, "Delete", "del", 222, 39, 12, 12 , true, true}, {0, "End", "end", 234, 39, 12, 12 , true, true}, {0, "Page Down", "pgdn", 246, 39, 12, 12 , true, true}, {0, "NumPad 7", "num7", 261, 39, 12, 12 , true, true}, {0, "NumPad 8", "num8", 273, 39, 12, 12 , true, true}, {0, "NumPad 9", "num9", 285, 39, 12, 12 , true, true}, {0, "NumPad +", "numplus", 297, 45, 12, 24, true, true},
{0, 0, "g10", 0, 50, 12, 12 , true, true}, {0, 0, "g11", 11, 50, 12, 12 , true, true}, {0, 0, "g12", 22, 50, 12, 12 , true, true}, {0, "Caps Lock", "caps", 42, 51, 20, 12, true, true}, {0, 0, "a", 59, 51, 12, 12 , true, true}, {0, 0, "s", 71, 51, 12, 12 , true, true}, {0, 0, "d", 83, 51, 12, 12 , true, true}, {0, 0, "f", 95, 51, 12, 12 , true, true}, {0, 0, "g", 107, 51, 12, 12 , true, true}, {0, 0, "h", 119, 51, 12, 12 , true, true}, {0, 0, "j", 131, 51, 12, 12 , true, true}, {0, 0, "k", 143, 51, 12, 12 , true, true}, {0, 0, "l", 155, 51, 12, 12 , true, true}, {0, ";", "colon", 167, 51, 12, 12 , true, true}, {0, "'", "quote", 179, 51, 12, 12 , true, true}, {0, "#", "hash", 191, 51, 12, 12 , true, true}, {0, "NumPad 4", "num4", 261, 51, 12, 12 , true, true}, {0, "NumPad 5", "num5", 273, 51, 12, 12 , true, true}, {0, "NumPad 6", "num6", 285, 51, 12, 12 , true, true},
{0, 0, "g13", 0, 64, 12, 12 , true, true}, {0, 0, "g14", 11, 64, 12, 12 , true, true}, {0, 0, "g15", 22, 64, 12, 12 , true, true}, {0, "Left Shift", "lshift", 39, 63, 14, 12, true, true}, {"bslash", "\\", "bslash_iso", 53, 63, 12, 12 , true, true}, {0, 0, "z", 65, 63, 12, 12 , true, true}, {0, 0, "x", 77, 63, 12, 12 , true, true}, {0, 0, "c", 89, 63, 12, 12 , true, true}, {0, 0, "v", 101, 63, 12, 12 , true, true}, {0, 0, "b", 113, 63, 12, 12 , true, true}, {0, 0, "n", 125, 63, 12, 12 , true, true}, {0, 0, "m", 137, 63, 12, 12 , true, true}, {0, ",", "comma", 149, 63, 12, 12 , true, true}, {0, ".", "dot", 161, 63, 12, 12 , true, true}, {0, "/", "slash", 173, 63, 12, 12 , true, true}, {0, "_", "ro", 185, 63, 12, 12 , true, true}, {0, "Right Shift", "rshift", 196, 63, 32, 12, true, true}, {0, "Up", "up", 234, 63, 12, 12 , true, true}, {0, "NumPad 1", "num1", 261, 63, 12, 12 , true, true}, {0, "NumPad 2", "num2", 273, 63, 12, 12 , true, true}, {0, "NumPad 3", "num3", 285, 63, 12, 12 , true, true}, {0, "NumPad Enter", "numenter", 297, 69, 12, 24, true, true},
{0, 0, "g16", 0, 75, 12, 12 , true, true}, {0, 0, "g17", 11, 75, 12, 12 , true, true}, {0, 0, "g18", 22, 75, 12, 12 , true, true}, {0, "Left Ctrl", "lctrl", 40, 75, 16, 12, true, true}, {0, "Left Windows", "lwin", 54, 75, 12, 12 , true, true}, {0, "Left Alt", "lalt", 67, 75, 14, 12, true, true}, {0, "無変換", "muhenkan", 80, 75, 12, 12 , true, true}, {0, "Space", "space", 116, 75, 84, 12, true, true}, {0, "変換", "henkan", 150, 75, 12, 12 , true, true}, {0, "ひらがな カタカナ ローマ字", "katahira", 162, 75, 12, 12 , true, true}, {0, "Right Alt", "ralt", 165, 75, 14, 12, true, true}, {0, "Right Windows", "rwin", 178, 75, 12, 12 , true, true}, {0, "Menu", "rmenu", 190, 75, 12, 12 , true, true}, {0, "Right Ctrl", "rctrl", 204, 75, 16, 12, true, true}, {0, "Left", "left", 222, 75, 12, 12 , true, true}, {0, "Down", "down", 234, 75, 12, 12 , true, true}, {0, "Right", "right", 246, 75, 12, 12 , true, true}, {0, "NumPad 0", "num0", 267, 75, 24, 12, true, true}, {0, "NumPad .", "numdot", 285, 75, 12, 12 , true, true}
}

Definition at line 12 of file keymap.cpp.

const Key K95PLbar[]
static
Initial value:
= {
{0, 0, "topbar1", 4, -3, 17, 6 , true, false}, {0, 0, "topbar2", 19, -3, 17, 6 , true, false}, {0, 0, "topbar3", 34, -3, 17, 6 , true, false}, {0, 0, "topbar4", 49, -3, 17, 6 , true, false}, {0, 0, "topbar5", 64, -3, 17, 6 , true, false}, {0, 0, "topbar6", 79, -3, 17, 6 , true, false},
{0, 0, "topbar7", 94, -3, 17, 6 , true, false}, {0, 0, "topbar8", 109, -3, 17, 6 , true, false}, {0, 0, "topbar9", 124, -3, 17, 6 , true, false}, {0, 0, "topbar10", 139, -3, 17, 6 , true, false}, {0, 0, "topbar11", 154, -3, 17, 6 , true, false}, {0, 0, "topbar12", 169, -3, 17, 6 , true, false},
{0, 0, "topbar13", 184, -3, 17, 6 , true, false}, {0, 0, "topbar14", 199, -3, 17, 6 , true, false}, {0, 0, "topbar15", 214, -3, 17, 6 , true, false}, {0, 0, "topbar16", 229, -3, 17, 6 , true, false}, {0, 0, "topbar17", 244, -3, 17, 6 , true, false}, {0, 0, "topbar18", 259, -3, 17, 6 , true, false},
{0, 0, "topbar19", 274, -3, 17, 6 , true, false},
}

Definition at line 330 of file keymap.cpp.

const Key KStrafeKeys[]
static
Initial value:
= {
{0, "Sidelight", "lsidel", 0, 76 /2, 12 , 76 , true, false},
{0, "Sidelight", "rsidel", ( ( 298 - 38 ) + ( 12 * 2)) , 76 /2, 12 , 76 , true, false},
{0, "Logo", "logo", 12 , 0, 12, 12 , true, false},
{0, "Function", "fn", 152, 75, 12, 12 , true, true}
}

Definition at line 255 of file keymap.cpp.

const Key M65Keys[]
static
Initial value:
= {
{0, "Left Mouse", "mouse1", 8, 0, 14, 32, false, true}, {0, "Right Mouse", "mouse2", 30, 0, 14, 32, false, true}, {0, "Middle Mouse", "mouse3", 22, 8, 8, 7, false, true},
{0, "Wheel Up", "wheelup", 22, 4, 8, 5, false, true}, {0, "Wheel Down", "wheeldn", 22, 14, 8, 5, false, true}, {0, "Wheel Light", "front", 22, 15, 8, 8, true, false},
{0, "DPI Up", "dpiup", 22, 19, 8, 6, false, true}, {0, "DPI Light", "dpi", 22, 24, 8, 8, true, false}, {0, "DPI Down", "dpidn", 22, 31, 8, 6, false, true},
{0, "Forward", "mouse5", 5, 24, 5, 9, false, true}, {0, "Back", "mouse4", 5, 33, 5, 10, false, true}, {0, "Sniper", "sniper", 0, 25, 5, 15, false, true},
{0, "Logo", "back", 14, 55, 24, 12, true, false}
}

Definition at line 263 of file keymap.cpp.

const KeyPatch patchDE[]
static
Initial value:
= {
{"caret", "^", "grave"}, {"ss", "ß", "minus"}, {"grave", "´", "equal"},
{"z", "Z", "y"}, {"ue", "Ü", "lbrace"}, {"plus", "+", "rbrace"},
{"oe", "Ö", "colon"}, {"ae", "Ä", "quote"},
{"angle", "<", "bslash_iso"}, {"y", "Y", "z"}, {"minus", "-", "slash"}
}

Definition at line 57 of file keymap.cpp.

const KeyPatch patchDK[]
static
Initial value:
= {
{0, "§", "grave"}, {0, "+", "minus"}, {0, "´", "equal"},
{0, "Å", "lbrace"}, {0, "¨", "rbrace"},
{0, "Æ", "colon"}, {0, "Ø", "quote"}, {0, "'", "hash"},
{0, "<", "bslash_iso"}, {0, "-", "slash"},
}

Definition at line 38 of file keymap.cpp.

const KeyPatch patchDvorak[]
static
Initial value:
= {
{0, "[", "minus"}, {0, "]", "equal"},
{0, "'", "q"}, {0, ",", "w"}, {0, ".", "e"}, {0, "P", "r"}, {0, "Y", "t"}, {0, "F", "y"}, {0, "G", "u"}, {0, "C", "i"}, {0, "R", "o"}, {0, "L", "p"}, {0, "/", "lbrace"}, {0, "=", "rbrace"},
{0, "O", "s"}, {0, "E", "d"}, {0, "U", "f"}, {0, "I", "g"}, {0, "D", "h"}, {0, "H", "j"}, {0, "T", "k"}, {0, "N", "l"}, {0, "S", "colon"}, {0, "-", "quote"},
{0, ";", "z"}, {0, "Q", "x"}, {0, "J", "c"}, {0, "K", "v"}, {0, "X", "b"}, {0, "B", "n"}, {0, "W", "comma"}, {0, "V", "dot"}, {0, "Z", "slash"},
}

Definition at line 111 of file keymap.cpp.

const KeyPatch patchES[]
static
Initial value:
= {
{"oa", "º", "grave"}, {"quote", "'", "minus"}, {"lexclam", "¡", "equal"},
{"grave", "`", "lbrace"}, {"plus", "+", "rbrace"},
{"nn", "Ñ", "colon"}, {"accent", "´", "quote"}, {"cc", "Ç", "hash"},
{"angle", "<", "bslash_iso"}, {"minus", "-", "slash"},
}

Definition at line 92 of file keymap.cpp.

const KeyPatch patchEU[]
static
Initial value:
= {
{0, "\\ (R)", "hash"},
{0, "\\ (L)", "bslash_iso"},
}

Definition at line 45 of file keymap.cpp.

const KeyPatch patchFR[]
static
Initial value:
= {
{"sup2", "²", "grave"}, {0, "&", "1"}, {0, "É", "2"}, {0, "\"", "3"}, {0, "'", "4"}, {0, "(", "5"}, {0, "-", "6"}, {0, "È", "7"}, {0, "_", "8"}, {0, "Ç", "9"}, {0, "À", "0"}, {"rparen", ")", "minus"},
{"a", "A", "q"}, {"z", "Z", "w"}, {"caret", "^", "lbrace"}, {"dollar", "$", "rbrace"},
{"q", "Q", "a"}, {"m", "M", "colon"}, {"percent", "Ù", "quote"}, {"star", "*", "hash"},
{"angle", "<", "bslash_iso"}, {"w", "W", "z"}, {"comma", ",", "m"}, {"semicolon", ";", "comma"}, {"colon", ":", "dot"}, {"exclam", "!", "slash"},
}

Definition at line 50 of file keymap.cpp.

const KeyPatch patchIT[]
static
Initial value:
= {
{0, "\\", "grave"}, {0, "'", "minus"}, {0, "Ì", "equal"},
{0, "È", "lbrace"}, {0, "+", "rbrace"},
{0, "Ò", "colon"}, {0, "À", "quote"}, {0, "Ù", "hash"},
{0, "<", "bslash_iso"}, {0, "-", "slash"},
}

Definition at line 64 of file keymap.cpp.

const KeyPatch patchJP[]
static
Initial value:
= {
}

Definition at line 106 of file keymap.cpp.

const KeyPatch patchMX[]
static
Initial value:
= {
{0, "|", "grave"}, {0, "'", "minus"}, {0, "¿", "equal"},
{0, "´", "lbrace"}, {0, "+", "rbrace"},
{0, "Ñ", "colon"}, {0, "{", "quote"}, {0, "}", "hash"},
{0, "<", "bslash_iso"}, {0, "-", "slash"},
}

Definition at line 78 of file keymap.cpp.

const KeyPatch patchNO[]
static
Initial value:
= {
{0, "§", "grave"}, {0, "+", "minus"}, {0, "´", "equal"},
{0, "Å", "lbrace"}, {0, "¨", "rbrace"},
{0, "Ø", "colon"}, {0, "Æ", "quote"}, {0, "'", "hash"},
{0, "<", "bslash_iso"}, {0, "-", "slash"},
}

Definition at line 71 of file keymap.cpp.

const KeyPatch patchPTBR[]
static
Initial value:
= {
{"quote", "'", "grave"},
{"accent", "´", "lbrace"}, {"lbrace", "[", "rbrace"},
{"cc", "Ç", "colon"}, {"tilde", "~", "quote"}, {"rbrace", "]", "hash"},
{"colon", ";", "slash"}, {"slash", "/", "ro"}, {"numcomma", ",", "numdot"},
}

Definition at line 85 of file keymap.cpp.

const KeyPatch patchSE[]
static
Initial value:
= {
{"section", "§", "grave"}, {"plus", "+", "minus"}, {"grave", "´", "equal"},
{"aa", "Å", "lbrace"}, {"umlaut", "¨", "rbrace"},
{"oe", "Ö", "colon"}, {"ae", "Ä", "quote"}, {"quote", "'", "hash"},
{"angle", "<", "bslash_iso"}, {"minus", "-", "slash"},
}

Definition at line 99 of file keymap.cpp.

const Key SabreKeys[]
static
Initial value:
= {
{0, "Left Mouse", "mouse1", 8, 0, 14, 32, false, true}, {0, "Right Mouse", "mouse2", 30, 0, 14, 32, false, true}, {0, "Middle Mouse", "mouse3", 22, 9, 8, 7, false, true}, {0, "Front light", "front", 8, -2, 14, 8, true, false },
{0, "Wheel Up", "wheelup", 22, 5, 8, 5, false, true}, {0, "Wheel Down", "wheeldn", 22, 15, 8, 5, false, true}, {0, "Wheel Light", "wheel", 22, 5, 8, 15, true, false}, {0, "Extra button", "thumb1", 22, 20, 8, 18, false, true},
{0, "DPI Up", "dpiup", 5, 3, 5, 7, false, true}, {0, "DPI Down", "dpidn", 5, 10, 5, 7, false, true}, {0, "DPI Light", "dpi", 5, 4, 5, 12, true, false},
{0, "Forward", "mouse5", 5, 24, 5, 9, false, true}, {0, "Back", "mouse4", 5, 33, 5, 10, false, true},
{0, "Logo", "back", 14, 50, 24, 12, true, false}
}

Definition at line 276 of file keymap.cpp.

const Key ScimKeys[]
static
Initial value:
= {
{0, "Left Mouse", "mouse1", 8, 0, 14, 32, false, true}, {0, "Right Mouse", "mouse2", 30, 0, 12, 32, false, true}, {0, "Middle Mouse", "mouse3", 22, 9, 8, 6, false, true}, {0, "Front light", "front", 30, 0, 12, 8, true, false },
{0, "Wheel Up", "wheelup", 22, 3, 8, 6, false, true}, {0, "Wheel Down", "wheeldn", 22, 14, 8, 6, false, true}, {0, "Wheel Light", "wheel", 22, 3, 8, 17, true, false},
{0, "DPI Up", "dpiup", 22, 19, 8, 9, false, true}, {0, "DPI Light", "dpi", 1, 12, 8, 4, true, false}, {0, "DPI Down", "dpidn", 22, 28, 8, 9, false, true},
{0, "Thumb light", "thumb", 0, 21, 10, 24, true, false},
{0, "1", "thumb1", -13, 18, 7, 7, false, true}, {0, "2", "thumb2", -6, 18, 7, 7, false, true}, {0, "3", "thumb3", 1, 18, 7, 7, false, true},
{0, "4", "thumb4", -13, 25, 7, 7, false, true}, {0, "5", "thumb5", -6, 25, 7, 7, false, true}, {0, "6", "thumb6", 1, 25, 7, 7, false, true},
{0, "7", "thumb7", -13, 32, 7, 7, false, true}, {0, "8", "thumb8", -6, 32, 7, 7, false, true}, {0, "9", "thumb9", 1, 32, 7, 7, false, true},
{0, "10", "thumb10", -13, 39, 7, 7, false, true}, {0, "11", "thumb11", -6, 39, 7, 7, false, true}, {0, "12", "thumb12", 1, 39, 7, 7, false, true},
{0, "Logo", "back", 14, 50, 24, 16, true, false}
}

Definition at line 313 of file keymap.cpp.

QHash<QString, Key> standardMaps[KeyMap::_MODEL_MAX][KeyMap::_LAYOUT_MAX]
static

Definition at line 343 of file keymap.cpp.

Referenced by getMap().