--- title: "Keyboard" slug: "170-core-keyboard" updated: 2025-12-09T17:11:14Z published: 2025-12-09T18:02:06Z canonical: "docs.developer.comcast.com/170-core-keyboard" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.developer.comcast.com/llms.txt > Use this file to discover all available pages before exploring further. # Keyboard **Keyboard Module 1.7.0 | Core SDK** ## Usage To use the Keyboard module, you can import it into your project from the Firebolt SDK: ``` import { Keyboard } from '@firebolt-js/sdk' ``` ## Overview Methods for prompting users to enter text with task-oriented UX ## Methods ### email Prompt the user for their email address with a simplified list of choices. ``` function email(type: EmailUsage, message: string): Promise ``` Parameters: | Param | Type | Required | Description | | --- | --- | --- | --- | | `type` | [`EmailUsage`](/docs/170-core-keyboard#emailusage) | true | Why the email is being requested, e.g. sign on or sign up values: `'signIn' \| 'signUp'` | | `message` | `string` | false | The message to display while prompting | Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:input:keyboard | #### Examples Prompt the user to select or type an email address JavaScript: ``` import { Keyboard } from '@firebolt-js/sdk' let email = await Keyboard.email( 'signIn', 'Enter your email to sign into this app', ) console.log(email) ``` Value of `email`: ``` 'user@domain.com' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Keyboard.email", "params": { "type": "signIn", "message": "Enter your email to sign into this app" } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "user@domain.com" } ``` Prompt the user to type an email address to sign up JavaScript: ``` import { Keyboard } from '@firebolt-js/sdk' let email = await Keyboard.email( 'signUp', 'Enter your email to sign up for this app', ) console.log(email) ``` Value of `email`: ``` 'user@domain.com' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Keyboard.email", "params": { "type": "signUp", "message": "Enter your email to sign up for this app" } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "user@domain.com" } ``` --- ### password Show the password entry keyboard, with typing obfuscated from visibility ``` function password(message: string): Promise ``` Parameters: | Param | Type | Required | Description | | --- | --- | --- | --- | | `message` | `string` | false | The message to display while prompting | Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:input:keyboard | #### Examples Prompt the user to enter their password JavaScript: ``` import { Keyboard } from '@firebolt-js/sdk' let value = await Keyboard.password('Enter your password') console.log(value) ``` Value of `value`: ``` 'abc123' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Keyboard.password", "params": { "message": "Enter your password" } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "abc123" } ``` --- ### standard Show the standard platform keyboard, and return the submitted value ``` function standard(message: string): Promise ``` Parameters: | Param | Type | Required | Description | | --- | --- | --- | --- | | `message` | `string` | true | The message to display while prompting | Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:input:keyboard | #### Examples Prompt the user for an arbitrary string JavaScript: ``` import { Keyboard } from '@firebolt-js/sdk' let value = await Keyboard.standard( "Enter the name you'd like to associate with this device", ) console.log(value) ``` Value of `value`: ``` 'Living Room' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "Keyboard.standard", "params": { "message": "Enter the name you'd like to associate with this device" } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "Living Room" } ``` --- ## Types ### EmailUsage ``` EmailUsage: { SIGN_IN: 'signIn', SIGN_UP: 'signUp', }, ``` ---