VirtualBox gives incorrect keybindings

193

Have you checked your keyboard layout for the system?

Maybe the keyboard layout is not the correct one in Ubuntu and you need to select a new keyboard layout that corresponding to what you use.

You can do so by clicking the user cog wheel > System Settings > Layout Settings, test the layout that fits better and re-test the keys on the system.

enter image description here


I have downloaded the Virtualbox image and started it, the default selected keyboard layout is Italian, which can be correct if you are Italian but that can also be not true. If you are not Italian or using a normal Italian keyboard then you need to change your keyboard's layout.

Also the image is using the Italian updates mirror, you might want to change that in your software sources to your own or a closer country to you.

For that please have a look at this post

Share:
193

Related videos on Youtube

Mark Avenius
Author by

Mark Avenius

Updated on September 18, 2022

Comments

  • Mark Avenius
    Mark Avenius over 1 year

    I am using SandCastle to document an API that I am presently developing. While setting up the endpoints, I have defined the following base class:

    /// <summary>
    /// The base class for all services operating in the API.
    /// </summary>
    /// <typeparam name="T">The type of object to be controlled via the given service</typeparam>
    /// <typeparam name="TPrimaryKey">The type of the primary key for the object to be controlled via the given service</typeparam>
    public abstract class BaseService<T, TPrimaryKey> : ServiceContracts.IBaseService<T, TPrimaryKey>
        where T : class
    {
        /// <summary>
        /// Adds or updates the given item.
        /// </summary>
        /// <param name="item">The item to be added or updated.</param>
        public void AddOrUpdate(T item)
        {
            // perform setup / validation
            PerformAddOrUpdate(item);
            // perform teardown
        }
    
        protected abstract void PerformAddOrUpdate(T item);
    }
    

    I then have various service implentations, like so:

    /// <summary>
    /// Service that allows for <see cref="DataContracts.Product"/> records to be controlled via the API.
    /// </summary>
    public class ProductService : BaseService<Product, long?>, IProductService
    {
        /// <summary>
        /// Creates or updates the given product record. 
        /// If a product with the item's Id exists, that record will be updated. 
        /// Otherwise, a new record will be created.
        /// </summary>
        /// <param name="item">The <see cref="DataContracts.Product"/> to be added or updated.</param>
        protected override void PerformAddOrUpdate(Product item)
        {
            throw new NotImplementedException();
        }
    }
    

    Now, when I generate the documentation, I don't want to expose the protected method(s) because the consumer of the service need not be concerned with those implementation details. However, the summary on ProductService.PerformAddOrUpdate(Product) has the information that allows the caller to know when an add will occur vs. an update (i.e. it has the non-generic summary information).

    Is it possible to do the opposite of <inheritdoc />, so when a consumer sees AddOrUpdate, they will get the documentation for the child class's PerformAddOrUpdate?

    Thanks in advance.

    EDIT Example of the documentation as it is now:

    Documentation Example

    I would like this description (presently "Adds or updates the given item.") to pull from the <summary> for PerformAddOrUpdate for this view only (therefore, each child will show its own <summary> because it will be within its own scope when it is overridden). When looking at the BaseService directly, it should show its <summary> as it does now.

    • tir38
      tir38 over 7 years
      This is an even bigger bummer if you've chosen to encrypt the HD during install and then can't enter correct decrypt pw at launch. No way to change the settings then. Just have to recreate the VM.
    • A T
      A T over 7 years
      @tir38 - You might have some luck with a shared clipboard