~onboard/onboard/1.1

« back to all changes in this revision

Viewing changes to Onboard/Keyboard.py

  • Committer: marmuta
  • Date: 2015-08-19 11:55:40 UTC
  • Revision ID: marmvta@gmail.com-20150819115540-iyxh7r9ic2zhgnja
Merge trunk rev. 1968: Initial fix for CAPS inverting letter case when inserting word suggestions.

Show diffs side-by-side

added added

removed removed

Lines of Context:
332
332
        if not self._delayed_mods is None:
333
333
            for mod, count in self._delayed_mods.items():
334
334
                if count:
335
 
                    self._do_lock_mod(mod)
 
335
                    self.do_lock_mod(mod)
336
336
                else:
337
 
                    self._do_unlock_mod(mod)
 
337
                    self.do_unlock_mod(mod)
338
338
 
339
339
            self._delayed_mods = None
340
340
 
341
341
    def lock_mod(self, mod):
342
342
        if self._delayed_mods is None:
343
 
            self._do_lock_mod(mod)
 
343
            self.do_lock_mod(mod)
344
344
        else:
345
345
            self._delayed_mods[mod] = True
346
346
 
347
347
    def unlock_mod(self, mod):
348
348
        if self._delayed_mods is None:
349
 
            self._do_unlock_mod(mod)
 
349
            self.do_unlock_mod(mod)
350
350
        else:
351
351
            self._delayed_mods[mod] = False
352
352
 
353
 
    def _do_lock_mod(self, mod):
 
353
    def do_lock_mod(self, mod):
354
354
        self._key_synth.lock_mod(mod)
355
355
 
356
 
    def _do_unlock_mod(self, mod):
 
356
    def do_unlock_mod(self, mod):
357
357
        self._key_synth.unlock_mod(mod)
358
358
 
359
359
    # Higher-level functions
438
438
        for mod, nkeys in mods.items():
439
439
            if nkeys:
440
440
                self._mods[mod] = 0
441
 
                self._text_changer.unlock_mod(mod)
 
441
                self._text_changer.do_unlock_mod(mod)
442
442
 
443
443
    def _pop_and_restore_modifiers(self):
444
444
        mods = self._suppress_modifiers_stack.pop()
445
445
        for mod, nkeys in mods.items():
446
446
            if nkeys:
447
447
                self._mods[mod] = nkeys
448
 
                self._text_changer.lock_mod(mod)
 
448
                self._text_changer.do_lock_mod(mod)
449
449
 
450
450
    # currently active layer
451
451
    def _get_active_layer_index(self):
1310
1310
    def set_modifiers(self, mod_mask):
1311
1311
        """
1312
1312
        Sync Onboard with modifiers of the given modifier mask.
1313
 
        Used to sync changes to system modifier state with Onboard.
 
1313
        Used to sync changes of system modifier state with Onboard.
1314
1314
        """
1315
1315
        # The special handling of ALT in Onboard confuses the detection of
1316
1316
        # modifier presses from the outside.
1323
1323
 
1324
1324
        for mod_bit in (1<<bit for bit in range(8)):
1325
1325
            # Directly redraw locking modifiers only. All other modifiers
1326
 
            # redraw after a short delay. This is meant to prevents
 
1326
            # redraw after a short delay. This is meant to prevent
1327
1327
            # Onboard from busily flashing keys and using CPU while
1328
1328
            # typing with a hardware keyboard.
1329
1329
            if (mod_bit & (Modifiers.CAPS | Modifiers.NUMLK)):