// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. var ime_api = chrome.input.ime; var context_id = -1; console.log("Initializing IME"); ime_api.onFocus.addListener(function(context) { console.log('onFocus:' + context.contextID); context_id = context.contextID; }); ime_api.onBlur.addListener(function(contextID) { console.log('onBlur:' + contextID); context_id = -1; }); ime_api.onActivate.addListener(function(engineID) { console.log('onActivate:' + engineID); }); ime_api.onDeactivated.addListener(function(engineID) { console.log('onDeactivated:' + engineID); }); ime_api.onKeyEvent.addListener( function(engineID, keyData) { console.log('onKeyEvent:' + keyData.key + " context: " + context_id); if (keyData.type == "keydown" && keyData.key.match(/^[a-z]$/)) { chrome.input.ime.commitText({"contextID": context_id, "text": keyData.key.toUpperCase()}); return true; } return false });