So I have been Arduino Uno for a while and currently I want to use Arduino Uno to use as HID device, My Question is can I still use Arduino Uno like normal as I have been using if I change the firmware etc. Can I just like use Uno like I do right like plug it in and upload sketches and that's it, will I be able to use it normally while using it's HID capability along with just like a arduino Uno with additional functionality? Please Answer this question I really want and need this.
Does your Uno have the 16U2 TTL-to-USB converter? Or e.g. a FTDI, CH340 or Silabs chip? You can only use the Uno as a HID when the board has the 16U2.
Based on my understanding of how it works (no experience), the answer is no. You have to reflash the 16U2 every time if you want to switch between HID / non-HID. See e.g. step 5 on Google Code Archive - Long-term storage for Google Code Project Hosting..
You're probably better of buying a board with native USB (like Leonardo, Micro or Sparkfun ProMicro; there are plenty others) if you want to have both normal and HID functionality.
I'd go with that - why make life REALLY hard when for a few coppers (or dimes or pesos) you can get a board that does it natively?
I agree with the recommendation to get an ATmega32U4-based board.
However, if you like doing things the hard way then I think this project will allow you to take advantage of the full capabilities of the ATmega16U2 on the Uno while still being able to upload to the ATmega328P over USB:
Yeah I think I have 16u2 but I will have to reflash firmware every single time, which I don't want to I don't wanna mess around with all those firmware idk it could be sensitive and I can't buy another arduino for that. It's risky I would rather but something that does that natively