Author Topic: Ideas for Bachelor of Computer Science thesis regarding mechanical keyboard?  (Read 5516 times)

0 Members and 1 Guest are viewing this topic.

Offline c3zz

  • Thread Starter
  • Posts: 2
I'm collecting ideas about Computer Science Bachelor’s degree thesis. In my university the thesis could be anything from theoretical analysis to up-and-running application. Since I like mechanical keyboards I thought doing something regarding that topic, but I would like your help to find out what exactly could be generated into Bachelor’s thesis.

Regarding the topic, I came up with three possible "ideas":

Designing and creating mini pcb for easy access of programming related symbols (different parentheses, punctuation marks, insert, etc).
By that I mean, designing the pcb (using this quide) and programming the microcontroller. Regarding that I would like to know if it’s possible to program the microcontroller to output keycodes that usually require ‘shift’ or ‘alt’ (for example ‘$’, ‘[’) without pressing the modifier key? (sry if it’s too dumb question) Also, I would like to design appropriate case and plate for the pcb (if I have enough time for that).

Maybe something about keyboards and security? This topic seems interesting, but since security usually involves knowing the firmware really well it might be too complicated for me. But then again, maybe you guys have any ideas about keyboards and security that might be suitable for computer science student.

Some kind of API for keyboards? I have no idea what it could be for, but maybe there is a need for some kind of API for keyboards (for easy LED controlling?).


Any help or ideas would be appreciated!  ;D
« Last Edit: Sun, 28 October 2018, 08:17:41 by c3zz »

Offline Findecanor

  • Posts: 4443
  • Location: Stockholm, Sweden
  • Low Social Media Credit Score
The problem is that an academic thesis has to answer an academic question. Just coming up with an idea for something that could be useful is not enough. You would have to motivate why it is interesting.

Yes, it is possible to send a combination of modifier(s) and other keys, but not simultaneously with keys that are not part of the combination. When you want to send your combo or macro you would have to first block new key presses from being registered and then either wait for the any other pressed keys to be released or forcibly handle the keys as if they were — in a way that does not automatically resend their press-events right after your combo. It has been done in every keyboard that is capable of macros.

Security over USB is physical security. A dongle in the middle can listen and/or send reports. Basic types have been done many times.
Maybe you could come up with some smarter type of key logger. Perhaps one that would use heuristics or machine learning to figure out which key sequences are likely to be passwords and which are not, so as to save memory and network bandwidth.

Perhaps you could reverse-engineer one or more proprietary APIs used by commercial keyboard(s) for controlling backlighting. Identify stupid and vulnerable parts in the protocol. Document the reverse-engineering process and the results. Write a stand-alone application that implements the protocol. Could perhaps be useful for Linux or BSD users wanting to control backlighting where the vendor has supplied only a Windows control panel.
"I'm sorry, a rain drop literally pushed "Submit" on this retarded touchscreen phone"

Offline no, the other guy

  • Posts: 160
  • Location: Germany
  • actually, this guy
The problem is that an academic thesis has to answer an academic question.

At least in Germany, this is not quite correct. Mine was about a PHP website I wrote, not solving any academic problem.
<armin> i have the impression the only reason the mx red switch was invented was drunk people

       
Unicomp PC122               IBM Model F XT
(review)

Offline suicidal_orange

  • * Global Moderator
  • Posts: 3484
  • Location: England
The problem is that an academic thesis has to answer an academic question. Just coming up with an idea for something that could be useful is not enough. You would have to motivate why it is interesting.
...
Perhaps you could reverse-engineer one or more proprietary APIs used by commercial keyboard(s) for controlling backlighting. Identify stupid and vulnerable parts in the protocol. Document the reverse-engineering process and the results. Write a stand-alone application that implements the protocol. Could perhaps be useful for Linux or BSD users wanting to control backlighting where the vendor has supplied only a Windows control panel.
For mine I reverse engineered the remote control on my hi-fi/USB soundcard so it worked in Linux and still came up against 'why?' as the biggest objection.  I was warned that my idea was borderline and continued anyway so got a crap grade because it was 'useless'* despite it working perfectly.  Definitely get your plan checked and if they don't like it don't risk your future on it.


*Sadly it was useless as the hi-fi died and despite the remote control part being exactly the same and the sound part still using the standard driver the replacement never went above minimum volume so it wasn't usable in Linux, but I managed to keep that out of my presentation.
                               
Ducky Zero, MX Reds    JD40, Jailhouse Blues           GH60
Soarer controller

Offline c3zz

  • Thread Starter
  • Posts: 2
In my university they definitely like when you solve an academic problem, but they also like if you make an application or something other that could be useful for other people. Thank you all for your advice, I'll definitely discuss it with my supervisor.

Offline Degutis

  • Posts: 4
  • Location: Cibolo, Texas
  • Degutis aka de gut is
I'm collecting ideas about Computer Science Bachelor’s degree thesis. In my university the thesis could be anything from theoretical analysis to up-and-running application. Since I like mechanical keyboards I thought doing something regarding that topic, but I would like your help to find out what exactly could be generated into Bachelor’s thesis.

Regarding the topic, I came up with three possible "ideas":

Designing and creating mini pcb for easy access of programming related symbols (different parentheses, punctuation marks, insert, etc).
By that I mean, designing the pcb
(using this quide to write my essay for a thesis) and programming the microcontroller. Regarding that I would like to know if it’s possible to program the microcontroller to output keycodes that usually require ‘shift’ or ‘alt’ (for example ‘$’, ‘[’) without pressing the modifier key? (sry if it’s too dumb question) Also, I would like to design appropriate case and plate for the pcb (if I have enough time for that).

Maybe something about keyboards and security? This topic seems interesting, but since security usually involves knowing the firmware really well it might be too complicated for me. But then again, maybe you guys have any ideas about keyboards and security that might be suitable for computer science student.

Some kind of API for keyboards? I have no idea what it could be for, but maybe there is a need for some kind of API for keyboards (for easy LED controlling?).


Any help or ideas would be appreciated!  ;D




Hi there,

What topic did you choose eventually? Just curious, because I need to write my second research paper and I cannot decide on this one. The previous research paper topic was "Cybersecurity in Computer Studies: Danger of Augmented Reality Keyboards". I used this article as a primer resource: New computer attack mimics user's keystroke characteristics and evades detection (from ScienceDaily).

________________________
Degutis >> de gut is
« Last Edit: Tue, 26 November 2019, 06:47:47 by Degutis »

Offline mariopepper

  • Posts: 4
It's quite a difficult topic as for me but there are a lot of useful info about that so check some of them and use the most common

Offline alexsandro22

  • Posts: 3
How many words do you need for your thesis? I've chosen the similar idea about computer science for my dissertation. There are few hard moments in writing thesis regarding mechanical keyboard - it's lack of info. I've written half of thesis and that's all what I could do. After that I used even computer science assignment help to finish my work in time. Anyway as a result I don't recommend you to take bachelor thesis like mechanical keyboard. Try something more simple
« Last Edit: Fri, 14 February 2020, 03:33:07 by alexsandro22 »

Offline ideus

  • * Exalted Elder
  • Posts: 7654
  • Location: In the middle of nowhere.
  • Björkö.
A thesis may have different scopes depending on the Institution. Check the requirements at yours. A paper is a different thing. It has to have a contribution of a novel idea or application. Where I work this is the same criteria for a thesis. It should have a novel contribution. It is expected to be an innovation and not a discovery; however, both types of contributions are acceptable. Good speed.