GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    alcinnz (alcinnz@floss.social)'s status on Tuesday, 24-Dec-2024 05:16:21 JST alcinnz alcinnz

    Yesterday I discussed getting our idiomatic computer to display text, but how about entering text?

    The keyboard would provide an interrupt everytime you press/hold a button or release it. Except the keyboard, per the SPI spec, provides "scancodes" not ASCII characters.

    So use lookuptables to convert from scancodes to ASCII. And track the state of keys like shift/capslock to determine which lookuptable to use.

    Append each typed character to the string being displayed.

    1/2!

    In conversation Tuesday, 24-Dec-2024 05:16:21 JST from floss.social permalink

    Attachments


    • Embed this notice
      alcinnz (alcinnz@floss.social)'s status on Tuesday, 24-Dec-2024 05:22:45 JST alcinnz alcinnz
      in reply to

      A couple things to note about this program:

      1. Later we'll want to complicate the conversion from scancodes to cover more of Unicode, with the aid of the swappable 1MiB text-cartridges.

      2. It'd be useful to output the state we're tracking for the keyboard back to its LEDs.

      3. For now we've got plentiful RAM & no other use for it than to append characters into. As we add text-editing features we'll want to buffer the scancodes via a ringbuffer so our code can get to them in its own time.

      2/2!

      In conversation Tuesday, 24-Dec-2024 05:22:45 JST permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.