diff --git a/src/store/modules/app.js b/src/store/modules/app.js index dc2f4c211f..8db55de6c2 100644 --- a/src/store/modules/app.js +++ b/src/store/modules/app.js @@ -27,6 +27,8 @@ const state = { message: '' }; +const steno_keyboards = ['gergo']; + const getters = { message: state => state.message, showSpinner: state => state.showSpinner, @@ -83,6 +85,17 @@ const actions = { nextLayout = oldLayout; } commit('setLayout', nextLayout); + + // enable and disable steno in keycode UI + const stenoCheck = steno_keyboards.reduce((acc, keeb) => { + return { [keeb]: true }; + }, {}); + if (stenoCheck[keyboard]) { + this.commit('keycodes/enableSteno'); + } else { + this.commit('keycodes/disableSteno'); + } + resolve(); }); }); diff --git a/src/store/modules/keycodes/index.js b/src/store/modules/keycodes/index.js index 995f2fc39e..37f4f0050a 100644 --- a/src/store/modules/keycodes/index.js +++ b/src/store/modules/keycodes/index.js @@ -3,6 +3,7 @@ import iso_jis from './iso-jis'; import quantum from './quantum'; import settings from './kb-settings'; import media from './app-media-mouse'; +import steno from './steno'; const state = { keycodes: [...ansi, ...iso_jis, ...quantum, ...settings, ...media] }; @@ -20,7 +21,21 @@ const getters = { }; const actions = {}; -const mutations = {}; +const mutations = { + enableSteno(state) { + state.keycodes = [ + ...ansi, + ...iso_jis, + ...quantum, + ...settings, + ...media, + ...steno + ]; + }, + disableSteno(state) { + state.keycodes = [...ansi, ...iso_jis, ...quantum, ...settings, ...media]; + } +}; export default { namespaced: true, diff --git a/src/store/modules/keycodes/steno.js b/src/store/modules/keycodes/steno.js new file mode 100644 index 0000000000..63caea8815 --- /dev/null +++ b/src/store/modules/keycodes/steno.js @@ -0,0 +1,62 @@ +export default [ + { label: 'Steno', width: 'label', group: true }, + + { name: 'S', code: 'STN_S1' }, + { name: 'T', code: 'STN_TL' }, + { name: 'P', code: 'STN_PL' }, + { name: 'H', code: 'STN_HL' }, + { name: '*1', code: 'STN_ST1' }, + { width: 1000 }, + { name: '*3', code: 'STN_ST3' }, + { name: 'F', code: 'STN_FR' }, + { name: 'P', code: 'STN_PR' }, + { name: 'L', code: 'STN_LR' }, + { name: 'T', code: 'STN_TR' }, + { name: 'D', code: 'STN_DR' }, + { width: 0 }, + + { name: 'S', code: 'STN_S2' }, + { name: 'K', code: 'STN_KL' }, + { name: 'W', code: 'STN_WL' }, + { name: 'R', code: 'STN_RL' }, + { name: '*2', code: 'STN_ST2' }, + { width: 1000 }, + { name: '*4', code: 'STN_ST4' }, + { name: 'R', code: 'STN_RR' }, + { name: 'B', code: 'STN_BR' }, + { name: 'G', code: 'STN_GR' }, + { name: 'S', code: 'STN_SR' }, + { name: 'Z', code: 'STN_ZR' }, + { width: 0 }, + + { width: 1000 }, + { width: 1000 }, + { width: 1000 }, + { name: 'A', code: 'STN_A' }, + { name: 'O', code: 'STN_O' }, + { width: 1000 }, + { name: 'E', code: 'STN_E' }, + { name: 'U', code: 'STN_U' }, + { width: 0 }, + + { label: 'Numbers', width: 'label' }, + { name: '#1', code: 'STN_N1' }, + { name: '#2', code: 'STN_N2' }, + { name: '#3', code: 'STN_N3' }, + { name: '#4', code: 'STN_N4' }, + { name: '#5', code: 'STN_N5' }, + { name: '#6', code: 'STN_N6' }, + { name: '#7', code: 'STN_N7' }, + { name: '#8', code: 'STN_N8' }, + { name: '#9', code: 'STN_N9' }, + { name: '#A', code: 'STN_NA' }, + { name: '#B', code: 'STN_NB' }, + { name: '#C', code: 'STN_NC' }, + + { label: 'Special Functions', width: 'label' }, + { name: 'PWR', code: 'STN_PWR' }, + { name: 'FN', code: 'STN_FN' }, + { name: 'Res1', code: 'STN_RES1' }, + { name: 'Res2', code: 'STN_RES2' }, + { width: 0 } +];