rime / rime/squirrel

punctuator映射在切换scheme后再切回来就无效了

Open
#670 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Swift
Stars
6.4k
Forks
554
PR merge metrics
No merged PRs in 30d

Description

具体表现

从系统输入法ABC切换到Squirrel时下面这个scheme是有效的,键盘输出[;,.pyf aoeuid], 但是在squirrel [control+`]切换一下拼音scheme再切回dvorak这个, 我设置的punct_translator就无效了,键盘输出变回了[qwerty asdfg]

失效scheme文件

# Rime schema settings
# encoding: utf-8

schema:
  schema_id: dvorak
  name: "dvorak"
  version: "0.1"
  author:
    - 方案制作人
  description: |
    dvorak

switches:
  - name: ascii_mode
    reset: 0
    states: [ dvp, qwerty ]
  - name: full_shape
    states: [ 半角, 全角 ]

engine:
  processors:
    - punctuator
  segmentors:
    - punct_segmentor
  translators:
    - punct_translator
key_binder:
  bindings:
    - {accept: "Shift+Space", toggle: full_shape, when: always}
punctuator:
  half_shape: &symtable
    "`": {commit: "$"}
    "1": {commit: "&"}
    "2": {commit: "["}
    "3": {commit: "{"}
    "4": {commit: "}"}
    "5": {commit: "("}
    "6": {commit: "="}
    "7": {commit: "*"}
    "8": {commit: ")"}
    "9": {commit: "+"}
    "0": {commit: "]"}
    "-": {commit: "!"}
    "=": {commit: "#"}
    "~": {commit: "~"}
    "!": {commit: "%"}
    "@": {commit: "7"}
    "#": {commit: "5"}
    "$": {commit: "3"}
    "%": {commit: "1"}
    "^": {commit: "9"}
    "&": {commit: "0"}
    "*": {commit: "2"}
    "(": {commit: "4"}
    ")": {commit: "6"}
    "-": {commit: "8"}
    "=": {commit: "`"}
    "q": {commit: ";"}
    "w": {commit: ","}
    "e": {commit: "."}
    "r": {commit: "p"}
    "t": {commit: "y"}
    "y": {commit: "f"}
    "u": {commit: "g"}
    "i": {commit: "c"}
    "o": {commit: "r"}
    "p": {commit: "l"}
    "[": {commit: "/"}
    "]": {commit: "@"}
    "\\": {commit: "\\"}
    "a": {commit: "a"}
    "s": {commit: "o"}
    "d": {commit: "e"}
    "f": {commit: "u"}
    "g": {commit: "i"}
    "h": {commit: "d"}
    "j": {commit: "h"}
    "k": {commit: "t"}
    "l": {commit: "n"}
    ";": {commit: "s"}
    "'": {commit: "-"}
    "z": {commit: "'"}
    "x": {commit: "q"}
    "c": {commit: "j"}
    "v": {commit: "k"}
    "b": {commit: "x"}
    "n": {commit: "b"}
    "m": {commit: "m"}
    ",": {commit: "w"}
    ".": {commit: "v"}
    "/": {commit: "z"}
    "Q": {commit: ":"}
    "W": {commit: "<"}
    "E": {commit: ">"}
    "R": {commit: "P"}
    "T": {commit: "Y"}
    "Y": {commit: "F"}
    "U": {commit: "G"}
    "I": {commit: "C"}
    "O": {commit: "R"}
    "P": {commit: "L"}
    "{": {commit: "?"}
    "}": {commit: "^"}
    "|": {commit: "|"}
    "A": {commit: "A"}
    "S": {commit: "O"}
    "D": {commit: "E"}
    "F": {commit: "U"}
    "G": {commit: "I"}
    "H": {commit: "D"}
    "J": {commit: "H"}
    "K": {commit: "T"}
    "L": {commit: "N"}
    ":": {commit: "S"}
    "\"": {commit: "_"}
    "Z": {commit: "\""}
    "X": {commit: "Q"}
    "C": {commit: "J"}
    "V": {commit: "K"}
    "B": {commit: "X"}
    "N": {commit: "B"}
    "M": {commit: "M"}
    "<": {commit: "W"}
    ">": {commit: "V"}
    "?": {commit: "Z"}
  full_shape: 
    "`": {commit: "`"}
    "1": {commit: "1"}
    "2": {commit: "2"}
    "3": {commit: "3"}
    "4": {commit: "4"}
    "5": {commit: "5"}
    "6": {commit: "6"}
    "7": {commit: "7"}
    "8": {commit: "8"}
    "9": {commit: "9"}
    "0": {commit: "0"}
    "-": {commit: "-"}
    "=": {commit: "="}
    "~": {commit: "~"}
    "!": {commit: "!"}
    "@": {commit: "@"}
    "#": {commit: "#"}
    "$": {commit: "$"}
    "%": {commit: "%"}
    "^": {commit: "^"}
    "&": {commit: "&"}
    "*": {commit: "*"}
    "(": {commit: "("}
    ")": {commit: ")"}
    "-": {commit: "-"}
    "=": {commit: "="}
    "q": {commit: "q"}
    "w": {commit: "w"}
    "e": {commit: "e"}
    "r": {commit: "r"}
    "t": {commit: "t"}
    "y": {commit: "y"}
    "u": {commit: "u"}
    "i": {commit: "i"}
    "o": {commit: "o"}
    "p": {commit: "p"}
    "[": {commit: "["}
    "]": {commit: "]"}
    "\\": {commit: "\\"}
    "a": {commit: "a"}
    "s": {commit: "s"}
    "d": {commit: "d"}
    "f": {commit: "f"}
    "g": {commit: "g"}
    "h": {commit: "h"}
    "j": {commit: "j"}
    "k": {commit: "k"}
    "l": {commit: "l"}
    ";": {commit: ";"}
    "'": {commit: "'"}
    "z": {commit: "z"}
    "x": {commit: "x"}
    "c": {commit: "c"}
    "v": {commit: "v"}
    "b": {commit: "b"}
    "n": {commit: "n"}
    "m": {commit: "m"}
    ",": {commit: ","}
    ".": {commit: "."}
    "/": {commit: "/"}
    "Q": {commit: "Q"}
    "W": {commit: "W"}
    "E": {commit: "E"}
    "R": {commit: "R"}
    "T": {commit: "T"}
    "Y": {commit: "Y"}
    "U": {commit: "U"}
    "I": {commit: "I"}
    "O": {commit: "O"}
    "P": {commit: "P"}
    "{": {commit: "{"}
    "}": {commit: "}"}
    "|": {commit: "|"}
    "A": {commit: "A"}
    "S": {commit: "S"}
    "D": {commit: "D"}
    "F": {commit: "F"}
    "G": {commit: "G"}
    "H": {commit: "H"}
    "J": {commit: "J"}
    "K": {commit: "K"}
    "L": {commit: "L"}
    ":": {commit: ":"}
    "\"": {commit: "\""}
    "Z": {commit: "Z"}
    "X": {commit: "X"}
    "C": {commit: "C"}
    "V": {commit: "V"}
    "B": {commit: "B"}
    "N": {commit: "N"}
    "M": {commit: "M"}
    "<": {commit: "<"}
    ">": {commit: ">"}
    "?": {commit: "?"}

key_binder:
  import_preset: default

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test is named. Reproduce the failure with the supplied dvorak scheme: activate it, switch to another Squirrel scheme with Control+`, then switch back and verify whether punct_translator still maps keys as configured; done means the mapping remains effective after the round trip.

Written by the indexing model from the issue text.

Assessment

Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.