11import { customElement , html , LitElement , property , svg } from 'lit-element' ;
22import { pinsFemalePattern } from './patterns/pins-female' ;
3+ import { ElementPin } from './pin' ;
34
45const SPACE_KEY = 32 ;
56
@@ -19,6 +20,33 @@ export class MembraneKeypadElement extends LitElement {
1920 */
2021 @property ( ) connector = false ;
2122
23+ get pinInfo ( ) : ElementPin [ ] {
24+ switch ( this . columns ) {
25+ case '3' :
26+ return [
27+ { name : 'R1' , x : 76.5 , y : 338 , signals : [ ] } ,
28+ { name : 'R2' , x : 86 , y : 338 , signals : [ ] } ,
29+ { name : 'R3' , x : 95.75 , y : 338 , signals : [ ] } ,
30+ { name : 'R4' , x : 105.25 , y : 338 , signals : [ ] } ,
31+ { name : 'C1' , x : 115 , y : 338 , signals : [ ] } ,
32+ { name : 'C2' , x : 124.5 , y : 338 , signals : [ ] } ,
33+ { name : 'C3' , x : 134 , y : 338 , signals : [ ] } ,
34+ ] ;
35+
36+ default :
37+ return [
38+ { name : 'R1' , x : 100 , y : 338 , signals : [ ] } ,
39+ { name : 'R2' , x : 110 , y : 338 , signals : [ ] } ,
40+ { name : 'R3' , x : 119.5 , y : 338 , signals : [ ] } ,
41+ { name : 'R4' , x : 129 , y : 338 , signals : [ ] } ,
42+ { name : 'C1' , x : 138.5 , y : 338 , signals : [ ] } ,
43+ { name : 'C2' , x : 148 , y : 338 , signals : [ ] } ,
44+ { name : 'C3' , x : 157.75 , y : 338 , signals : [ ] } ,
45+ { name : 'C4' , x : 167.5 , y : 338 , signals : [ ] } ,
46+ ] ;
47+ }
48+ }
49+
2250 private pressedKeys = new Set < string > ( ) ;
2351
2452 renderKey ( text : string , x : number , y : number ) {
0 commit comments