Keyboard is easy if you know a little electronics. A laptop keyboard is a matrix keypad. Rows and columns. One key connects one row to one column.
Look up a little thing called the "Teensy" -- it is a microcontroller board. You can (if you are very good at soldering) connect from the keyboard's PCB connector (cut the PCB and solder to the connector while it's still on there -- no shorts, mind you, or it won't work, and the pin pitch is usually insane...) to a Teensy and make a "custom keyboard" that way. You will of course have to program the Teensy but that's the easy part ;) an Arduino Leonardo clone from eBay (also try to find, if you still can, "Arduino Micro" clones -- NOT the "Pro Micro" ones, they won't have enough pins). Same code will run there and work just fine.
Forget the battery, unless you have a reflow toaster oven (or other homemade reflow equipment, or access to the professional gear) -- you will need it for the kinds of chips that let computers talk to batteries, AFAIK. Too much trouble.
I am designing, for a competition on Hackaday, a "made from common modules" "laptop" that I'm calling the AnyTop. The goal is that anyone can build it if they can use a screwdriver, knife, and some sort of drill. (The drill is only needed in one place.) It won't have a battery... but it will be a laptop form factor and it will work. Luke, would some discussion of this be on-topic?