설명
chrome.input.ime
API를 사용하여 Chrome OS용 맞춤 IME를 구현합니다. 이렇게 하면 확장 프로그램에서 키 입력을 처리하고, 구성을 설정하고, 후보 창을 관리할 수 있습니다.
권한
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에서 음성으로 안내하는 문자열
-
유형
-
표시
boolean
AssistiveWindow를 표시하려면 true를 설정하고 숨기려면 false를 설정합니다.
AssistiveWindowType
보조 창의 유형입니다.
값
AutoCapitalizeType
텍스트 필드의 자동 대문자화 유형입니다.
열거형
InputContext
입력 컨텍스트를 설명합니다.
속성
-
autoCapitalizeChrome 69 이상
텍스트 필드의 자동 대문자화 유형입니다.
-
autoComplete
boolean
텍스트 입력란의 자동 완성 여부입니다.
-
autoCorrect
boolean
텍스트 필드의 자동 수정 여부입니다.
-
contextID
숫자
텍스트 필드 작업의 대상을 지정하는 데 사용됩니다. 이 ID는 onBlur가 호출되는 즉시 무효화됩니다.
-
shouldDoLearning
boolean
Chrome 68 이상텍스트 필드에 입력한 텍스트를 사용자에게 입력 추천 기능을 개선하기 위해 사용할지 여부입니다.
-
spellCheck
boolean
텍스트 필드의 맞춤법 검사 여부입니다.
-
이 텍스트 입력란에서 수정하는 값의 유형(텍스트, 숫자, URL 등)
InputContextType
이 텍스트 입력란에서 수정하는 값의 유형(텍스트, 숫자, URL 등)
열거형
"tel"
"null"
KeyboardEvent
http://www.w3.org/TR/DOM-Level-3-Events/#events-KeyboardEvent를 참고하세요.
속성
-
altKey
부울 선택사항
ALT 키를 눌렀는지 여부.
-
altgrKey
부울 선택사항
Chrome 79 이상ALTGR 키를 눌렀는지 여부.
-
capsLock
부울 선택사항
CAPS_LOCK의 사용 설정 여부.
-
코드
string
누르고 있는 실제 키의 값입니다. 이 값은 현재 키보드 레이아웃이나 특수키 상태의 영향을 받지 않습니다.
-
ctrlKey
부울 선택사항
Ctrl 키를 누를지 여부입니다.
-
extensionId
문자열 선택사항
이 키 이벤트를 보낸 사람의 확장 프로그램 ID입니다.
-
키
string
누르는 키의 값
-
keyCode
number 선택사항
지원 중단된 HTML keyCode로, 사용자가 누른 키와 연결된 수정되지 않은 식별자를 나타내는 시스템 및 구현에 따라 달라지는 숫자 코드입니다.
-
requestId
문자열 선택사항
(지원 중단됨) 요청의 ID입니다. 대신
onKeyEvent
이벤트의requestId
매개변수를 사용하세요. -
shiftKey
부울 선택사항
SHIFT 키를 눌렀는지 여부.
-
keyup과 keydown 중 하나입니다.
KeyboardEventType
열거형
"keydown"
MenuItem
언어 메뉴에서 사용자와 상호작용하기 위해 입력 방법에서 사용하는 메뉴 항목입니다.
속성
-
선택됨
부울 선택사항
이 항목을 체크로 그려야 함을 나타냅니다.
-
사용 설정됨
부울 선택사항
이 항목이 사용 설정되었음을 나타냅니다.
-
id
string
이 MenuItem을 참조하는 콜백에 전달되는 문자열입니다.
-
라벨
문자열 선택사항
이 항목의 메뉴에 표시되는 텍스트입니다.
-
스타일
MenuItemStyle 선택사항
메뉴 항목 유형입니다.
-
표시
부울 선택사항
이 항목이 표시되는지 나타냅니다.
MenuItemStyle
메뉴 항목 유형입니다. 구분자 사이의 라디오 버튼은 그룹화된 것으로 간주됩니다.
열거형
MenuParameters
속성
-
engineID
string
사용할 엔진의 ID입니다.
-
items
MenuItem[]
추가하거나 업데이트할 MenuItems입니다. 배열에 있는 순서대로 추가됩니다.
MouseButton
클릭된 마우스 버튼
열거형
ScreenType
IME가 활성화된 화면 유형입니다.
열거형
"secondary-login"
UnderlineStyle
이 세그먼트를 수정할 밑줄 유형입니다.
열거형
"doubleUnderline"
"noUnderline"
WindowPosition
후보 창을 표시할 위치입니다. 'cursor'로 설정하면 창이 커서를 따라갑니다. '컴포지션'으로 설정된 경우 창이 컴포지션의 시작 부분으로 고정됩니다.
열거형
"composition"
방법
clearComposition()
chrome.input.ime.clearComposition(
parameters: object,
callback?: function,
)
현재 구성을 삭제합니다. 이 확장 프로그램이 활성 IME를 소유하지 않은 경우 실패합니다.
매개변수
-
매개변수
객체
-
contextID
숫자
음악작품이 삭제될 컨텍스트의 ID입니다.
-
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(success: boolean)=>void
-
성공
boolean
-
반환 값
-
Promise<boolean>
Chrome 111 이상프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
commitText()
chrome.input.ime.commitText(
parameters: object,
callback?: function,
)
제공된 텍스트를 현재 입력에 커밋합니다.
매개변수
-
매개변수
객체
-
contextID
숫자
텍스트가 커밋될 컨텍스트의 ID입니다.
-
text
string
커밋할 텍스트
-
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(success: boolean)=>void
-
성공
boolean
-
반환 값
-
Promise<boolean>
Chrome 111 이상프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
deleteSurroundingText()
chrome.input.ime.deleteSurroundingText(
parameters: object,
callback?: function,
)
캐럿 주변의 텍스트를 삭제합니다.
매개변수
-
매개변수
객체
-
contextID
숫자
주변 텍스트가 삭제될 컨텍스트의 ID입니다.
-
engineID
string
이벤트를 수신하는 엔진의 ID입니다.
-
length
숫자
삭제할 문자 수입니다.
-
오프셋
숫자
삭제가 시작되는 캐럿 위치부터의 오프셋입니다. 이 값은 음수일 수 있습니다.
-
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.()=>void
반환 값
-
Promise<void>
Chrome 111 이상프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
hideInputView()
chrome.input.ime.hideInputView()
시스템에서 자동으로 팝업하는 입력 뷰 창을 숨깁니다. 입력 뷰 창이 이미 숨겨져 있으면 이 함수는 아무 작업도 실행하지 않습니다.
keyEventHandled()
chrome.input.ime.keyEventHandled(
requestId: string,
response: boolean,
)
onKeyEvent가 수신한 키 이벤트가 처리됨을 나타냅니다. onKeyEvent 리스너가 비동기식인 경우에만 호출해야 합니다.
매개변수
-
requestId
string
처리된 이벤트의 요청 ID입니다. keyEvent.requestId에서 가져와야 합니다.
-
응답
boolean
키 입력이 처리된 경우 true, 그렇지 않으면 false입니다.
sendKeyEvents()
chrome.input.ime.sendKeyEvents(
parameters: object,
callback?: function,
)
키 이벤트를 전송합니다. 이 기능은 가상 키보드에서 사용될 것으로 예상됩니다. 사용자가 가상 키보드의 키를 누르면 이 함수를 사용하여 해당 이벤트를 시스템에 전파합니다.
매개변수
-
매개변수
객체
-
contextID
숫자
키 이벤트가 전송될 컨텍스트의 ID입니다. 키 이벤트를 입력란이 아닌 필드에 전송하려면 0입니다.
-
keyData
키 이벤트의 데이터입니다.
-
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.()=>void
반환 값
-
Promise<void>
Chrome 111 이상프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
setAssistiveWindowButtonHighlighted()
chrome.input.ime.setAssistiveWindowButtonHighlighted(
parameters: object,
callback?: function,
)
보조 창의 버튼을 강조 표시하거나 강조표시 해제합니다.
매개변수
-
매개변수
객체
-
announceString
문자열 선택사항
스크린 리더에서 알릴 텍스트입니다.
-
buttonID
버튼의 ID
-
contextID
숫자
지원 창을 소유한 컨텍스트의 ID입니다.
-
눈에 띄는 채팅 메시지
boolean
버튼의 강조 표시 여부입니다.
-
windowType
버튼이 속한 창 유형입니다.
-
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.()=>void
반환 값
-
Promise<void>
Chrome 111 이상프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
setAssistiveWindowProperties()
chrome.input.ime.setAssistiveWindowProperties(
parameters: object,
callback?: function,
)
지정된 속성이 있는 지원 창을 표시하거나 숨깁니다.
매개변수
-
매개변수
객체
-
contextID
숫자
지원 창을 소유한 컨텍스트의 ID입니다.
-
지원 창의 속성입니다.
-
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(success: boolean)=>void
-
성공
boolean
-
반환 값
-
Promise<boolean>
Chrome 111 이상프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
setCandidates()
chrome.input.ime.setCandidates(
parameters: object,
callback?: function,
)
현재 후보 목록을 설정합니다. 이 확장 프로그램이 활성 IME를 소유하지 않은 경우 실패합니다.
매개변수
-
매개변수
객체
-
후보
객체[]
후보자 창에 표시할 후보 목록
-
annotation
문자열 선택사항
후보자를 설명하는 추가 텍스트
-
조합
string
후보자
-
id
숫자
후보자의 ID
-
라벨
문자열 선택사항
추천 단어 옆에 표시되는 짧은 문자열(일반적으로 단축키 키 또는 색인)입니다.
-
parentId
number 선택사항
이러한 후보를 추가할 ID
-
사용량
객체 선택사항
단어의 용례 또는 세부 설명입니다.
-
body
string
세부정보 설명의 본문 문자열입니다.
-
title
string
세부정보 설명의 제목 문자열입니다.
-
-
-
contextID
숫자
후보 창을 소유하는 컨텍스트의 ID입니다.
-
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(success: boolean)=>void
-
성공
boolean
-
반환 값
-
Promise<boolean>
Chrome 111 이상프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
setCandidateWindowProperties()
chrome.input.ime.setCandidateWindowProperties(
parameters: object,
callback?: function,
)
후보 창의 속성을 설정합니다. 확장 프로그램에서 활성 IME를 소유하지 않은 경우 실패합니다.
매개변수
-
매개변수
객체
-
engineID
string
속성을 설정할 엔진의 ID입니다.
-
속성
객체
-
auxiliaryText
문자열 선택사항
후보 창 하단에 표시되는 텍스트입니다.
-
auxiliaryTextVisible
부울 선택사항
보조 텍스트를 표시하려면 true, 숨기려면 false를 지정합니다.
-
currentCandidateIndex
number 선택사항
Chrome 84 이상총 후보자 중 현재 선택된 후보자의 색인입니다.
-
cursorVisible
부울 선택사항
커서를 표시하려면 true, 숨기려면 false입니다.
-
pageSize
number 선택사항
페이지당 표시할 후보 수입니다.
-
totalCandidates
number 선택사항
Chrome 84 이상후보 기간의 총 후보 수입니다.
-
카테고리
부울 선택사항
후보 창을 세로로 렌더링해야 하는 경우 true, 가로로 렌더링하려면 false입니다.
-
표시
부울 선택사항
Candidate 창을 표시하려면 true로, 숨기려면 false로 설정합니다.
-
windowPosition
WindowPosition 선택사항
후보 창을 표시할 위치입니다.
-
-
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(success: boolean)=>void
-
성공
boolean
-
반환 값
-
Promise<boolean>
Chrome 111 이상프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
setComposition()
chrome.input.ime.setComposition(
parameters: object,
callback?: function,
)
현재 컴포지션을 설정합니다. 이 확장 프로그램이 활성 IME를 소유하지 않은 경우 실패합니다.
매개변수
-
매개변수
객체
-
contextID
숫자
음악작품 텍스트가 설정될 컨텍스트의 ID입니다.
-
cursor
숫자
커서 텍스트의 위치입니다.
-
세그먼트
object[] 선택사항
세그먼트 및 관련 유형의 목록입니다.
-
end
숫자
이 세그먼트를 끝낼 문자의 색인입니다.
-
start
숫자
이 세그먼트를 시작할 문자의 색인
-
스타일
이 세그먼트를 수정할 밑줄 유형입니다.
-
-
selectionEnd
number 선택사항
텍스트에서 선택 항목이 끝나는 위치입니다.
-
selectionStart
number 선택사항
텍스트에서 선택 항목이 시작되는 위치입니다.
-
text
string
설정할 텍스트
-
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(success: boolean)=>void
-
성공
boolean
-
반환 값
-
Promise<boolean>
Chrome 111 이상프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
setCursorPosition()
chrome.input.ime.setCursorPosition(
parameters: object,
callback?: function,
)
후보 창에서 커서 위치를 설정합니다. 이 확장 프로그램이 활성 IME를 소유하지 않은 경우 작동하지 않습니다.
매개변수
-
매개변수
객체
-
candidateID
숫자
선택할 후보의 ID입니다.
-
contextID
숫자
후보 창을 소유하는 컨텍스트의 ID입니다.
-
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(success: boolean)=>void
-
성공
boolean
-
반환 값
-
Promise<boolean>
Chrome 111 이상프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
setMenuItems()
chrome.input.ime.setMenuItems(
parameters: MenuParameters,
callback?: function,
)
이 IME가 활성 상태일 때 제공된 메뉴 항목을 언어 메뉴에 추가합니다.
매개변수
-
매개변수
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.()=>void
반환 값
-
Promise<void>
Chrome 111 이상프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
updateMenuItems()
chrome.input.ime.updateMenuItems(
parameters: MenuParameters,
callback?: function,
)
지정된 MenuItems 상태를 업데이트합니다.
매개변수
-
매개변수
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.()=>void
반환 값
-
Promise<void>
Chrome 111 이상프로미스는 Manifest V3 이상에서 지원되지만 콜백은 이전 버전과의 호환성을 위해 제공됩니다. 동일한 함수 호출에 둘 다 사용할 수는 없습니다. 프로미스는 콜백에 전달된 것과 동일한 유형으로 확인됩니다.
이벤트
onActivate
chrome.input.ime.onActivate.addListener(
callback: function,
)
이 이벤트는 IME가 활성화될 때 전송됩니다. IME가 onKeyPress 이벤트를 수신할 것이라고 알립니다.
매개변수
-
콜백
기능
callback
매개변수는 다음과 같습니다.(engineID: string,screen: ScreenType)=>void
-
engineID
string
-
화면
-
onAssistiveWindowButtonClicked
chrome.input.ime.onAssistiveWindowButtonClicked.addListener(
callback: function,
)
이 이벤트는 지원 창의 버튼을 클릭하면 전송됩니다.
매개변수
-
콜백
기능
callback
매개변수는 다음과 같습니다.(details: object)=>void
-
세부정보
객체
-
buttonID
클릭된 버튼의 ID입니다.
-
windowType
보조 창의 유형입니다.
-
-
onBlur
chrome.input.ime.onBlur.addListener(
callback: function,
)
이 이벤트는 포커스가 텍스트 상자에서 벗어나면 전송됩니다. 이벤트는 이 이벤트를 수신 대기하고 사용자가 사용 설정한 모든 확장 프로그램에 전송됩니다.
매개변수
-
콜백
기능
callback
매개변수는 다음과 같습니다.(contextID: number)=>void
-
contextID
숫자
-
onCandidateClicked
chrome.input.ime.onCandidateClicked.addListener(
callback: function,
)
이 이벤트는 이 확장 프로그램이 활성 IME를 소유한 경우 전송됩니다.
매개변수
-
콜백
기능
callback
매개변수는 다음과 같습니다.(engineID: string,candidateID: number,button: MouseButton)=>void
-
engineID
string
-
candidateID
숫자
-
버튼
-
onDeactivated
chrome.input.ime.onDeactivated.addListener(
callback: function,
)
이 이벤트는 IME가 비활성화되면 전송됩니다. IME가 더 이상 onKeyPress 이벤트를 수신하지 않을 것이라는 신호를 보냅니다.
매개변수
-
콜백
기능
callback
매개변수는 다음과 같습니다.(engineID: string)=>void
-
engineID
string
-
onFocus
chrome.input.ime.onFocus.addListener(
callback: function,
)
이 이벤트는 포커스가 텍스트 상자에 들어갈 때 전송됩니다. 이벤트는 이 이벤트를 수신 대기하고 사용자가 사용 설정한 모든 확장 프로그램에 전송됩니다.
매개변수
-
콜백
기능
callback
매개변수는 다음과 같습니다.(context: InputContext)=>void
-
context
-
onInputContextUpdate
chrome.input.ime.onInputContextUpdate.addListener(
callback: function,
)
이 이벤트는 유형과 같은 현재 InputContext의 속성이 변경될 때 전송됩니다. 이벤트는 이 이벤트를 수신 대기하고 사용자가 사용 설정한 모든 확장 프로그램에 전송됩니다.
매개변수
-
콜백
기능
callback
매개변수는 다음과 같습니다.(context: InputContext)=>void
-
context
-
onKeyEvent
chrome.input.ime.onKeyEvent.addListener(
callback: function,
)
운영체제에서 키 이벤트가 전송되면 실행됩니다. 이 확장 프로그램이 활성 IME를 소유하는 경우 이벤트가 확장 프로그램으로 전송됩니다. 리스너 함수는 이벤트가 처리된 경우 true를 반환하고 처리되지 않은 경우 false를 반환해야 합니다. 이벤트가 비동기식으로 평가되는 경우 이 함수는 정의되지 않은 항목을 반환해야 하며 IME는 나중에 그 결과와 함께 keyEventHandled()를 호출해야 합니다.
매개변수
-
콜백
기능
callback
매개변수는 다음과 같습니다.(engineID: string,keyData: KeyboardEvent,requestId: string)=>boolean|undefined
-
engineID
string
-
keyData
-
requestId
string
-
returns
boolean|undefined
-
onMenuItemActivated
chrome.input.ime.onMenuItemActivated.addListener(
callback: function,
)
사용자가 메뉴 항목을 선택할 때 호출됩니다.
매개변수
-
콜백
기능
callback
매개변수는 다음과 같습니다.(engineID: string,name: string)=>void
-
engineID
string
-
이름
string
-
onReset
chrome.input.ime.onReset.addListener(
callback: function,
)
이 이벤트는 Chrome이 진행 중인 텍스트 입력 세션을 종료할 때 전송됩니다.
매개변수
-
콜백
기능
callback
매개변수는 다음과 같습니다.(engineID: string)=>void
-
engineID
string
-
onSurroundingTextChanged
chrome.input.ime.onSurroundingTextChanged.addListener(
callback: function,
)
캐럿 주변의 수정 가능한 문자열이 변경되거나 캐럿 위치가 변경될 때 호출됩니다. 앞뒤로 텍스트 길이가 100자로 제한됩니다.
매개변수
-
콜백
기능
callback
매개변수는 다음과 같습니다.(engineID: string,surroundingInfo: object)=>void
-
engineID
string
-
surroundingInfo
객체
-
앵커
숫자
선택 항목의 시작 위치입니다. 이 값은 선택 항목이 없는 경우 캐럿 위치를 나타냅니다.
-
초점
숫자
선택 항목의 종료 위치입니다. 이 값은 선택 항목이 없는 경우 캐럿 위치를 나타냅니다.
-
오프셋
숫자
Chrome 46 이상text
의 오프셋 위치입니다.text
에는 커서 주위의 텍스트 하위 집합만 포함되므로 offset은text
의 첫 번째 문자의 절대 위치를 나타냅니다. -
text
string
커서 주변의 텍스트입니다. 입력란에 있는 모든 텍스트의 하위 집합일 뿐입니다.
-
-