DuoKeyboard
Adds automatic keyboard switching on duolingo.com based on the user preferences.
Additional files are visible only to premium users
manifest.json
{
"update_url": "https://clients2.google.com/service/update2/crx",
"name": "__MSG_extension_name__",
"short_name": "__extension_short_name__",
"version": "1.5.1",
"manifest_version": 3,
"description": "__MSG_extension_description__",
"default_locale": "en",
"options_ui": {
"open_in_tab": true,
"page": "./data/options/index.html"
},
"permissions": [
"storage",
"tabs"
],
"web_accessible_resources": [
{
"resources": [
"data/img/icon-16.png",
"data/duokeyboard/duokeyboardSetup.json",
"data/duokeyboard/keyboard-layouts/*.json"
],
"matches": [
"https://*.duolingo.com/*"
]
}
],
"action": {
"default_icon": {
"19": "data/img/icon-19.png",
"38": "data/img/icon-38.png"
},
"default_title": "__MSG_extension_action_title__",
"default_popup": "./data/options/dummy.html"
},
"icons": {
"16": "data/img/icon-16.png",
"48": "data/img/icon-48.png",
"128": "data/img/icon-128.png"
},
"content_scripts": [
{
"css": [
"./data/duokeyboard/DuoKeyboardOnscreen.css"
],
"js": [
"./data/common/interact.js",
"./data/common/SettingsElements.js",
"./data/common/Common.js",
"./data/common/DynamicHTML.js",
"./data/common/Data.js",
"./data/duokeyboard/DuoKeyboardInputMethodExtension.js",
"./data/duokeyboard/DuoKeyboardDeadKeys.js",
"./data/duokeyboard/DuoKeyboardVietnamese.js",
"./data/duokeyboard/DuoKeyboardHangul.js",
"./data/duokeyboard/DuoKeyboard.js",
"./data/duokeyboard/DuoKeyboardOnscreen.js",
"./data/duokeyboard/DuoKeyboardController.js"
],
"matches": [
"https://*.duolingo.com/*"
]
}
]
}