@@ -216,6 +216,14 @@ export default class Keyboard extends PureComponent {
216216 inputNode . dispatchEvent ( new CustomEvent ( 'input' ) ) ;
217217 }
218218
219+ getCharacterClassName = ( letter ) => {
220+ const char = `${ letter } ` ;
221+ if ( char . length > 1 ) {
222+ return '' ;
223+ }
224+ return `keyboard-key-${ char . charCodeAt ( 0 ) } ` ;
225+ }
226+
219227 render ( ) {
220228 const { inputNode, secondaryKeyboard } = this . props ;
221229 const keys = this . getKeys ( ) ;
@@ -237,11 +245,12 @@ export default class Keyboard extends PureComponent {
237245 < KeyboardButton
238246 value = { button }
239247 onClick = { this . handleLetterButtonClick }
240- classes = { ' keyboard-numberButton' }
248+ classes = { ` keyboard-numberButton ${ this . getCharacterClassName ( button ) } ` }
241249 key = { button }
242250 /> ,
243251 ) }
244252 < KeyboardButton
253+ classes = "backspace-button"
245254 value = { < BackspaceIcon /> }
246255 onClick = { this . handleBackspaceClick }
247256 />
@@ -261,6 +270,7 @@ export default class Keyboard extends PureComponent {
261270 case '*bs' :
262271 return (
263272 < KeyboardButton
273+ classes = "backspace-button"
264274 value = { < BackspaceIcon /> }
265275 onClick = { this . handleBackspaceClick }
266276 key = { `b${ ii } ` }
@@ -281,6 +291,7 @@ export default class Keyboard extends PureComponent {
281291 return (
282292 < KeyboardButton
283293 value = { button }
294+ classes = { this . getCharacterClassName ( button ) }
284295 onClick = { this . handleLetterButtonClick }
285296 key = { `b${ ii } ` }
286297 />
@@ -315,7 +326,7 @@ export default class Keyboard extends PureComponent {
315326 { this . props . isDraggable !== false ?
316327 < KeyboardButton
317328 value = { < DraggableIcon /> }
318- classes = ""
329+ classes = "keyboard-draggable-button "
319330 onClick = { this . handleDragKeyClick }
320331 />
321332 : null }
0 commit comments