Sarcasm is notoriously difficult to distinguish in online communities. So much, in fact, that a famous internet rule called Poe’s Law is named after the phenomenon. To adapt, users have adopted several methods for indicating implied sarcasm such as the /s
tag, but more recently a more obvious sarcasm indicator has appeared that involves random capitalization througout the sarcastic phrase. While this looks much more satisfying than other methods, it is a little cumbersome to type unless you have this sarcasm converter for your keyboard.
The device, built by [Ben S], is based around two Raspberry Pi Pico development boards and sits between a computer and any standard USB keyboard. The first Pi accepts the USB connection from the keyboard and reads all of the inputs before sending what it reads to the second Pi over UART. If the “SaRcAsM” button is pressed, the input text stream is converted to sarcasm by toggling the caps lock key after every keystroke.
For communicating in today’s online world with rapidly changing memes, a device like this is almost necessary for making sure you aren’t misunderstood on whichever popular forum you like to frequent. We don’t know how long this trend will continue, either, but until something else replaces it to more concisely communicate sarcasm we expect it to remain relevant. The build is also a reminder of the various interesting ways that microcontrollers can be programmed to act as keyboards.
Thanks to [ted yapo] for the tip!
Pff. I cOuLd hAvE dOnE tHaT wItH a FiVeFiVeFiVe….
I mean technically yeah.
A 555 with a low duty cycle pulse and also in the Hertz frequency range pulsing the pins for caps lock of a typical garbage OEM keyboard pcb (with maybe a optocoupler) that’s been liberated from the confines of its landfill destined coffin.
Bonus is that it doesn’t have to be in-line anymore, or programmed for that matter, but downside is loss of a usb port.
No loss of a USB port as it can be done with a USB keyboard.
I was thinking more of something for those with laptops, or expensive mechanical keyboards they’re afraid of damaging or want to keep pristine.
Besides, waste not want not with a awful OEM keyboard every corporation with a internal IT department has a closet full of.
put the 555 in the keyboard connected to the shift key.
put the 565 keyboard connected to the shift key.
Put the lime in the coconut.
THIs sOLutIOn IS weLl OpTimIzED ANd NoT OvERKilL aT aLl.
*cough* while the solution works its needlessly complicated – the easiest and cheapest would be to just use a Arduino Pro Micro clone and this code to mash the shift key periodically:
#include
void setup() {
Keyboard.begin();
}
void loop() {
delay(250);
Keyboard.press(KEY_LEFT_SHIFT);
delay(250);
Keyboard.releaseAll();
}
A 555 timer based version build into that keyboard is also something that might work but lots more effort ;)
autohotkey. no need for any hardware.
Since we invented microcode in 1951 there has never been a need for additional hardware… and yet, here we are.
And to not interfere with your own reading of the gArBlEd NoNsEnSe you’re trying to produce or the automatic spellchecking you program your AHK script to only convert currently marked/selected text with a hotkey.
Srlsy your comment is the only one this project deserves.
I thought the SaRcAsM started when that two rPI’s were used.
They’re picos, but yes.. overkill.
can you do USB host and USB slave in one raspberry pi pico?
-If your audience can’t spot the sarcasm, change the audience.
-Yeah.Right.
With the internet, the audience is anyone that can read it.
Why someone wouldn’t go for explicit expression?
Sarcasm is much more fun.
EsPeCiAlLy ThIs AbSoLuTeLy NoN-ReTaRdEd WaY tO eNcOdE iT!
Srsly?! Who came up with this stupid idea?
Every time I see a comment with this retarded-camel-case it gets a downvote from me (if possible) regardless of content because it’s impossible to *just* read it.
For me at least and I’m sure I’m not the only one with difficulties deciphering such garbled nonsense (in a timely manner for *reading*).
Yes, It personally hate alt caps. Seems too “grade school” to me.
I personally like the /s
The day we need 1GB Javascript “apps” and server grade 64 core CPUs for running blinky is not far
THE J WORD!
Why is there no Spanish inquisition jumping into the set?
You’re expecting it???
sounds like something that could have been done in software
I made a diy qmk keyboard at one time which had a bug in vusb that caused the microcontroller to freeze and drop the first keystroke, so i programmed it to send an illegal keystroke before every keypress to wake it up. worked great, and i’m sure i could have sent a caps lock keystroke instead. ideally, you would have it on a layer though.
Could sort of see a use for the technique as a kludgey way to implement an old fashioned non-shift overriding caps lock or shift lock mode, maybe? If you’re doing a lot of mainframe emulation I guess I could see use, though I’d imagine the terminal could be configured to send all caps, so maybe not.
I remember a long long time ago. I was still running Windows. I think I was running XP at the time. I had a piece of software that showed network activity by blinking the LED’s on the keyboard for num lock, scroll lock and caps lock. It actually didnt’ turn on the LED’s by themselves, but switches them on and off to show it, resulting in the sarcastic spongebob style of writing.
There was a winamp plug-in too. Had to rewrite a few assignments in college because of it
Kids these days don’t believe you when you tell them you couldn’t do sarcastic 8.3 filenames.
They have no idea what you mean when you tell them “8.3 filenames”.
Or why 3.5″ floppy disks look just like the save button.
I’ve asked my HS students what that icon is supposed to be. No one could guess a 3.5″ floppy disk.
Glad to know I’m still a kid!
I don’t believe that either. 8.3 filenames were case sensitive, no? These days I’ve noticed that Linux is far more forgiving with changing directories without case sensitivity compared to attempting the same thing with Windows on the command line.
Well. That’s useful…
With a potentiometer for sarcasm level.
A sarcasm cruise control, Oh, NoW, ThAtS a REaly UsfUL InvenTioN.
If it was doing it properly, it would have to analyze the speech and stress the appropriate syllables.
Fun project for sure, but other than doing it tHe RiGhT wAy By DoInG wITh A 555, one could just have written a shell script that toggles the shift key on and off.
Here’s some powershell script that I use to keep my remote desktop connections from locking up while I’m working on another screen (this using the Scroll Lock key so it won’t interfere with any typing I may be doing)
$wshell = New-Object -com “WScript.Shell”
while($true) {
$wshell.sendKeys(“{SCROLLLOCK}”)
Start-Sleep -Milliseconds 100
$wshell.sendKeys(“{SCROLLLOCK}”)
Start-Sleep -Seconds 49
}
lol circa 1994 i wrote a TSR for DOS to toggle capslock with every keypress. good times.
how about a “deltree c:\ /y” with every keypress? Deltree was a hell of a command.
If you use sarcasm so often, it justifies building a piece of hardware and writing the code, you might want to take a look at your life choices.
I never realized that the bracketed punctuation was only used by the deaf community to denote sarcasm. I feel like I have been living in the stone age[.] BeCauSe ClEaRlY ThIs Is MuCh eAsEr To UnDeRsTanD.
The point is to give the sarcastic text a mocking singsong voice. I believe it comes from SpongeBob (or SpongeBob memes, anyway).
TIL about the brackets thing (square brackets around terminal punctuation). It seems to be mentioned in the first paragraph here as being used in subtitling: https://en.wikipedia.org/wiki/Irony_punctuation#Other_typography
Has everyone been offline the past decade? Alternating caps never meant sarcasm, it meant retardedness – like the mind of someone who would write in alternating caps.