PHPackages                             clarkwinkelmann/flarum-ext-typewriter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. clarkwinkelmann/flarum-ext-typewriter

ActiveFlarum-extension[Utility &amp; Helpers](/categories/utility)

clarkwinkelmann/flarum-ext-typewriter
=====================================

Plays custom sounds in the reply composer

1.0.0(4y ago)1182MITTypeScript

Since Apr 29Pushed 4y ago1 watchersCompare

[ Source](https://github.com/clarkwinkelmann/flarum-ext-typewriter)[ Packagist](https://packagist.org/packages/clarkwinkelmann/flarum-ext-typewriter)[ RSS](/packages/clarkwinkelmann-flarum-ext-typewriter/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

Typewriter Sounds
=================

[](#typewriter-sounds)

[![MIT license](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](https://github.com/clarkwinkelmann/flarum-ext-typewriter/blob/master/LICENSE.md) [![Latest Stable Version](https://camo.githubusercontent.com/e572b91c8dcf48f33f5f1c7997f68e05472e5516abfe7f4f7473240fe89d1da2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f636c61726b77696e6b656c6d616e6e2f666c6172756d2d6578742d747970657772697465722e737667)](https://packagist.org/packages/clarkwinkelmann/flarum-ext-typewriter) [![Total Downloads](https://camo.githubusercontent.com/68f67b06b37fecaa8903d5c27ad184cd259db77fc04d6f55115757046e965c44/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f636c61726b77696e6b656c6d616e6e2f666c6172756d2d6578742d747970657772697465722e737667)](https://packagist.org/packages/clarkwinkelmann/flarum-ext-typewriter) [![Donate](https://camo.githubusercontent.com/0d6e4d8b50b5983a58205941b1a581b1305903393b7a39da574e3f60af3c7f5b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f70617970616c2d646f6e6174652d79656c6c6f772e737667)](https://www.paypal.me/clarkwinkelmann)

This extension plays custom sounds while the user types in the Flarum reply composer.

A mute button is available in the top right of the composer. The mute setting is saved to the user profile, so it persists across sessions and browsers.

No sounds are embedded in the extension, you have to provide your own.

Format for the settings:

- **File**: an absolute URL to a media file. You can skip the domain if hosted locally. For example: `/assets/typewriter/keystroke.mp3` or `https://cdn.mysite.tld/sound.ogg`.
- **Keys**: a regular expression to match a valid [`KeyboardEvent.code`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code) value. This expression will be passed to the constructor of javascript's `RegExp` so it does not need delimiters. If you are only matching one key, you can generally just enter the character in the field. To match multiple characters, use `[abc]` or `[a-c]`. Enter is `Enter`.

Installation
------------

[](#installation)

```
composer require clarkwinkelmann/flarum-ext-typewriter

```

Support
-------

[](#support)

This extension is under **minimal maintenance**.

It was developed for a client and released as open-source for the benefit of the community. I might publish simple bugfixes or compatibility updates for free.

You can [contact me](https://clarkwinkelmann.com/flarum) to sponsor additional features or updates.

Support is offered on a "best effort" basis through the Flarum community thread.

**Sponsors**: [Billy Wilcosky (`@010101`)](https://www.wilcosky.com/)

Links
-----

[](#links)

- [GitHub](https://github.com/clarkwinkelmann/flarum-ext-typewriter)
- [Packagist](https://packagist.org/packages/clarkwinkelmann/flarum-ext-typewriter)
- [Discuss](https://discuss.flarum.org/d/30720)

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1474d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0538135c1debcef5602dce7ece027909cc832b7a6284ab9189a19aa8de98d60d?d=identicon)[clarkwinkelmann](/maintainers/clarkwinkelmann)

---

Top Contributors

[![clarkwinkelmann](https://avatars.githubusercontent.com/u/5264300?v=4)](https://github.com/clarkwinkelmann "clarkwinkelmann (3 commits)")

---

Tags

flarumsounds

### Embed Badge

![Health badge](/badges/clarkwinkelmann-flarum-ext-typewriter/health.svg)

```
[![Health](https://phpackages.com/badges/clarkwinkelmann-flarum-ext-typewriter/health.svg)](https://phpackages.com/packages/clarkwinkelmann-flarum-ext-typewriter)
```

###  Alternatives

[fof/byobu

Well integrated, advanced private discussions.

61105.8k9](/packages/fof-byobu)[fof/user-bio

Add a user bio to user profiles

2196.5k9](/packages/fof-user-bio)[fof/links

Manage Flarum primary navbar menu links

39118.3k2](/packages/fof-links)[fof/drafts

Allow users to create post and discussion drafts

1771.1k5](/packages/fof-drafts)[fof/nightmode

Add a Night Mode option for your users to use on your Flarum forum

3774.5k2](/packages/fof-nightmode)[fof/best-answer

Mark a post as the best answer in a discussion

26135.2k15](/packages/fof-best-answer)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
