説明
chrome.input.ime
API を使用して、ChromeOS のカスタム IME を実装します。これにより、拡張機能でキー入力の処理、構成の設定、候補ウィンドウの管理が可能になります。
権限
input
「input」パラメータを宣言し、拡張機能のマニフェストで input.ime API の使用権限を宣言する必要があります。次に例を示します。
{
"name": "My extension",
...
"permissions": [
"input"
],
...
}
対象
例
次のコードは、入力された文字を大文字に変換する IME を作成します。
var context_id = -1;
chrome.input.ime.onFocus.addListener(function(context) {
context_id = context.contextID;
});
chrome.input.ime.onKeyEvent.addListener(
function(engineID, keyData) {
if (keyData.type == "keydown" && keyData.key.match(/^[a-z]$/)) {
chrome.input.ime.commitText({"contextID": context_id,
"text": keyData.key.toUpperCase()});
return true;
} else {
return false;
}
}
);
型
AssistiveWindowButton
アシスト ウィンドウ内のボタンの ID。
列挙型
「元に戻す」
"addToDictionary"
AssistiveWindowProperties
アシスト ウィンドウのプロパティ。
プロパティ
-
announceString
文字列(省略可)
ChromeVox の読み上げ用の文字列。
-
type
「元に戻す」
-
表示
ブール値
AssistiveWindow を表示するには true を設定し、非表示にするには false に設定します。
AssistiveWindowType
アシスト ウィンドウの種類。
値
「元に戻す」
AutoCapitalizeType
テキスト フィールドの自動大文字変換のタイプ。
列挙型
"文字"
"単語"
"sentences"
InputContext
入力コンテキストを記述します
プロパティ
-
autoCapitalizeChrome 69 以降
テキスト フィールドの自動大文字変換のタイプ。
-
autoComplete
ブール値
テキスト フィールドで予測入力を使用するかどうか。
-
autoCorrect
ブール値
テキスト フィールドの自動修正が必要かどうか。
-
contextID
数値
テキスト フィールド操作のターゲットを指定するために使用されます。この ID は、onBlur が呼び出されるとすぐに無効になります。
-
shouldDoLearning
ブール値
Chrome 68 以降テキスト フィールドに入力されたテキストを、入力候補の改善に使用するかどうか。
-
spellCheck
ブール値
テキスト フィールドでスペルチェックを行うかどうか。
-
type
このテキスト フィールドが編集する値のタイプ(テキスト、数値、URL など)
InputContextType
このテキスト フィールドが編集する値のタイプ(テキスト、数値、URL など)
列挙型
"テキスト"
"検索"
「tel」
"url"
"メール"
"number"
"password"
"null"
KeyboardEvent
http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent をご覧ください。
プロパティ
-
altKey
ブール値(省略可)
Alt キーが押されているかどうか。
-
altgrKey
ブール値(省略可)
Chrome 79 以降ALTGR キーが押されているかどうか。
-
capsLock
ブール値(省略可)
CAPS_LOCK が有効かどうか。
-
コード
文字列
押されている物理キーの値。この値は、現在のキーボード レイアウトや修飾子の状態の影響を受けません。
-
ctrlKey
ブール値(省略可)
CTRL キーが押されているかどうか。
-
extensionId
文字列(省略可)
このキーイベントの送信者の拡張機能 ID。
-
key
文字列
押されているキーの値
-
keyCode
数値(省略可)
非推奨の HTML keyCode は、システムと実装に依存する数値コードで、押されたキーに関連付けられた変更されていない識別子を示します。
-
requestId
文字列(省略可)
(非推奨)リクエストの ID。代わりに
onKeyEvent
イベントのrequestId
パラメータを使用してください。 -
shiftKey
ブール値(省略可)
Shift キーが押されているかどうか。
-
type
keyup または keydown のいずれか。
KeyboardEventType
列挙型
"keyup"
"keydown"
MenuItem
言語メニューからユーザーとやり取りするために入力方法で使用されるメニュー項目。
プロパティ
-
ON
ブール値(省略可)
このアイテムがチェックされて描画されることを示します。
-
有効
ブール値(省略可)
このアイテムが有効であることを示します。
-
id
文字列
この MenuItem を参照するコールバックに渡される文字列。
-
ラベル
文字列(省略可)
このアイテムのメニューに表示されるテキスト。
-
スタイル
MenuItemStyle オプション
メニュー項目のタイプ。
-
表示
ブール値(省略可)
このアイテムが表示されていることを示します。
MenuItemStyle
メニュー項目のタイプ。セパレータの間のラジオボタンはグループと見なされます。
列挙型
"check"
"radio"
"separator"
MenuParameters
プロパティ
-
engineID
文字列
使用するエンジンの ID。
-
アイテム
MenuItem[]
追加または更新する MenuItem。これらは配列に存在する順に追加されます。
MouseButton
クリックされたマウスボタン。
列挙型
「left」
「middle」
"right"
ScreenType
IME を有効にする画面タイプ。
列挙型
「normal」
"login"
"ロック"
"secondary-login"
UnderlineStyle
このセグメントを変更する下線のタイプ。
列挙型
"underline"
"doubleUnderline"
"noUnderline"
WindowPosition
候補ウィンドウを表示する場所。「cursor」に設定すると、ウィンドウはカーソルに従います。「composition」に設定すると、ウィンドウはコンポジションの先頭にロックされます。
列挙型
"カーソル"
"composition"
メソッド
clearComposition()
chrome.input.ime.clearComposition(
parameters: object,
callback?: function,
)
現在のコンポジションを消去します。この拡張機能が有効な IME を所有していない場合、この処理は失敗します。
パラメータ
-
パラメータ
オブジェクト
-
contextID
数値
コンポジションを消去するコンテキストの ID
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。(success: boolean) => void
-
success
ブール値
-
戻り値
-
Promise<boolean>
Chrome 111 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
commitText()
chrome.input.ime.commitText(
parameters: object,
callback?: function,
)
指定されたテキストを現在の入力に commit します。
パラメータ
-
パラメータ
オブジェクト
-
contextID
数値
テキストが commit されるコンテキストの ID
-
テキスト
文字列
commit するテキスト
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。(success: boolean) => void
-
success
ブール値
-
戻り値
-
Promise<boolean>
Chrome 111 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
deleteSurroundingText()
chrome.input.ime.deleteSurroundingText(
parameters: object,
callback?: function,
)
キャレットを囲むテキストを削除します。
パラメータ
-
パラメータ
オブジェクト
-
contextID
数値
周囲のテキストを削除するコンテキストの ID。
-
engineID
文字列
イベントを受け取るエンジンの ID。
-
長さ
数値
削除する文字数
-
offset
数値
削除を開始するキャレット位置からのオフセット。負の値を指定できます。
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 111 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
hideInputView()
chrome.input.ime.hideInputView()
システムによって自動的にポップアップされる入力ビュー ウィンドウを非表示にします。入力ビュー ウィンドウがすでに非表示になっている場合、この関数は何もしません。
keyEventHandled()
chrome.input.ime.keyEventHandled(
requestId: string,
response: boolean,
)
onKeyEvent が受信したキーイベントが処理されることを示します。これは、onKeyEvent リスナーが非同期の場合にのみ呼び出す必要があります。
パラメータ
-
requestId
文字列
処理されたイベントのリクエスト ID。keyEvent.requestId から取得する必要があります。
-
レスポンス
ブール値
キー入力が処理された場合は true、そうでない場合は false
sendKeyEvents()
chrome.input.ime.sendKeyEvents(
parameters: object,
callback?: function,
)
キーイベントを送信します。この関数は仮想キーボードで使用することが想定されています。ユーザーが仮想キーボードのキーを押すと、この関数を使用してそのイベントがシステムに伝播されます。
パラメータ
-
パラメータ
オブジェクト
-
contextID
数値
キーイベントが送信されるコンテキストの ID。入力以外のフィールドにキーイベントを送信する場合はゼロ。
-
keyData
キーイベントに関するデータ。
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 111 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
setAssistiveWindowButtonHighlighted()
chrome.input.ime.setAssistiveWindowButtonHighlighted(
parameters: object,
callback?: function,
)
アシスト ウィンドウ内のボタンをハイライト表示するか、ハイライト表示を解除します。
パラメータ
-
パラメータ
オブジェクト
-
announceString
文字列(省略可)
読み上げるスクリーン リーダーのテキスト。
-
buttonID
ボタンの ID
-
contextID
数値
支援ウィンドウを所有するコンテキストの ID。
-
強調表示
ブール値
ボタンをハイライト表示するかどうか。
-
windowType
「元に戻す」
ボタンが属するウィンドウ タイプ。
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 111 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
setAssistiveWindowProperties()
chrome.input.ime.setAssistiveWindowProperties(
parameters: object,
callback?: function,
)
指定されたプロパティのアシスト ウィンドウを表示または非表示にします。
パラメータ
-
パラメータ
オブジェクト
-
contextID
数値
支援ウィンドウを所有するコンテキストの ID。
-
アシスト ウィンドウのプロパティ。
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。(success: boolean) => void
-
success
ブール値
-
戻り値
-
Promise<boolean>
Chrome 111 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
setCandidates()
chrome.input.ime.setCandidates(
parameters: object,
callback?: function,
)
現在の候補リストを設定します。この拡張機能が有効な IME を所有していない場合、この処理は失敗します。
パラメータ
-
パラメータ
オブジェクト
-
候補
object[]
候補者ウィンドウに表示する候補者のリスト
-
アノテーション
文字列(省略可)
候補者を説明する追加のテキスト
-
候補
文字列
受験者
-
id
数値
受験者の ID
-
ラベル
文字列(省略可)
候補の横に表示される短い文字列(通常はショートカット キーまたはインデックス)
-
parentId
数値(省略可)
これらの候補を追加する ID
-
用途
オブジェクト(省略可)
単語の用法や詳細説明。
-
body
文字列
詳細説明の本文文字列。
-
title
文字列
詳細の説明のタイトル文字列。
-
-
-
contextID
数値
候補ウィンドウを所有するコンテキストの ID。
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。(success: boolean) => void
-
success
ブール値
-
戻り値
-
Promise<boolean>
Chrome 111 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
setCandidateWindowProperties()
chrome.input.ime.setCandidateWindowProperties(
parameters: object,
callback?: function,
)
候補ウィンドウのプロパティを設定します。拡張機能が有効な IME を所有していない場合、この処理は失敗します。
パラメータ
-
パラメータ
オブジェクト
-
engineID
文字列
プロパティを設定するエンジンの ID。
-
プロパティ
オブジェクト
-
auxiliaryText
文字列(省略可)
候補ウィンドウの下部に表示されるテキスト。
-
auxiliaryTextVisible
ブール値(省略可)
補助テキストを表示する場合は true、非表示にする場合は false です。
-
currentCandidateIndex
数値(省略可)
Chrome 84 以降すべての候補のうち、現在選択されている候補のインデックス。
-
cursorVisible
ブール値(省略可)
カーソルを表示する場合は true、非表示にする場合は false です。
-
pageSize
数値(省略可)
ページごとに表示する候補の数。
-
totalCandidates
数値(省略可)
Chrome 84 以降候補ウィンドウの候補の総数。
-
カテゴリ
ブール値(省略可)
候補ウィンドウを垂直方向にレンダリングする場合は true、水平にレンダリングする場合は false に設定します。
-
表示
ブール値(省略可)
[Candidate] ウィンドウを表示する場合は true、非表示の場合は false。
-
windowPosition
WindowPosition (省略可)
候補ウィンドウを表示する場所。
-
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。(success: boolean) => void
-
success
ブール値
-
戻り値
-
Promise<boolean>
Chrome 111 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
setComposition()
chrome.input.ime.setComposition(
parameters: object,
callback?: function,
)
現在の構図を設定します。この拡張機能が有効な IME を所有していない場合、この処理は失敗します。
パラメータ
-
パラメータ
オブジェクト
-
contextID
数値
コンポジション テキストが設定されるコンテキストの ID
-
cursor
数値
カーソルのテキスト内の位置。
-
セグメント
オブジェクト [] 省略可
セグメントとそれに関連付けられたタイプのリスト。
-
end
数値
このセグメントを終了する文字のインデックス。
-
start
数値
このセグメントを開始する文字のインデックス
-
スタイル
このセグメントを変更する下線のタイプ。
-
-
selectionEnd
数値(省略可)
選択範囲が終了するテキスト内の位置。
-
selectionStart
数値(省略可)
選択範囲を開始するテキスト内の位置。
-
テキスト
文字列
設定するテキスト
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。(success: boolean) => void
-
success
ブール値
-
戻り値
-
Promise<boolean>
Chrome 111 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
setCursorPosition()
chrome.input.ime.setCursorPosition(
parameters: object,
callback?: function,
)
候補ウィンドウ内のカーソルの位置を設定します。この拡張機能が有効な IME を所有していない場合は、何もする必要はありません。
パラメータ
-
パラメータ
オブジェクト
-
candidateID
数値
選択する受験者の ID。
-
contextID
数値
候補ウィンドウを所有するコンテキストの ID。
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。(success: boolean) => void
-
success
ブール値
-
戻り値
-
Promise<boolean>
Chrome 111 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
setMenuItems()
chrome.input.ime.setMenuItems(
parameters: MenuParameters,
callback?: function,
)
この IME がアクティブなときに、提供されたメニュー項目を言語メニューに追加します。
パラメータ
-
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 111 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
updateMenuItems()
chrome.input.ime.updateMenuItems(
parameters: MenuParameters,
callback?: function,
)
指定された MenuItem の状態を更新します
パラメータ
-
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
約束 <void>
Chrome 111 以降Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。
イベント
onActivate
chrome.input.ime.onActivate.addListener(
callback: function,
)
このイベントは、IME が有効になると送信されます。これは、IME が onKeypress イベントを受信することを通知します。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(engineID: string, screen: ScreenType) => void
-
engineID
文字列
-
画面
-
onAssistiveWindowButtonClicked
chrome.input.ime.onAssistiveWindowButtonClicked.addListener(
callback: function,
)
このイベントは、アシスト ウィンドウのボタンがクリックされたときに送信されます。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
buttonID
クリックされたボタンの ID。
-
windowType
アシスト ウィンドウのタイプ。
-
-
onBlur
chrome.input.ime.onBlur.addListener(
callback: function,
)
このイベントは、フォーカスがテキスト ボックスから離れると送信されます。このイベントをリッスンしているすべての拡張機能に送信され、ユーザーが有効にします。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(contextID: number) => void
-
contextID
数値
-
onCandidateClicked
chrome.input.ime.onCandidateClicked.addListener(
callback: function,
)
このイベントは、この拡張機能が有効な IME を所有している場合に送信されます。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(engineID: string, candidateID: number, button: MouseButton) => void
-
engineID
文字列
-
candidateID
数値
-
ボタン
-
onDeactivated
chrome.input.ime.onDeactivated.addListener(
callback: function,
)
このイベントは、IME が無効になると送信されます。これは、IME が onKey Press イベントを受け取らなくなることを通知します。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(engineID: string) => void
-
engineID
文字列
-
onFocus
chrome.input.ime.onFocus.addListener(
callback: function,
)
このイベントは、フォーカスがテキスト ボックスに入ると送信されます。このイベントをリッスンしているすべての拡張機能に送信され、ユーザーが有効にします。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(context: InputContext) => void
-
コンテキスト
-
onInputContextUpdate
chrome.input.ime.onInputContextUpdate.addListener(
callback: function,
)
このイベントは、現在の InputContext のプロパティ(タイプなど)が変更されると送信されます。このイベントをリッスンしているすべての拡張機能に送信され、ユーザーが有効にします。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(context: InputContext) => void
-
コンテキスト
-
onKeyEvent
chrome.input.ime.onKeyEvent.addListener(
callback: function,
)
オペレーティング システムからキーイベントが送信されると呼び出されます。この拡張機能が有効な IME を所有している場合、イベントは拡張機能に送信されます。リスナー関数は、イベントが処理されていれば true を返し、処理されていなかった場合は false を返します。イベントが非同期で評価される場合、この関数は未定義を返さなければなりません。IME は後で、その結果を使って keyEventHandled() を呼び出す必要があります。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(engineID: string, keyData: KeyboardEvent, requestId: string) => boolean | undefined
-
engineID
文字列
-
keyData
-
requestId
文字列
-
戻り値
boolean |未定義
-
onMenuItemActivated
chrome.input.ime.onMenuItemActivated.addListener(
callback: function,
)
ユーザーがメニュー項目を選択したときに呼び出されます
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(engineID: string, name: string) => void
-
engineID
文字列
-
name
文字列
-
onReset
chrome.input.ime.onReset.addListener(
callback: function,
)
このイベントは、進行中のテキスト入力セッションを Chrome が終了すると送信されます。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(engineID: string) => void
-
engineID
文字列
-
onSurroundingTextChanged
chrome.input.ime.onSurroundingTextChanged.addListener(
callback: function,
)
キャレットを囲む編集可能な文字列が変更されたとき、またはキャレットの位置が移動されたときに呼び出されます。テキストの長さは、前後に 100 文字に制限されています。
パラメータ
-
callback
関数
callback
パラメータは次のようになります。(engineID: string, surroundingInfo: object) => void
-
engineID
文字列
-
surroundingInfo
オブジェクト
-
アンカー
数値
選択範囲の開始位置。この値は、選択されていない場合のキャレットの位置を示します。
-
ピント
数値
選択範囲の終了位置。この値は、選択されていない場合のキャレットの位置を示します。
-
offset
数値
Chrome 46 以降text
のオフセット位置。text
にはカーソルの周囲のテキストのサブセットのみが含まれるため、オフセットはtext
の最初の文字の絶対位置を示します。 -
テキスト
文字列
カーソルの周りのテキスト。これは、入力フィールドのすべてのテキストのサブセットにすぎません。
-
-