@@ -236,32 +236,64 @@ export const renderLabel = (keycode: string) => {
236236 DOT : { label : '.' } ,
237237 COMM : { label : ',' } ,
238238 SLSH : { label : '/' } ,
239+ KP_SLASH : { label : '/' } ,
239240 SCLN : { label : ';' } ,
240241 QUOT : { label : "'" } ,
241242 LSFT : { icon : 'mdi-apple-keyboard-shift' } ,
242243 RSFT : { icon : 'mdi-apple-keyboard-shift' } ,
243244 LBRC : { label : '[' } ,
244245 RBRC : { label : ']' } ,
246+ LABK : { label : '<' } ,
247+ RABK : { label : '>' } ,
248+ LCBR : { label : '{' } ,
249+ RCBR : { label : '}' } ,
250+ LEFT_PAREN : { label : '(' } ,
251+ RIGHT_PAREN : { label : ')' } ,
252+ DQT : { label : '"' } ,
253+ COLN : { label : ':' } ,
254+ EXLM : { label : '!' } ,
255+ PERCENT : { label : '%' } ,
256+ AMPERSAND : { label : '&' } ,
257+ TILDE : { label : '~' } ,
258+ PIPE : { label : '|' } ,
259+ DOLLAR : { label : '$' } ,
260+ HASH : { label : '#' } ,
261+ QUES : { label : '?' } ,
245262 BSLS : { label : '\\' } ,
246263 MINS : { label : '-' } ,
247264 EQL : { label : '=' } ,
248265 CAPS : { icon : 'mdi-apple-keyboard-caps' } ,
249266 TAB : { icon : 'mdi-keyboard-tab' } ,
250267 BSPC : { icon : 'mdi-backspace' } ,
268+ DEL : { icon : 'mdi-backspace-reverse' } ,
251269 LCTL : { icon : 'mdi-apple-keyboard-control' } ,
252270 RCTL : { icon : 'mdi-apple-keyboard-control' } ,
253271 LALT : { icon : 'mdi-apple-keyboard-option' } ,
254272 RALT : { icon : 'mdi-apple-keyboard-option' } ,
255273 LGUI : { icon : 'mdi-apple-keyboard-command' } ,
256274 RGUI : { icon : 'mdi-apple-keyboard-command' } ,
257- UP : { icon : 'mdi-arrow-up' } ,
258- LEFT : { icon : 'mdi-arrow-left' } ,
259- DOWN : { icon : 'mdi-arrow-down' } ,
260- RIGHT : { icon : 'mdi-arrow-right' } ,
275+ HOME : { icon : 'mdi-arrow-top-left' } ,
276+ END : { icon : 'mdi-arrow-bottom-right' } ,
277+ PGDOWN : { icon : 'mdi-arrow-down' } ,
278+ PGUP : { icon : 'mdi-arrow-up' } ,
279+ UP : { icon : 'mdi-arrow-up-thin' } ,
280+ LEFT : { icon : 'mdi-arrow-left-thin' } ,
281+ DOWN : { icon : 'mdi-arrow-down-thin' } ,
282+ RIGHT : { icon : 'mdi-arrow-right-thin' } ,
261283 GRV : { label : '`' } ,
284+ PLUS : { label : '+' } ,
285+ AT : { label : '@' } ,
286+ UNDERSCORE : { label : '_' } ,
287+ CIRCUMFLEX : { label : '^' } ,
288+ ASTERISK : { label : '*' } ,
289+
262290
263291 // Layer
264292 MO : { label : 'MO' } ,
293+ MT : { label : 'MT' } ,
294+ LT : {
295+ label : 'LT'
296+ } ,
265297
266298 // Media
267299 MPLY : { label : 'Play/Pause' , icon : 'mdi-play-pause' } ,
@@ -299,21 +331,28 @@ export const renderLabel = (keycode: string) => {
299331 const keyMatch = keycode . match ( / K C \. ( \w + ) / )
300332 if ( keyMatch ) {
301333 const key = keyMatch [ 1 ]
302- if ( ! keyLabels [ key ] ) {
334+ const foundKey = keyLabels [ key ]
335+ if ( ! foundKey ) {
303336 label += keycode
304- } else if ( keyLabels [ key ] . icon ) {
305- label += `<i class="mdi ${ keyLabels [ key ] . icon } "></i>`
306- } else if ( keyLabels [ key ] . label ) {
307- label += keyLabels [ key ] . label
337+ } else if ( foundKey . icon ) {
338+ label += `<i class="mdi ${ foundKey . icon } "></i>`
339+ } else if ( foundKey . label ) {
340+ label += foundKey . label
308341 }
309342 // if it has arguments render them as keycode as well
310343 if ( keycode . includes ( '(' ) ) {
311344 const match = keycode . match ( / ^ [ ^ ( ] + \( ( .* ) \) $ / )
312345 console . log ( 'found params' , match ) // prints ["0", "KC.A"]
346+ // dont render options for some keys eg. MT
347+
313348 if ( match && match [ 1 ] && match [ 1 ] . includes ( ',' ) ) {
314349 const params = match [ 1 ] . split ( ',' ) . map ( ( a ) => renderLabel ( a ) )
315350 console . log ( 'param list' , params )
316- label += ` ${ params . join ( ' ' ) } `
351+ let maxParams = 10
352+ if ( [ 'LT' , 'MT' ] . includes ( key ) ) {
353+ maxParams = 2
354+ }
355+ label += ` ${ params . slice ( 0 , maxParams ) . join ( ' ' ) } `
317356 } else if ( match ) {
318357 // just add that key to label
319358 label += ` ${ renderLabel ( match [ 1 ] ) } `
0 commit comments