DuoKeyboard

DuoKeyboard

Adds automatic keyboard selection for duolingo.com based on user preferences.

Merlin
Additional files are visible only to premium users

manifest.json


{
  "applications": {
    "gecko": {
      "id": "@DuoKeyboard",
      "strict_min_version": "57.0"
    }
  },
  "name": "__MSG_extension_name__",
  "short_name": "__extension_short_name__",
  "version": "1.5.0",
  "manifest_version": 2,
  "description": "__MSG_extension_description__",
  "default_locale": "en",
  "options_ui": {
    "page": "./data/options/index.html",
    "browser_style": false,
    "open_in_tab": true
  },
  "permissions": [
    "storage",
    "tabs"
  ],
  "web_accessible_resources": [
    "data/img/icon-16.png",
    "data/duokeyboard/duokeyboardSetup.json",
    "data/duokeyboard/keyboard-layouts/*.json"
  ],
  "browser_action": {
    "default_title": "__MSG_extension_action_title__",
    "default_icon": {
      "19": "data/img/icon-19.png",
      "38": "data/img/icon-38.png"
    }
  },
  "icons": {
    "16": "data/img/icon-16.png",
    "48": "data/img/icon-48.png",
    "128": "data/img/icon-128.png"
  },
  "content_scripts": [
    {
      "matches": [
        "https://*.duolingo.com/*"
      ],
      "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"
      ],
      "css": [
        "./data/duokeyboard/DuoKeyboardOnscreen.css"
      ]
    }
  ],
  "background": {
    "scripts": [
      "./data/duokeyboard/background.js"
    ]
  }
}