]> git.donarmstrong.com Git - kiibohd-controller.git/blobdiff - Scan/MatrixARM/matrix_scan.h
Adding dynamic USB power support
[kiibohd-controller.git] / Scan / MatrixARM / matrix_scan.h
index 810e6d9ddee0146a1f8a580ecb21750003aa3fb1..3a8f0e2ffe8e140de2b65372f5118f58e09ce129 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 by Jacob Alexander
+/* Copyright (C) 2014-2016 by Jacob Alexander
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -139,6 +139,18 @@ typedef struct KeyState {
        uint8_t         prevDecisionTime;
 } __attribute__((packed)) KeyState;
 
+// Ghost Element, after ghost detection/cancelation
+typedef struct KeyGhost {
+       KeyPosition     prev;
+       KeyPosition     cur;
+       KeyPosition     saved;  // state before ghosting
+} __attribute__((packed)) KeyGhost;
+
+// utility
+inline uint8_t keyOn(/*KeyPosition*/uint8_t st)
+{
+       return (st == KeyState_Press || st == KeyState_Hold) ? 1 : 0;
+}
 
 
 // ----- Functions -----
@@ -146,3 +158,5 @@ typedef struct KeyState {
 void Matrix_setup();
 void Matrix_scan( uint16_t scanNum );
 
+void Matrix_currentChange( unsigned int current );
+